Re: [PATCH 5/6] IMA: use rbtree instead of radix tree for inodeinformation cache

From: Linus Torvalds
Date: Wed Oct 20 2010 - 18:27:56 EST


On Wed, Oct 20, 2010 at 3:05 PM, Dave Chinner <david@xxxxxxxxxxxxx> wrote:
>
> /me wanders off to look at converting the xfs buffer cache rbtrees
> to RCU....

Look out for livelocks, though. And yes, they can happen.

So rather than a loop, one option is to do basically

rcu_read_lock();
seq = read_seqbegin();

.. do lookup ..

need_lock = read_seqretry(seq);
rcu_read_unlock();

if (need_lock) {
get_real_lock();

.. do lookup ..

drop_real_lock();
}

which just falls back to a locked access if the rcu model doesn't work.

Linus
--
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/