30 Sep, 2006

1 commit


28 Aug, 2006

1 commit


04 Jul, 2006

1 commit


26 Jun, 2006

1 commit

  • - Update stop_machine.c to spawn stop_machine as kthreads rather than the
    deprecated kernel_threads.

    - Update stop_machine to use the more efficient kthread_bind() before
    running task in place of set_cpus_allowed() after.

    [akpm@osdl.org: remove now-wrong set_cpus_allowed()]
    Signed-off-by: Serge E. Hallyn
    Cc: Rusty Russell
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Serge E. Hallyn
     

11 Jan, 2006

1 commit


14 Nov, 2005

1 commit

  • This fixes deadlock of stop_machine() vs. synchronous IPI send. The
    problem is that stop_machine() disables interrupts before disabling
    preemption on other CPUs. So if another CPU is preempted and then calls
    something like flush_tlb_all() it will deadlock with CPU doing
    stop_machine() and which can't process IPI due to disabled IRQs.

    I changed stop_machine() to do the same things exactly as it does on other
    CPUs, i.e. it should disable preemption first on _all_ CPUs including
    itself and only after that disable IRQs.

    Signed-off-by: Kirill Korotaev
    Cc: Rusty Russell
    Cc: "Andrey Savochkin"
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Kirill Korotaev
     

22 Jun, 2005

1 commit

  • This patch implements a number of smp_processor_id() cleanup ideas that
    Arjan van de Ven and I came up with.

    The previous __smp_processor_id/_smp_processor_id/smp_processor_id API
    spaghetti was hard to follow both on the implementational and on the
    usage side.

    Some of the complexity arose from picking wrong names, some of the
    complexity comes from the fact that not all architectures defined
    __smp_processor_id.

    In the new code, there are two externally visible symbols:

    - smp_processor_id(): debug variant.

    - raw_smp_processor_id(): nondebug variant. Replaces all existing
    uses of _smp_processor_id() and __smp_processor_id(). Defined
    by every SMP architecture in include/asm-*/smp.h.

    There is one new internal symbol, dependent on DEBUG_PREEMPT:

    - debug_smp_processor_id(): internal debug variant, mapped to
    smp_processor_id().

    Also, i moved debug_smp_processor_id() from lib/kernel_lock.c into a new
    lib/smp_processor_id.c file. All related comments got updated and/or
    clarified.

    I have build/boot tested the following 8 .config combinations on x86:

    {SMP,UP} x {PREEMPT,!PREEMPT} x {DEBUG_PREEMPT,!DEBUG_PREEMPT}

    I have also build/boot tested x64 on UP/PREEMPT/DEBUG_PREEMPT. (Other
    architectures are untested, but should work just fine.)

    Signed-off-by: Ingo Molnar
    Signed-off-by: Arjan van de Ven
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Ingo Molnar
     

01 May, 2005

1 commit


17 Apr, 2005

1 commit

  • Initial git repository build. I'm not bothering with the full history,
    even though we have it. We can create a separate "historical" git
    archive of that later if we want to, and in the meantime it's about
    3.2GB when imported into git - space that would just make the early
    git days unnecessarily complicated, when we don't have a lot of good
    infrastructure for it.

    Let it rip!

    Linus Torvalds