Re: [PATCH, RFC] Remove fasync() BKL usage, take 3325

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



> 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.

Also it might be that it's even worse than the BKL.

> 
> We don't have a handy lock in struct file which could be borrowed.
> 
> - We could add one
> 
> - We could borrow file->f_path.dentry->d_inode->i_lock
> 
> - We could convert that field to long and use bitops (sounds nice?)

It would still require a bitlock because some state in the low
level fasync needs to be protected.

Oleg has a proposal to do this using a flag bit which seemed
reasonable to me.

-Andi

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

[Index of Archives]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux