Messages in this thread | | | Date | Fri, 4 May 2018 17:26:40 +0100 | From | Al Viro <> | Subject | Re: Introduce atomic_dec_and_lock_irqsave() |
| |
On Fri, May 04, 2018 at 06:21:02PM +0200, Peter Zijlstra wrote: > On Fri, May 04, 2018 at 06:07:26PM +0200, Sebastian Andrzej Siewior wrote: > > > do you intend to kill refcount_dec_and_lock() in the longterm? > > You meant to say atomic_dec_and_lock() ? Dunno if we ever get there, but > typically dec_and_lock is fairly refcounty, but I suppose it is possible > to have !refcount users, in which case we're eternally stuck with it.
Yes, there are - consider e.g.
void iput(struct inode *inode) { if (!inode) return; BUG_ON(inode->i_state & I_CLEAR); retry: if (atomic_dec_and_lock(&inode->i_count, &inode->i_lock)) {
inode->i_count sure as hell isn't refcount_t fodder...
| |