Re: [patch 0/3] 2.6.17 radix-tree: updates and lockless

Benjamin Herrenschmidt
2006-06-20T22:08:10Z

On Tue, 2006-06-20 at 16:48 +0200, Nick Piggin wrote:
> I've finally ported the RCU radix tree over my radix tree direct-data patch
> (the latter patch has been in -mm for a while now).
>
> I've also done the last step required for submission, which was to make a
> small userspace RCU test harness, and wire up the rtth so that it can handle
> multiple threads to test the lockless capability. The RCU test harness uses
> an implementation somewhat like Paul's paper's quiescent state bitmask
> approach; with infrequent quiescent state updates, performance isn't bad.
>
> This quickly flushed out several obscure bugs just when running on my dual
> G5. After fixing those, I racked up about 100 CPU hours of testing on
> SUSE's 64-way Altix without problem. Also passes the normal battery of
> single threaded rtth tests.
>
> I'd like to hear views regarding merging these patches for 2.6.18. Initially
> the lockless code would not come into effect (good - one thing at a time)
> until tree_lock can start getting lifted in -mm and 2.6.19.

I'm all about it. As I said earlier, I discovered that pp64 has been
abusing radix tree expecting them to work lockless in it's interrupt
management for ages (at least insert vs. search). Fortunatley, the race
is rare enough that it might never have been happening in practice but
still... It would kill me to have to add a big global spinlock on
interrupt handling to fix that so yeah, go for it !

Ben.