xfs
[Top] [All Lists]

Re: review: allocate alloc args

To: Eric Sandeen <sandeen@xxxxxxxxxxx>
Subject: Re: review: allocate alloc args
From: David Chinner <dgc@xxxxxxx>
Date: Thu, 26 Apr 2007 09:11:31 +1000
Cc: David Chinner <dgc@xxxxxxx>, Christoph Hellwig <hch@xxxxxxxxxxxxx>, xfs-dev <xfs-dev@xxxxxxx>, xfs-oss <xfs@xxxxxxxxxxx>
In-reply-to: <462E3DEA.1070907@sandeen.net>
References: <20070419073216.GT48531920@melbourne.sgi.com> <20070423212201.GB13572@infradead.org> <20070423223257.GM32602149@melbourne.sgi.com> <462E3DEA.1070907@sandeen.net>
Sender: xfs-bounce@xxxxxxxxxxx
User-agent: Mutt/1.4.2.1i
On Tue, Apr 24, 2007 at 12:27:06PM -0500, Eric Sandeen wrote:
> David Chinner wrote:
> > On Mon, Apr 23, 2007 at 10:22:01PM +0100, Christoph Hellwig wrote:
> 
> >> I don't like doing even more dynamic allocations that deep
> >> down in the stack.
> > 
> > I'm not a big fan of it either, but I don't really see any other
> > option here. We need a bunch of temporary space for structures
> > *somewhere*, and if there isn't enough stack space then it's
> > got to come frm somewhere else.
> 
> How about a global array of such structures which can be accessed as
> needed.  :)
> 
> /me runs
> 
> I think Christoph is on the right track here; find ways to make the
> functions use less stack down the chain, either by breaking them up,
> breaking up the large structures into what's actually needed, or
> something along those types of refactoring lines...

If that is our only option, then I can't see us making any significant
impact on the stack usage without a substantial rewrite of the code.
Given how critical it is for this code to be correct, QA time for
any substantial code change here is going to be measured in months....

So this approach is not going to give us any relief in the short/medium
term and hence I have to question the value of doing such a rework
because in the medium/long term ia32 is no longer important.

Cheers,

Dave.
-- 
Dave Chinner
Principal Engineer
SGI Australian Software Group


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