public inbox for linux-rt-users@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH tip v4 0/5] Simple wait queue support
@ 2015-11-24 13:03 Daniel Wagner
  2015-11-24 13:03 ` [PATCH tip v4 1/5] wait.[ch]: Introduce the simple waitqueue (swait) implementation Daniel Wagner
                   ` (4 more replies)
  0 siblings, 5 replies; 11+ messages in thread
From: Daniel Wagner @ 2015-11-24 13:03 UTC (permalink / raw)
  To: linux-kernel, linux-rt-users
  Cc: Boqun Feng, Daniel Wagner, Marcelo Tosatti, Paolo Bonzini,
	Paul E. McKenney, Paul Gortmaker, Peter Zijlstra (Intel),
	Thomas Gleixner

Hi,

In v3 we had some discussion concerning the open coded wait loop in
arch/powerpc/kvm/book3s_hv.c. If I understood it correctly, the
current version is okay though it wouldn't hurt to address the open
coded style eventually. Since I can't really test it and it looks
fragile I left it as it is.

swake_up_locked() is now available as non loop version as requested
by Boqun.

The API naming discussion faded out and the decision is on Peter.  I
assume since he wrote it initially it stays as it is.

There is now a new patch which tries to address the compile time type
check assertion. I added the checks to a couple of existing macros and
not on the complete API. If we want this we need to add macro for all
function calls I guess.

Obviously, I have rebased it and this time it is against tip/sched/core.
I noticed there are some smaller code refactorings ongoing, so this
version is not going to apply cleanly against mainline. There is
nothing particularly difficult to fix up though. In case someone
is interested I can post a version of it.

These patches are against

  tip/sched/core e73e85f0593832aa583b252f9a16cf90ed6d30fa

also available as git tree:

  git://git.kernel.org/pub/scm/linux/kernel/git/wagi/linux.git tip-swait

cheers,
daniel

changes since v3
 - rebased it on tip/sched/core (KVM bits have changed slightly)
 - added compile time type check assertion
 - added non lazy version of swake_up_locked()

changes since v2
 - rebased again on tip/master. The patches apply
   cleanly on v4.3-rc6 too.
 - fixed up mips
 - reordered patches to avoid lockdep warning when doing bissect.
 - remove unnecessary initialization of rsp->rda in rcu_init_one().

changes since v1 (PATCH v0)
 - rebased and fixed some typos found by cross building
   for S390, ARM and powerpc. For some unknown reason didn't catch
   them last time.
 - dropped completion patches because it is not clear yet
   how to handle complete_all() calls hard-irq/atomic contexts
   and swake_up_all.

changes since v0 (RFC v0)
 - promoted the series to PATCH state instead of RFC
 - fixed a few fallouts with build all and some cross compilers
   such ARM, PowerPC, S390.
 - Added the simple waitqueue transformation for KVM from -rt
   including some numbers requested by Paolo.
 - Added a commit message to PeterZ's patch. Hope he likes it.

[I got the numbering wrong in v1, so instead 'PATCH v1' you find it
 as 'PATCH v0' series]

v3: https://lwn.net/Articles/661415/
v2: https://lwn.net/Articles/660628/
v1: https://lwn.net/Articles/656942/
v0: https://lwn.net/Articles/653586/

Daniel Wagner (2):
  [s]wait: Add compile time type check assertion
  rcu: Do not call rcu_nocb_gp_cleanup() while holding rnp->lock

Marcelo Tosatti (1):
  KVM: use simple waitqueue for vcpu->wq

Paul Gortmaker (1):
  rcu: use simple wait queues where possible in rcutree

Peter Zijlstra (Intel) (1):
  wait.[ch]: Introduce the simple waitqueue (swait) implementation

 arch/arm/kvm/arm.c                  |   4 +-
 arch/arm/kvm/psci.c                 |   4 +-
 arch/mips/kvm/mips.c                |   8 +-
 arch/powerpc/include/asm/kvm_host.h |   4 +-
 arch/powerpc/kvm/book3s_hv.c        |  23 +++--
 arch/s390/include/asm/kvm_host.h    |   2 +-
 arch/s390/kvm/interrupt.c           |   8 +-
 arch/x86/kvm/lapic.c                |   6 +-
 include/linux/compiler.h            |   4 +
 include/linux/kvm_host.h            |   5 +-
 include/linux/swait.h               | 174 ++++++++++++++++++++++++++++++++++++
 include/linux/wait.h                |   2 +
 kernel/rcu/tree.c                   |  24 ++---
 kernel/rcu/tree.h                   |  12 +--
 kernel/rcu/tree_plugin.h            |  32 ++++---
 kernel/sched/Makefile               |   2 +-
 kernel/sched/swait.c                | 123 +++++++++++++++++++++++++
 virt/kvm/async_pf.c                 |   4 +-
 virt/kvm/kvm_main.c                 |  17 ++--
 19 files changed, 387 insertions(+), 71 deletions(-)
 create mode 100644 include/linux/swait.h
 create mode 100644 kernel/sched/swait.c

-- 
2.4.3


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

end of thread, other threads:[~2015-11-27 20:10 UTC | newest]

Thread overview: 11+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-11-24 13:03 [PATCH tip v4 0/5] Simple wait queue support Daniel Wagner
2015-11-24 13:03 ` [PATCH tip v4 1/5] wait.[ch]: Introduce the simple waitqueue (swait) implementation Daniel Wagner
2015-11-24 13:03 ` [PATCH tip v4 2/5] [s]wait: Add compile time type check assertion Daniel Wagner
2015-11-26 12:22   ` Daniel Wagner
2015-11-27 20:10     ` Thomas Gleixner
2015-11-24 13:03 ` [PATCH tip v4 3/5] KVM: use simple waitqueue for vcpu->wq Daniel Wagner
2015-11-24 13:03 ` [PATCH tip v4 4/5] rcu: Do not call rcu_nocb_gp_cleanup() while holding rnp->lock Daniel Wagner
2015-11-24 15:52   ` Boqun Feng
2015-11-25  1:01     ` Boqun Feng
2015-11-25 10:29       ` Daniel Wagner
2015-11-24 13:03 ` [PATCH tip v4 5/5] rcu: use simple wait queues where possible in rcutree Daniel Wagner

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