12 Sep, 2013

3 commits

  • All of the other non-trivial !SMP versions of functions in smp.h are
    out-of-line in up.c. Move on_each_cpu() there as well.

    This allows us to get rid of the #include . The
    drawback is that this makes both the x86_64 and i386 defconfig !SMP
    kernels about 200 bytes larger each.

    Signed-off-by: David Daney
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    David Daney
     
  • The SMP version of this function doesn't unconditionally enable irqs, so
    neither should this !SMP version. There are no know problems caused by
    this, but we make the change for consistency's sake.

    Signed-off-by: David Daney
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    David Daney
     
  • As in commit f21afc25f9ed ("smp.h: Use local_irq_{save,restore}() in
    !SMP version of on_each_cpu()"), we don't want to enable irqs if they
    are not already enabled. There are currently no known problematical
    callers of these functions, but since it is a known failure pattern, we
    preemptively fix them.

    Since they are not trivial functions, make them non-inline by moving
    them to up.c. This also makes it so we don't have to fix #include
    dependancies for preempt_{disable,enable}.

    Signed-off-by: David Daney
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    David Daney
     

31 Oct, 2011

1 commit

  • The changed files were only including linux/module.h for the
    EXPORT_SYMBOL infrastructure, and nothing else. Revector them
    onto the isolated export header for faster compile times.

    Nothing to see here but a whole lot of instances of:

    -#include
    +#include

    This commit is only changing the kernel dir; next targets
    will probably be mm, fs, the arch dirs, etc.

    Signed-off-by: Paul Gortmaker

    Paul Gortmaker
     

12 Jan, 2009

1 commit


11 Jan, 2009

2 commits

  • Impact: build fix on Alpha

    kernel/up.c: In function 'smp_call_function_single':
    kernel/up.c:12: error: 'cpuid' undeclared (first use in this function)
    kernel/up.c:12: error: (Each undeclared identifier is reported only once
    kernel/up.c:12: error: for each function it appears in.)

    The typo didnt show up on x86 because 'cpuid' happens to be a
    function address as well ...

    Signed-off-by: Ingo Molnar

    Ingo Molnar
     
  • If you do

    smp_call_function_single(expression-with-side-effects, ...)

    then expression-with-side-effects never gets evaluated on UP builds.

    As always, implementing it in C is the correct thing to do.

    While we're there, uninline it for size and possible header dependency
    reasons.

    And create a new kernel/up.c, as a place in which to put
    uniprocessor-specific code and storage. It should mirror kernel/smp.c.

    Signed-off-by: Andrew Morton
    Signed-off-by: Ingo Molnar

    Andrew Morton