lkml.org 
[lkml]   [2017]   [May]   [17]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    SubjectRe: [patch V2 16/17] init: Introduce SYSTEM_SCHEDULING state
    On Tue, May 16, 2017 at 08:42:47PM +0200, Thomas Gleixner wrote:
    > might_sleep() debugging and smp_processor_id() debugging should be active
    > right after the scheduler starts working. The init task can invoke
    > smp_processor_id() from preemptible context as it is pinned on the boot cpu
    > until sched_smp_init() removes the pinning and lets it schedule on all non
    > isolated cpus.
    >
    > Add a new state which allows to enable those checks earlier and add it to
    > the xen do_poweroff() function.
    >
    > No functional change.
    >
    > Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
    > Cc: Boris Ostrovsky <boris.ostrovsky@oracle.com>
    > Cc: Juergen Gross <jgross@suse.com>
    > Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

    Makes sense to me. FWIW:

    Acked-by: Mark Rutland <mark.rutland@arm.com>

    Mark.

    > ---
    >
    > V2: Use only one intermediate state and document that state order matters.
    >
    > drivers/xen/manage.c | 1 +
    > include/linux/kernel.h | 6 +++++-
    > 2 files changed, 6 insertions(+), 1 deletion(-)
    >
    > --- a/drivers/xen/manage.c
    > +++ b/drivers/xen/manage.c
    > @@ -190,6 +190,7 @@ static void do_poweroff(void)
    > {
    > switch (system_state) {
    > case SYSTEM_BOOTING:
    > + case SYSTEM_SCHEDULING:
    > orderly_poweroff(true);
    > break;
    > case SYSTEM_RUNNING:
    > --- a/include/linux/kernel.h
    > +++ b/include/linux/kernel.h
    > @@ -490,9 +490,13 @@ extern int root_mountflags;
    >
    > extern bool early_boot_irqs_disabled;
    >
    > -/* Values used for system_state */
    > +/*
    > + * Values used for system_state. Ordering of the states must not be changed
    > + * as code checks for <, <=, >, >= STATE.
    > + */
    > extern enum system_states {
    > SYSTEM_BOOTING,
    > + SYSTEM_SCHEDULING,
    > SYSTEM_RUNNING,
    > SYSTEM_HALT,
    > SYSTEM_POWER_OFF,
    >
    >

    \
     
     \ /
      Last update: 2017-05-17 13:00    [W:4.099 / U:0.056 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site