Re: [PATCH v2 1/2] defer: Update Hlist RCU API table

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

 



On Mon, Dec 10, 2018 at 12:48:43AM +0900, Akira Yokosawa wrote:
> On 2018/12/02 07:27:09 -0800, Paul E. McKenney wrote:
> > On Mon, Dec 03, 2018 at 12:11:20AM +0900, Akira Yokosawa wrote:
> >> Paul,
> >>
> >> IIUC, your work on RCU API consolidation seems to affect Section 9.5.4,
> >> especially Table 9.3.
> >>
> >> I'm not sure, but one idea would be to keep Table 9.3 for future
> >> reference and add a new one representing consolidated set of API.
> >>
> >> Just a reminder.
> > 
> > And a timely one!  Please see attached for a possible LWN article.
> > Though the LWN editors might quite rightly decide that a third
> > RCU API article is one too many, in which case I will blog it.
> > 
> > But either way, thoughts?
> 
> Hi Paul,
> 
> I took a while to skim through the article.
> 
> My first thought was "Wow, the big API table has grown too big to
> view in a single window of the browser!".

Indeed, and that is not necessarily a good thing, is it now?  ;-)

But in the next version, I will be able to drop the RCU-bh and
RCU-sched columns, which might make it fit once more.

> For perfbook, it would be quite hard to shrink it in an A4 page.

For perfbook, we should omit the RCU-bh and RCU-sched columns to
start with, but with a citation of the LWN article.  Jon Corbet
indicated some interest, so maybe it will actually appear!

> On read-side APIs, I could not get what "the RCU-bh and RCU-sched
> read-side APIs may now be used with the vanilla RCU update-side APIs"
> really means.  Are they also consolidated in their implementation,
> but kept for code readability and for static analysis?

No and yes. For example, rcu_read_lock_sched() is stll preempt_disable()
without any rcu_read_lock(), but a plain old synchronize_rcu() will wait
for both.  As you say, I am currently keeping them for code readability
and static analysis, but might converge them later, depending on how
things go.

> I looked through LWN articles of RCU kernel APIs and see that
> current Section 9.5.4 has not updated so much since the first
> version in 2008 (https://lwn.net/Articles/264090/).
> 
> Do you have plan to reflect all the updates mentioned in the followup
> articles in 2010, 2014, as well this one in this section?

I plan a heavy edit and reorganization of Section 9.5.  It is old and
is in pretty bad shape.  Probably not quite as profound a change as
for the old memory-ordering section, but lots of update.  I have a
printout that I have been taking to the gym with me, and it is very
heavily marked up.  ;-)

I also plan to add a locking and an RCU section to the memory-ordering
chapter.  Alan Stern's RCU semantics are incredibly elegant!

> Yes, documentation in linux/Documentation/RCU/ looks already ready for
> v4.21/5.0 to reflect the update-side consolidation.

Thanks mostly to Joel Fernandes, by the way.  ;-)

> So I don't think perfbook needs to cover all of the flavors/APIs.
> Just referencing the kernel Documents and LWN articles for the complete
> view should be good enough, I suppose.

Agreed!

> I'll keep posting if I find something to feedback.

Looking forward to seeing whatever feedback you might have!

							Thanx, Paul




[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Linux NFS]     [Linux NILFS]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux