[Top] [All Lists]

Re: 4k stacks on 32-bit, 8k stacks on 64-bit

To: David Kewley <kewley@xxxxxxxxxxxxxxx>
Subject: Re: 4k stacks on 32-bit, 8k stacks on 64-bit
From: Eric Sandeen <sandeen@xxxxxxx>
Date: Thu, 26 May 2005 12:34:26 -0500
Cc: linux-xfs@xxxxxxxxxxx
In-reply-to: <200505252241.26815.kewley@xxxxxxxxxxxxxxx>
References: <200505252241.26815.kewley@xxxxxxxxxxxxxxx>
Sender: linux-xfs-bounce@xxxxxxxxxxx
User-agent: Mozilla Thunderbird 1.0 (X11/20041206)
David Kewley wrote:
How is xfs doing these days with 4k stacks on x86 systems, or 8k stacks on x86_64?

The former may be dicey in some situations (stacking - nfs, volume managers, etc), I'd expect the latter to be OK.

I'm running RHEL 4, with xfs enabled in a kernel directly derived from the RHEL 4 kernel. I'm on x86_64, and until today, I thought I was safe stackwise because x86_64 keeps 8k stacks even when x86 is 4k. But Dave Jones has confirmed that stack objects are twice as big on x86_64 as on x86,

Only some stack objects will be bigger - longs (and pointers) will be 64 bits instead of 32. But I don't think you'll see a wholesale 2x increase on average. x86_64 also passes args differently and that uses a little stack space IIRC.

Further, x86_64 does not move softirqs to the irq stack today, so that can add to the troubles.

But overall it's my (un?)educated guess that x86_64 should be in better shape.

so I'm in as much danger for stack overflow as x86 is with 4k stacks.

Agreed so far?

How big is the danger, and what can I do to avoid it?

If you just run local xfs without stacking other drivers above/below it in the IO chain, you'll be less likely to hit a problem.


<Prev in Thread] Current Thread [Next in Thread>