lkml.org 
[lkml]   [2009]   [Aug]   [25]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    SubjectRe: [tip:x86/pat] generic-ipi: Allow cpus not yet online to call smp_call_function with irqs disabled
    On Mon, Aug 24, 2009 at 01:15:43PM -0700, Suresh B wrote:
    > On Sun, 2009-08-23 at 22:40 -0700, Nick Piggin wrote:
    > > On Fri, Aug 21, 2009 at 11:51:50PM +0000, Suresh B wrote:
    > > > Commit-ID: 269c861baa2fe7c114c3bc7831292758d29eb336
    > > > Gitweb: http://git.kernel.org/tip/269c861baa2fe7c114c3bc7831292758d29eb336
    > > > Author: Suresh Siddha <suresh.b.siddha@intel.com>
    > > > AuthorDate: Wed, 19 Aug 2009 18:05:35 -0700
    > > > Committer: H. Peter Anvin <hpa@zytor.com>
    > > > CommitDate: Fri, 21 Aug 2009 16:25:43 -0700
    > > >
    > > > generic-ipi: Allow cpus not yet online to call smp_call_function with irqs disabled
    > > >
    > > > Because of deadlock possiblities smp_call_function() is not allowed to
    > > > be called with interrupts disabled. Add an exception for the cpu not
    > > > yet online, as no one else can send smp call function interrupt to this
    > > > cpu that is not yet online and as such deadlock condition is not possible.
    > > >
    > > > Signed-off-by: Suresh Siddha <suresh.b.siddha@intel.com>
    > > > Acked-by: Nick Piggin <npiggin@suse.de>
    > > > Signed-off-by: H. Peter Anvin <hpa@zytor.com>
    > >
    > > I don't know if we should allow the use of smp_call_function here --
    > > only call_function_single. CPU hotplug code is required to set up
    > > some call_function data and if the cpu is offline then it might not
    > > be set up correctly.
    >
    > We are doing the required allocations in CPU_UP_PREPARE. So we should be
    > okay for any smp_call_function usage.

    OK

    > > Also, I would say that we should just restrict this to wait==1 case
    > > because in that case the stack can trivially be used for data. In
    > > the wait==0 case, it is more complex. In the current implementation
    > > it should be OK (it uses per-cpu data), but we've used kmalloc
    > > there in the past, which probably wouldn't work either.
    >
    > In future if we add any kmalloc, we already have checks in kmalloc()
    > that can be easily caught. I would like to make this change as generic
    > as possible.

    Why? You think there will be much demand for it?



    \
     
     \ /
      Last update: 2009-08-25 06:33    [W:3.113 / U:0.000 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site