From mboxrd@z Thu Jan 1 00:00:00 1970 From: Andrew Morton Subject: Re: [PATCH] factor out common code around ->follow_link invocation Date: Thu, 13 Jan 2005 16:34:49 -0800 Message-ID: <20050113163449.61b1be2a.akpm@osdl.org> References: <20050113165353.GB24377@lst.de> <20050113160634.0fd416b7.akpm@osdl.org> <20050114002121.GK26051@parcelfarce.linux.theplanet.co.uk> Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Cc: hch@lst.de, linux-fsdevel@vger.kernel.org Return-path: Received: from fw.osdl.org ([65.172.181.6]:50350 "EHLO mail.osdl.org") by vger.kernel.org with ESMTP id S261725AbVANAaV (ORCPT ); Thu, 13 Jan 2005 19:30:21 -0500 To: Al Viro In-Reply-To: <20050114002121.GK26051@parcelfarce.linux.theplanet.co.uk> Sender: linux-fsdevel-owner@vger.kernel.org List-Id: linux-fsdevel.vger.kernel.org Al Viro wrote: > > On Thu, Jan 13, 2005 at 04:06:34PM -0800, Andrew Morton wrote: > > Christoph Hellwig wrote: > > > > > > +static inline int __do_follow_link(struct dentry *dentry, struct nameidata *nd) > > > > Now there's a fairly insane amount of inlining going on around > > do_follow_link() and __do_follow_link(). It makes my fingers itchy. > > > > ow. __do_follow_link inlines __vfs_follow_link inlines walk_init_root and > > __do_follow_link has maybe three callsites. > > No. These guys are in the middle of mutual recursion. So in this > particular case we *do* need inlining. How can you do mutually-recursive code with inline functions without generating an infinite amount of code? Wanna spell it out a bit more please?