Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1654162

[PATCH 0/2] srcu: allow using same SRCU in process and interrupt context

From Paolo Bonzini <pbonzini@redhat.com>
Newsgroups linux.kernel
Subject [PATCH 0/2] srcu: allow using same SRCU in process and interrupt context
Date 2017-05-31 14:10 +0200
Message-ID <tNaBQ-4zj-11@gated-at.bofh.it> (permalink)
Organization linux.* mail to news gateway

Show all headers | View raw


Linu Cherian reported a WARN in cleanup_srcu_struct when shutting
down a guest that has iperf running on a VFIO assigned device.

This happens because irqfd_wakeup calls srcu_read_lock(&kvm->irq_srcu)
in interrupt context, while a worker thread does the same inside
kvm_set_irq.  If the interrupt happens while the worker thread is
executing __srcu_read_lock, lock_count can fall behind.
(KVM is using SRCU here not really for the "sleepable" part, but
rather due to its faster detection of grace periods).

As discussed with Paul, this patch changes __this_cpu_inc to this_cpu_inc
in __srcu_read_lock, thus removing the restriction that SRCU can only
be used in process context.

Split in two parts so that srcuclassic and header changes can be
backported to stable releases.  Because of the backport, the two commit
messages are more or less cut-and-pasted.

Ok for 4.12?

Paolo

Paolo Bonzini (2):
  srcutiny, srcutree: allow using same SRCU in process and interrupt context
  srcuclassic: allow using same SRCU in process and interrupt context

 include/linux/srcu.h     |  2 --
 include/linux/srcutiny.h |  2 +-
 kernel/rcu/rcutorture.c  |  4 ++--
 kernel/rcu/srcu.c        |  5 ++---
 kernel/rcu/srcutiny.c    | 21 ++++++++++-----------
 kernel/rcu/srcutree.c    |  5 ++---
 6 files changed, 17 insertions(+), 22 deletions(-)

-- 
1.8.3.1

Back to linux.kernel | Previous | Next — Next in thread | Find similar | Unroll thread


Thread

[PATCH 0/2] srcu: allow using same SRCU in process and interrupt context Paolo Bonzini <pbonzini@redhat.com> - 2017-05-31 14:10 +0200
  [PATCH 1/2] srcutiny, srcutree: allow using same SRCU in process and interrupt context Paolo Bonzini <pbonzini@redhat.com> - 2017-05-31 14:10 +0200
    Re: [PATCH 1/2] srcutiny, srcutree: allow using same SRCU in process  and interrupt context "Paul E. McKenney" <paulmck@linux.vnet.ibm.com> - 2017-05-31 20:00 +0200
  [PATCH 2/2] srcuclassic: allow using same SRCU in process and interrupt context Paolo Bonzini <pbonzini@redhat.com> - 2017-05-31 14:10 +0200
    Re: [PATCH 2/2] srcuclassic: allow using same SRCU in process and  interrupt context "Paul E. McKenney" <paulmck@linux.vnet.ibm.com> - 2017-05-31 20:00 +0200

csiph-web