28 Apr, 2014

1 commit

  • Up until now we have been setting the runlatch bits for a busy CPU and
    clearing it when a CPU enters idle state. The runlatch bit has thus
    been consistent with the utilization of a CPU as long as the CPU is online.

    However when a CPU is hotplugged out the runlatch bit is not cleared. It
    needs to be cleared to indicate an unused CPU. Hence this patch has the
    runlatch bit cleared for an offline CPU just before entering an idle state
    and sets it immediately after it exits the idle state.

    Signed-off-by: Preeti U Murthy
    Acked-by: Paul Mackerras
    Reviewed-by: Srivatsa S. Bhat
    Signed-off-by: Benjamin Herrenschmidt

    Preeti U Murthy
     

14 Aug, 2013

1 commit


01 Jul, 2013

1 commit

  • The __cpuinit type of throwaway sections might have made sense
    some time ago when RAM was more constrained, but now the savings
    do not offset the cost and complications. For example, the fix in
    commit 5e427ec2d0 ("x86: Fix bit corruption at CPU resume time")
    is a good example of the nasty type of bugs that can be created
    with improper use of the various __init prefixes.

    After a discussion on LKML[1] it was decided that cpuinit should go
    the way of devinit and be phased out. Once all the users are gone,
    we can then finally remove the macros themselves from linux/init.h.

    This removes all the powerpc uses of the __cpuinit macros. There
    are no __CPUINIT users in assembly files in powerpc.

    [1] https://lkml.org/lkml/2013/5/20/589

    Cc: Benjamin Herrenschmidt
    Cc: Paul Mackerras
    Cc: Josh Boyer
    Cc: Matt Porter
    Cc: Kumar Gala
    Cc: linuxppc-dev@lists.ozlabs.org
    Signed-off-by: Paul Gortmaker
    Signed-off-by: Benjamin Herrenschmidt

    Paul Gortmaker
     

20 Jun, 2013

1 commit


14 May, 2013

1 commit


06 May, 2013

1 commit


04 Jan, 2013

1 commit

  • CONFIG_HOTPLUG is going away as an option. As a result, the __dev*
    markings need to be removed.

    This change removes the use of __devinit, __devexit_p, __devinitdata,
    __devinitconst, and __devexit from these drivers.

    Based on patches originally written by Bill Pemberton, but redone by me
    in order to handle some of the coding style issues better, by hand.

    Cc: Bill Pemberton
    Cc: Benjamin Herrenschmidt
    Cc: Paul Mackerras
    Signed-off-by: Greg Kroah-Hartman

    Greg Kroah-Hartman
     

05 Sep, 2012

1 commit

  • The CPU hotplug code for the powernv platform currently only puts
    offline CPUs into nap mode if the powersave_nap variable is set.
    However, HV-style KVM on this platform requires secondary CPU threads
    to be offline and in nap mode. Since we know nap mode works just
    fine on all POWER7 machines, and the only machines that support the
    powernv platform are POWER7 machines, this changes the code to
    always put offline CPUs into nap mode, regardless of powersave_nap.
    Powersave_nap still controls whether or not CPUs go into nap mode
    when idle, as before.

    Signed-off-by: Paul Mackerras
    Signed-off-by: Benjamin Herrenschmidt

    Paul Mackerras
     

29 Mar, 2012

1 commit


08 Dec, 2011

1 commit

  • At present, on the powernv platform, if you off-line a CPU that was
    online, and then try to on-line it again, the kernel generates a
    warning message "OPAL Error -1 starting CPU n". Furthermore, if the
    CPU is a secondary thread that was used by KVM while it was off-line,
    the CPU fails to come online.

    The first problem is fixed by only calling OPAL to start the CPU the
    first time it is on-lined, as indicated by the cpu_start field of its
    PACA being zero. The second problem is fixed by restoring the
    cpu_start field to 1 instead of 0 when using the CPU within KVM.

    Signed-off-by: Paul Mackerras
    Signed-off-by: Benjamin Herrenschmidt

    Paul Mackerras
     

20 Sep, 2011

3 commits