Re: [PATCH RFC] Priority boosting for preemptible RCU

!MAILaRCHIVE_VOTE_RePLACE
Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]
To: Andrew Morton <akpm@...>
Cc: Andy Whitcroft <apw@...>, <linux-kernel@...>, <linux-rt-users@...>, <mingo@...>, <dipankar@...>, <josht@...>, <tytso@...>, <dvhltc@...>, <tglx@...>
Date: Wednesday, August 22, 2007 - 5:22 pm

On Wed, Aug 22, 2007 at 12:43:40PM -0700, Andrew Morton wrote:

Good point -- will add something like the following in the next rev:

	RCU priority boosting is needed when running a workload that might
	include CPU-bound user tasks running at realtime priorities with
	a CONFIG_PREEMPT build of the kernel.  In this situation, RCU
	priority boosting is needed to avoid OOM.

Does that cover it?


In the near term, because it has not had the amount of testing time that
the rest of RCU has had, so would want a way to disable it easily.  It
also adds a small bit of code to some hot code paths -- I don't believe
this to be measurable, let alone significant, but...


Good point!


These are very restricted things that are only invoked in a few places,
but certainly doesn't hurt to add the "armor".  Will do.


Agreed.


Will fix.


Hmmm...  I should be able to fold this into PREEMPT_RCU_BOOST_STATS,
now that you mention it.  Zero to disable, other number to specify
interval.  And I should move this to the kernel-hacking group as
well.  Would that help?


OK.


Not anymore, good catch, will fix.


Good point!!!


Old habits die hard.  ;-)


Will fix.


Fair enough.


for_each_online_cpu() would not cut it here, but for_each_present_cpu()
might -- as long as no platforms physically hotplug the CPUs.


OK, will make functions of these as well...


OK, will fix.


Even for static initializers for top-level variables?


Good point, missed this one on conversion from -rt.


Or dump the line entirely in favor of rcu_dereference() in the initializer
of idx.


You lost me on this one...  You presumably aren't asking it to be converted
to a macro.  You want it manually inlined where called?


OK.  I clearly copied the wrong code (probably long ago).


Feels a bit scary, but could do that.


Fair enough!


OK.


Later patch enables this loop to just sleep when there is nothing
to boost.  That said, making this "HZ" rather than "HZ / 100" would
indeed be appropriate.


Interesting point.  At present, we have a -lot- more runtime without
RCU priority boosting than with.  On the other hand, if life is so hard
at boot time that one cannot create a task, probably indeed best to
just give up gracefully.  Will fix.

-
Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]

Messages in current thread:
[PATCH RFC] Priority boosting for preemptible RCU, Paul E. McKenney, (Wed Aug 22, 3:02 pm)
Re: [PATCH RFC] Priority boosting for preemptible RCU, Gautham R Shenoy, (Thu Aug 23, 12:26 am)
Re: [PATCH RFC] Priority boosting for preemptible RCU, Paul E. McKenney, (Thu Aug 23, 4:54 am)
Re: [PATCH RFC] Priority boosting for preemptible RCU, Gautham R Shenoy, (Thu Aug 23, 6:14 am)
Re: [PATCH RFC] Priority boosting for preemptible RCU, Paul E. McKenney, (Thu Aug 23, 9:15 am)
Re: [PATCH RFC] Priority boosting for preemptible RCU, Gautham R Shenoy, (Thu Aug 23, 10:22 am)
Re: [PATCH RFC] Priority boosting for preemptible RCU, Paul E. McKenney, (Thu Aug 23, 11:55 am)
Re: [PATCH RFC] Priority boosting for preemptible RCU, Gautham R Shenoy, (Fri Aug 24, 4:21 am)
Re: [PATCH RFC] Priority boosting for preemptible RCU, Paul E. McKenney, (Fri Aug 24, 1:27 pm)
Re: [PATCH RFC] Priority boosting for preemptible RCU, Andrew Morton, (Wed Aug 22, 3:43 pm)
Re: [PATCH RFC] Priority boosting for preemptible RCU, Andy Whitcroft, (Fri Aug 24, 6:09 am)
Re: [PATCH RFC] Priority boosting for preemptible RCU, Paul E. McKenney, (Wed Aug 22, 5:22 pm)
Re: [PATCH RFC] Priority boosting for preemptible RCU, Andrew Morton, (Wed Aug 22, 5:41 pm)
Re: [PATCH RFC] Priority boosting for preemptible RCU, Paul E. McKenney, (Wed Aug 22, 6:00 pm)
Re: [PATCH RFC] Priority boosting for preemptible RCU, Josh Triplett, (Wed Aug 22, 4:23 pm)