public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH RFCv2 0/8] sched: Enforce order of leaf CFS runqueues (and list cleanup)
@ 2011-07-27 19:10 Jan H. Schönherr
  2011-07-27 19:10 ` [PATCH RFCv2 1/8] list, treewide: Rename __list_del() to __list_link() Jan H. Schönherr
                   ` (8 more replies)
  0 siblings, 9 replies; 15+ messages in thread
From: Jan H. Schönherr @ 2011-07-27 19:10 UTC (permalink / raw)
  To: Ingo Molnar, Peter Zijlstra
  Cc: Paul Turner, Paul E. McKenney, Dipankar Sarma, linux-kernel,
	Jan H. Schönherr

Code review showed, that the hierarchical order of the leaf
CFS runqueues introduced by commit 67e8625 ("sched: Introduce 
hierarchal order on shares update list") is not yet achieved.
(See description of third patch for an example.)

During the discussion of possible solutions [1], Paul Turner
mentioned an "ideal approach" to solve that.

This is the second iteration of the patch-set that tries to
realize this "ideal" approach. 

The first iteration got some positive feedback from Paul E. McKenney
regarding its "advanced" RCU usage. His negative feedback -- missing
comments -- should be addressed, now.

Changes since v1:
- rebased against v3.0
- included follow-up patches 4 to 8 (demonstrating the purpose of patch 1)
- patch 1 should be complete this time
- moved more functionality to rculist.h (see patch 2+3)
- more comments everywhere


Patch 1: After inventing __list_link(), I realized, that this
	 function already existed, but with a different name.

	 This patch just does some renaming. Not really needed,
	 but if I use the old naming in patch 2 it's really 
	 hard to understand what's actually going on.

	 It also helps to increase the readability of the existing
	 code, see patches 6-8.

Patch 2: This introduces new list functions to splice RCU lists
	 and handle deleted RCU list entries.

Patch 3: The actual bugfix.

Patch 4+5: Follow-ups to patch 1. Some more renaming and use of
	   appropriate functions.

Patch 6: Another follow-up to patch 1, improving the readability of
	 the list routines a bit.

Patch 7+8: Follow-ups to patch 2. Make use of the introduced
           functionality in the already existing code.


Comments?

Regards
Jan


[1] http://lkml.org/lkml/2011/7/18/86



Jan H. Schönherr (8):
  list, treewide: Rename __list_del() to __list_link()
  rcu: More rcu-variants for list manipulation
  sched: Handle on_list ancestor in list_add_leaf_cfs_rq()
  list, treewide: Rename __list_del_entry() to __list_del()
  treewide: Use __list_del() instead of __list_link()
  list: Make use of __list_link()
  rcu: Make use of __list_link() and __list_link_rcu()
  rcu: Rewrite and rename list_splice_init_rcu()

 drivers/char/ipmi/ipmi_msghandler.c  |    2 +-
 drivers/firewire/core-topology.c     |    2 +-
 drivers/gpu/drm/ttm/ttm_page_alloc.c |    4 +-
 fs/btrfs/volumes.c                   |    2 +-
 include/linux/list.h                 |   80 ++++++++----------
 include/linux/rculist.h              |  155 +++++++++++++++++++++++++++++----
 kernel/mutex.h                       |    2 +-
 kernel/sched_fair.c                  |   93 ++++++++++++++++-----
 kernel/timer.c                       |    2 +-
 lib/list_debug.c                     |    8 +-
 net/ipv4/cipso_ipv4.c                |    2 +-
 11 files changed, 257 insertions(+), 95 deletions(-)

-- 
1.7.6


^ permalink raw reply	[flat|nested] 15+ messages in thread

end of thread, other threads:[~2011-08-03 21:36 UTC | newest]

Thread overview: 15+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2011-07-27 19:10 [PATCH RFCv2 0/8] sched: Enforce order of leaf CFS runqueues (and list cleanup) Jan H. Schönherr
2011-07-27 19:10 ` [PATCH RFCv2 1/8] list, treewide: Rename __list_del() to __list_link() Jan H. Schönherr
2011-07-27 19:10 ` [PATCH RFCv2 2/8] rcu: More rcu-variants for list manipulation Jan H. Schönherr
2011-07-29  8:41   ` Jan Schönherr
2011-08-02 13:39     ` Peter Zijlstra
2011-07-27 19:10 ` [PATCH RFCv2 3/8] sched: Handle on_list ancestor in list_add_leaf_cfs_rq() Jan H. Schönherr
2011-08-02 13:50   ` Peter Zijlstra
2011-08-03 20:44     ` Jan Schönherr
2011-07-27 19:10 ` [PATCH RFCv2 4/8] list, treewide: Rename __list_del_entry() to __list_del() Jan H. Schönherr
2011-07-27 19:10 ` [PATCH RFCv2 5/8] treewide: Use __list_del() instead of __list_link() Jan H. Schönherr
2011-07-27 19:10 ` [PATCH RFCv2 6/8] list: Make use " Jan H. Schönherr
2011-07-27 19:10 ` [PATCH RFCv2 7/8] rcu: Make use of __list_link() and __list_link_rcu() Jan H. Schönherr
2011-07-27 19:10 ` [PATCH RFCv2 8/8] rcu: Rewrite and rename list_splice_init_rcu() Jan H. Schönherr
2011-08-03 21:05 ` [PATCH RFCv2 0/8] sched: Enforce order of leaf CFS runqueues (and list cleanup) Jan Schönherr
2011-08-03 21:35   ` Peter Zijlstra

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox