[RFC v0 0/3] Simple wait queue support

From: Daniel Wagner
Date: Wed Aug 05 2015 - 09:41:31 EST


Hi,

It's a while since the last attempt by Paul to get simple wait ready
for mainline [1]. At the last realtime workshop it was discussed how
the swait implementation could be made preempt aware. Peter posted an
untested version of it here [2].

In order to test it, I used Paul's two patches which makes completion
and rcu using swait instead of wait. Some small renamings were
necessary to get it working, e.g. s/swait_head/swait_queue_head/.

My test system didn't crash or showed any obvious defects, so I
decided to apply some benchmarks utilizing mmtests. I have picked some
random tests (kernbench aim9 vmr-stream ebizz), which didn't require a
lot of tinker around to get them running. The results are here:

baseline: v4.2-rc5-22-ged8bbba

http://monom.org/mmtests-swait-peterz-v1/

I don't think the numbers are trustworthy yet. Mabye one could read
it as it doesn't explode and the numbers aren't to far away from
baseline. I need to figure out which tests are fitting for these
patches and what are the 'right' parameters for them.

Sebastian had some comments on Peter's patch. I haven't addressed them
yet [3].

cheers,
daniel

[1] https://lwn.net/Articles/616857/
[2] http://www.spinics.net/lists/linux-rt-users/msg12703.html
[3] https://www.mail-archive.com/linux-kernel@xxxxxxxxxxxxxxx/msg832142.html

Paul Gortmaker (2):
sched/completion: convert completions to use simple wait queues
rcu: use simple wait queues where possible in rcutree

Peter Zijlstra (1):
KVM: use simple waitqueue for vcpu->wq

include/linux/completion.h | 8 +--
include/linux/swait.h | 172 +++++++++++++++++++++++++++++++++++++++++++++
kernel/rcu/tree.c | 13 ++--
kernel/rcu/tree.h | 6 +-
kernel/rcu/tree_plugin.h | 18 ++---
kernel/sched/Makefile | 2 +-
kernel/sched/completion.c | 32 ++++-----
kernel/sched/swait.c | 122 ++++++++++++++++++++++++++++++++
8 files changed, 334 insertions(+), 39 deletions(-)
create mode 100644 include/linux/swait.h
create mode 100644 kernel/sched/swait.c

--
2.4.3

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/