All of lore.kernel.org
 help / color / mirror / Atom feed
From: Xiao Guangrong <xiaoguangrong@cn.fujitsu.com>
To: Suresh Siddha <suresh.b.siddha@intel.com>
Cc: Peter Zijlstra <peterz@infradead.org>,
	"akpm@linux-foundation.org" <akpm@linux-foundation.org>,
	"mm-commits@vger.kernel.org" <mm-commits@vger.kernel.org>,
	"jens.axboe@oracle.com" <jens.axboe@oracle.com>,
	"mingo@elte.hu" <mingo@elte.hu>,
	"nickpiggin@yahoo.com.au" <nickpiggin@yahoo.com.au>,
	"rusty@rustcorp.com.au" <rusty@rustcorp.com.au>,
	LKML <linux-kernel@vger.kernel.org>
Subject: Re: + generic-ipi-fix-the-race-between-generic_smp_call_function_-and-hotplug_cfd.patch added to -mm tree
Date: Mon, 14 Sep 2009 15:22:23 +0800	[thread overview]
Message-ID: <4AADEF2F.5080504@cn.fujitsu.com> (raw)
In-Reply-To: <1252696132.3756.21.camel@sbs-t61.sc.intel.com>



Suresh Siddha wrote:

>> CPU A call smp_call_function_many(wait=0) that want CPU B to call
>> a specific function, after smp_call_function_many() return, we let
>> CPU A offline immediately. Unfortunately, if CPU B receives this
>> IPI interrupt after CPU A down, it will crash like above description.
> 
> How can cpu B receive the IPI interrupt after cpu A is down?
> 
> As part of the cpu A going down, we first do the stop machine. i.e.,
> schedule the stop machine worker threads on each cpu. So, by the time
> all the worker threads on all the cpu's get scheduled and synchronized,
> ipi on B should get delivered.
> 

Actually, those two examples have the same reason, that is how long
the destination CPU will receive the IPI interruption?

If the stop machine threads can schedule in CPU B during the IPI
interruption delivering, It will occur those issue.

I understand what you say but let me confuse is how we ensure it? The IPI
interruption is delivered over the APIC bus, It need several CPU instruction
cycle I guess, I also have read the spec of Intel 64 and IA-32, but not find
the answer, could you point out for me?

Thanks,
Xiao

  reply	other threads:[~2009-09-14  7:23 UTC|newest]

Thread overview: 17+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-07-31  0:30 + generic-ipi-fix-the-race-between-generic_smp_call_function_-and-hotplug_cfd.patch added to -mm tree akpm
     [not found] ` <1252616988.7205.102.camel@laptop>
2009-09-11  7:45   ` Xiao Guangrong
2009-09-11  7:50     ` Peter Zijlstra
2009-09-11 19:08     ` Suresh Siddha
2009-09-14  7:22       ` Xiao Guangrong [this message]
2009-09-15  0:16         ` Suresh Siddha
2009-09-15  2:03           ` Xiao Guangrong
2009-09-16  2:20             ` Suresh Siddha
2009-09-17  3:00               ` Xiao Guangrong
2009-09-17  7:45                 ` Peter Zijlstra
2009-09-19  2:16                 ` Suresh Siddha
2009-09-21  2:55                   ` Xiao Guangrong
2009-09-21  3:11                     ` Suresh Siddha
2009-09-21  4:04                       ` Xiao Guangrong
2009-09-22  5:32                         ` Suresh Siddha
2009-09-22  6:52                           ` Xiao Guangrong
  -- strict thread matches above, loose matches on Subject: below --
2009-07-29 23:31 akpm

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=4AADEF2F.5080504@cn.fujitsu.com \
    --to=xiaoguangrong@cn.fujitsu.com \
    --cc=akpm@linux-foundation.org \
    --cc=jens.axboe@oracle.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mingo@elte.hu \
    --cc=mm-commits@vger.kernel.org \
    --cc=nickpiggin@yahoo.com.au \
    --cc=peterz@infradead.org \
    --cc=rusty@rustcorp.com.au \
    --cc=suresh.b.siddha@intel.com \
    /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.