Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1754195AbbBJU2H (ORCPT ); Tue, 10 Feb 2015 15:28:07 -0500 Received: from shelob.surriel.com ([74.92.59.67]:46963 "EHLO shelob.surriel.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751726AbbBJU17 (ORCPT ); Tue, 10 Feb 2015 15:27:59 -0500 From: riel@redhat.com To: fweisbec@gmail.com Cc: paulmck@linux.vnet.ibm.com, luto@amacapital.net, will.deacon@arm.com, linux-kernel@vger.kernel.org, kvm@vger.kernel.org, mtosatti@redhat.com, borntraeger@de.ibm.com, lcapitulino@redhat.com, pbonzini@redhat.com Subject: [PATCH -v5 0/5] rcu,nohz,kvm: use RCU extended quiescent state when running KVM guest Date: Tue, 10 Feb 2015 15:27:49 -0500 Message-Id: <1423600074-2907-1-git-send-email-riel@redhat.com> X-Mailer: git-send-email 1.9.3 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1158 Lines: 26 When running a KVM guest on a system with NOHZ_FULL enabled, and the KVM guest running with idle=poll mode, we still get wakeups of the rcuos/N threads. This problem has already been solved for user space by telling the RCU subsystem that the CPU is in an extended quiescent state while running user space code. This patch series extends that code a little bit to make it usable to track KVM guest space, too. I tested the code by booting a KVM guest with idle=poll, on a system with NOHZ_FULL enabled on most CPUs, and a VCPU thread bound to a CPU. In a 10 second interval, rcuos/N threads on other CPUs got woken up several times, while the rcuos thread on the CPU running the bound and alwasy running VCPU thread never got woken up once. Thanks to Christian Borntraeger, Paul McKenney, Paulo Bonzini, Frederic Weisbecker, and Will Deacon for reviewing and improving earlier versions of this patch series. -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/