public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Zachary Amsden <zach@vmware.com>
To: Andi Kleen <ak@suse.de>
Cc: caglar@pardus.org.tr, Gerd Hoffmann <kraxel@suse.de>,
	john stultz <johnstul@us.ibm.com>,
	lkml <linux-kernel@vger.kernel.org>
Subject: Re: [RFC] Avoid PIT SMP lockups
Date: Mon, 16 Oct 2006 16:25:36 -0700	[thread overview]
Message-ID: <453414F0.8020502@vmware.com> (raw)
In-Reply-To: <200610170040.49502.ak@suse.de>

Andi Kleen wrote:
>> It might only happen with SMP because the difficulty of getting good 
>> enough TSC / timer IRQ synchronization during boot increases 
>> exponentially with SMP configurations. And it might pass 10% of the time 
>> because you were lucky enough not to fire off another timer interrupt yet.
>>     
>
> We have the same problem with NMI watchdog events unfortunately. 
> Need to call something in the nmi watchdog code to make sure it is 
> not renewed and then reenabled.
> Or maybe it's better to figure out a way that yields atomic patches.
>   

> I think the best way is to make sure all alternative() patches
> are always done before the code can be ever executed - this
> means doing it very early for the main kernel. The only exception
> would be the LOCK prefix patching, which should be atomic

Yes, this solves the problem in most cases.  Lock patching is fine no 
matter when you do it.  I think the problem with alternative patching in 
check_bugs() is that it happens way too late; the patching really has 
nothing at all to do with check_bugs(), and should be a separate step, 
probably part of setup_arch.


The paravirt-ops stuff also has some patching code.  Fortunately, there, 
we can probably skirt the NMI issue by simply disallowing NMIs, but the 
issue pops up again in stop_machine_run - what happens if you take NMIs 
during stop_machine_run?  Debug traps?  Module unload is fine, but code 
patching done using stop_machine_run is not safe.

Zach

  reply	other threads:[~2006-10-16 23:25 UTC|newest]

Thread overview: 27+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2006-10-06 21:38 [RFC] Avoid PIT SMP lockups john stultz
2006-10-07 15:50 ` S.Çağlar Onur
2006-10-10  9:11 ` S.Çağlar Onur
2006-10-10 18:27   ` john stultz
2006-10-11 10:49     ` S.Çağlar Onur
2006-10-11 17:59       ` john stultz
2006-10-11 18:37         ` S.Çağlar Onur
2006-10-11 18:43           ` john stultz
2006-10-11 19:09             ` S.Çağlar Onur
2006-10-11 19:26               ` john stultz
2006-10-11 19:31                 ` S.Çağlar Onur
2006-10-12  7:28             ` Gerd Hoffmann
2006-10-12  7:45               ` S.Çağlar Onur
2006-10-16 22:17                 ` Zachary Amsden
2006-10-16 22:21                   ` S.Çağlar Onur
2006-10-17 12:05                     ` S.Çağlar Onur
2006-10-17 12:16                       ` Andi Kleen
2006-10-19  8:00                       ` [PATCH] Fix potential interrupts during alternative patching [was Re: [RFC] Avoid PIT SMP lockups] Zachary Amsden
2006-10-19  8:49                         ` Jeremy Fitzhardinge
2006-10-19  9:00                           ` Zachary Amsden
2006-10-20 10:36                             ` S.Çağlar Onur
2006-10-20  5:25                         ` Greg KH
2006-10-16 22:40                   ` [RFC] Avoid PIT SMP lockups Andi Kleen
2006-10-16 23:25                     ` Zachary Amsden [this message]
2006-10-16 16:08             ` Gerd Hoffmann
2006-10-16 16:22               ` Vmware problems was " Andi Kleen
2006-10-16 22:16                 ` Petr Vandrovec

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=453414F0.8020502@vmware.com \
    --to=zach@vmware.com \
    --cc=ak@suse.de \
    --cc=caglar@pardus.org.tr \
    --cc=johnstul@us.ibm.com \
    --cc=kraxel@suse.de \
    --cc=linux-kernel@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox