Re: [PATCH, RFC] fasync() BKL pushdown

From: Jonathan Corbet
Date: Fri Jun 20 2008 - 15:09:20 EST


On Fri, 20 Jun 2008 19:55:03 +0200
Andi Kleen <andi@xxxxxxxxxxxxxx> wrote:

> Jonathan Corbet wrote:
>
> > The majority of fasync() functions just call fasync_helper() with a
> > pointer to an fasync_struct reachable from the file structure.
> > Given that (1) the struct file will not go away while fasync() is
> > running, and (2) the VFS-level fasync() stuff is protected with the
> > Big Fasync Lock, I contend that these simple implementations have
> > no need for the BKL.
>
> Not necessarily true, they might require BKL still for fd live time
> issues.

Could you help me out a bit here? I'm even slower than usual when it
comes to VFS stuff. As far as I can tell, the given file cannot go
away during the call to fasync(), as sys_fcntl() holds a reference on
it. Are you saying that something else can happen during that time?

Thanks,

jon
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/