On Thu, 2009-01-22 at 21:31 -0800, Andrew Morton wrote:
> > On Thu, 22 Jan 2009 22:15:00 -0700 Jonathan Corbet <cor...@lwn.net> wrote:
> > On Thu, 22 Jan 2009 06:51:04 -0800
> > Andrew Morton <a...@linux-foundation.org> wrote:
> > 
> > > OK, replacing a lock_kernel() with a spin_lock(&global_lock) is pretty
> > > straightforwad.  But it's really really sad.  It basically leaves a
> > > great big FIXME in there.  It'd be better to fix it.
> > > 
> > > We don't have a handy lock in struct file which could be borrowed.
> > 
> > Yeah, I noticed that too.
> >  
> > > - We could add one
> > 
> > The problem there is that this bloats struct file, and that seemed like
> > something worth avoiding.
> 
> Not a big deal, really.  There's one of these for each presently-open file.
> It's not like dentries and inodes, which we cache after userspace has
> closed off the file handles.

I have to agree with Christoph. The priority here is breaking down the
BKL and document all the things being protected by it and we've got a
reasonably obvious patch in that direction. Meanwhile, there's not
currently a pressing demand to make fasync in particular scale that I'm
aware of.

Having a single big lock here is quite possibly something we'll want to
fix down the road, agreed, but until we can actually measure it hurting
us, debating about whether to use a bit lock or reuse an existing lock
or add a new lock to all struct files is a bit premature.

-- 
http://selenic.com : development and support for Mercurial and Linux


--
To unsubscribe from this list: send the line "unsubscribe linux-api" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to