[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <1311793825-31933-1-git-send-email-schnhrr@cs.tu-berlin.de>
Date: Wed, 27 Jul 2011 21:10:17 +0200
From: Jan H. Schönherr <schnhrr@...tu-berlin.de>
To: Ingo Molnar <mingo@...e.hu>, Peter Zijlstra <peterz@...radead.org>
Cc: Paul Turner <pjt@...gle.com>,
"Paul E. McKenney" <paulmck@...ux.vnet.ibm.com>,
Dipankar Sarma <dipankar@...ibm.com>,
linux-kernel@...r.kernel.org,
Jan H. Schönherr <schnhrr@...tu-berlin.de>
Subject: [PATCH RFCv2 0/8] sched: Enforce order of leaf CFS runqueues (and list cleanup)
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
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists