|
|
|
|
|
|
|
|
|
|
xen-devel
RE: [Xen-devel] [xen-unstable test] 6947: regressions - trouble: broken/
> No, I think you just misunderstand RCU. What I (and now also you, a bit
> independently ;-) have described is how to synchronise writers against
> other
> writers -- e.g., someone inserting concurrently with deleting, as you
> describe above. What RCU is all about is synchronising *readers*
> against
> writers, without needing a lock. And we still need it because the
> radix-tree
> updates will happen under d->event_lock, which the readers in IRQ
> context
> will not be holding. The main thing that RCU generally needs is that,
> when a
> node is deleted from a structure (radix-tree in this case) it cannot be
> freed until an RCU grace period because concurrent lock-free readers
> may
> still hold a pointer to it. There are also other details to consider
> but
> actually the whole RCU issue appears to be handled by Linux's radix-
> tree
> implementation -- we just need to pull an up-to-date version across
> into
> Xen.
I won't claim to understand RCU very well either, but I
actually explicitly chose a pre-RCU version of the Linux
radix tree code because tmem (which was the only user of
the radix tree code at the time IIRC) is write-often
AND read-often and my understanding of RCU is that it
works best for read-often-write-infrequently trees.
Dan
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel
|
<Prev in Thread] |
Current Thread |
[Next in Thread>
|
- Re: [Xen-devel] [xen-unstable test] 6947: regressions - trouble: broken/fail/pass, (continued)
- Re: [Xen-devel] [xen-unstable test] 6947: regressions - trouble: broken/fail/pass, Keir Fraser
- Re: [Xen-devel] [xen-unstable test] 6947: regressions - trouble: broken/fail/pass, Jan Beulich
- Re: [Xen-devel] [xen-unstable test] 6947: regressions - trouble: broken/fail/pass, Keir Fraser
- Re: [Xen-devel] [xen-unstable test] 6947: regressions - trouble: broken/fail/pass, Keir Fraser
- Re: [Xen-devel] [xen-unstable test] 6947: regressions - trouble: broken/fail/pass, Jan Beulich
- Re: [Xen-devel] [xen-unstable test] 6947: regressions - trouble: broken/fail/pass, Keir Fraser
- RE: [Xen-devel] [xen-unstable test] 6947: regressions - trouble: broken/fail/pass,
Dan Magenheimer <=
- Re: [Xen-devel] [xen-unstable test] 6947: regressions - trouble: broken/fail/pass, Keir Fraser
- Re: [Xen-devel] [xen-unstable test] 6947: regressions - trouble: broken/fail/pass, Jan Beulich
- Re: [Xen-devel] [xen-unstable test] 6947: regressions - trouble: broken/fail/pass, Keir Fraser
- Re: [Xen-devel] [xen-unstable test] 6947: regressions - trouble: broken/fail/pass, Jan Beulich
- Re: [Xen-devel] [xen-unstable test] 6947: regressions - trouble: broken/fail/pass, Keir Fraser
|
|
|
|
|