All of lore.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.