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

Hi,

New week, new version!

v5 fixes the wrong API usage in ("rcu: Do not call
rcu_nocb_gp_cleanup() while holding rnp->lock") as reported by Boqun.

The compile time assertion in previous version (patch #2) didn't hold
at all. So I tried to macrofying most of the swait/wait API which
looks really ugly and therefore isn't really an option[1]. Instead
'-Werror=incompatible-pointer-types' is introduced in patch 2. I
compiled s390, arm, powerpc, mips and alpha with allyesconfig, and all
is fine. It doesn't look like that this will trigger a lot of new
errors.

The rest has not changed. Happy reviewing. I wouldn't mind acks,
reviewed or even sobs :)

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

[1] https://www.mail-archive.com/linux-kernel@vger.kernel.org/msg1029072.html

changes since v4:
 - replaced patch #2 which tried to force to compiler to
   exit with an error by using compile time assertion type
   check macros. Instead use -Werror=incompatible-pointer-types
   to tell the compiler to barf loudly.
 - fixed wrong API usage in patch 4 as reported by Boqun.

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]

v4: https://lwn.net/Articles/665655/
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):
  kbuild: Add option to turn incompatible pointer check into error
  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

 Makefile                            |   4 +
 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/kvm_host.h            |   5 +-
 include/linux/swait.h               | 172 ++++++++++++++++++++++++++++++++++++
 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 ++++++++++++++++++++++++++
 lib/Kconfig.debug                   |   7 ++
 virt/kvm/async_pf.c                 |   4 +-
 virt/kvm/kvm_main.c                 |  17 ++--
 19 files changed, 390 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:[~2016-01-27 12:09 UTC | newest]

Thread overview: 11+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-11-30 13:38 [PATCH tip v5 0/5] Simple wait queue support Daniel Wagner
2015-11-30 13:38 ` [PATCH tip v5 1/5] wait.[ch]: Introduce the simple waitqueue (swait) implementation Daniel Wagner
2015-11-30 13:38 ` [PATCH tip v5 2/5] kbuild: Add option to turn incompatible pointer check into error Daniel Wagner
2015-11-30 15:26   ` Daniel Wagner
2015-11-30 17:38     ` Paul E. McKenney
2015-11-30 18:52       ` Daniel Wagner
2016-01-27 12:03   ` Thomas Gleixner
2015-11-30 13:38 ` [PATCH tip v5 3/5] KVM: use simple waitqueue for vcpu->wq Daniel Wagner
2015-11-30 13:38 ` [PATCH tip v5 4/5] rcu: Do not call rcu_nocb_gp_cleanup() while holding rnp->lock Daniel Wagner
2015-11-30 13:38 ` [PATCH tip v5 5/5] rcu: use simple wait queues where possible in rcutree Daniel Wagner
2016-01-27 12:08 ` [PATCH tip v5 0/5] Simple wait queue support Peter Zijlstra

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).