From mboxrd@z Thu Jan 1 00:00:00 1970 From: Prarit Bhargava Subject: Re: [patch 3/4] Locally disable the softlockup watchdog rather than touching it Date: Wed, 28 Mar 2007 10:00:15 -0400 Message-ID: <460A74EF.6000700@redhat.com> References: <20070327214919.800272641@goop.org> <20070327215828.085422178@goop.org> <460A6EC0.4020701@redhat.com> <200703281550.04224.ak@suse.de> Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Return-path: In-Reply-To: <200703281550.04224.ak@suse.de> Sender: linux-kernel-owner@vger.kernel.org To: Andi Kleen Cc: virtualization@lists.linux-foundation.org, Jeremy Fitzhardinge , virtualization@lists.osdl.org, Andrew Morton , Ingo Molnar , John Hawkes , Linux Kernel , Eric Dumazet List-Id: virtualization@lists.linuxfoundation.org >> touch_nmi_watchdog is attempting to tickle _all_ CPUs softlockup watchdogs. >> > > It is supposed to only touch the current CPU, just like it only touches > the NMI watchdog on the current CPU. > > Andi, (sorry for the cut-and-paste). touch_nmi_watchdogs sets EACH CPUs alert_counter to 0. void touch_nmi_watchdog (void) { if (nmi_watchdog > 0) { unsigned cpu; /* * Just reset the alert counters, (other CPUs might be * spinning on locks we hold): */ for_each_present_cpu (cpu) alert_counter[cpu] = 0; } /* * Tickle the softlockup detector too: */ touch_softlockup_watchdog(); } The call to touch_softlockup_watchdog here is incorrect -- it is only touching the current CPU's softlockup. P.