[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <20150929150502.GN3816@twins.programming.kicks-ass.net>
Date: Tue, 29 Sep 2015 17:05:02 +0200
From: Peter Zijlstra <peterz@...radead.org>
To: Steven Rostedt <rostedt@...dmis.org>
Cc: linux-kernel@...r.kernel.org, torvalds@...ux-foundation.org,
fweisbec@...il.com, oleg@...hat.com, umgwanakikbuti@...il.com,
tglx@...utronix.de
Subject: Re: [RFC][PATCH 01/11] sched: Simplify INIT_PREEMPT_COUNT
On Tue, Sep 29, 2015 at 11:00:49AM -0400, Steven Rostedt wrote:
>
> [ Resend, with the Cc list back ]
You seem to have a hard time with these buttons today ;-)
> Hmm, I just looked closer and I'm wondering if this still works?
>
> We have:
>
> #ifdef CONFIG_PREEMPT_COUNT
> #define PREEMPT_DISABLED (1 + PREEMPT_ENABLED)
> #else
> #define PREEMPT_DISABLED PREEMPT_ENABLED
> #endif
>
> Now if we just remove the PREEMPT_ACTIVE from the INIT_PREEMPT_COUNT,
> when CONFIG_PREEMPT_COUNT is not set, wouldn't a _cond_resched() in
> boot up schedule?
Good point, PREEMPT_COUNT isn't required for voluntary preemption; when
I tested the voluntary build nothing bad happened, but that could have
been luck of course.
So what we can do is use an unconditional 1 for INIT_PREEMPT_COUNT, such
that the init task will have a raised preempt_count() during boot, even
on !PREEMPT_COUNT kernels.
But that means we cannot use INIT_PREEMPT_COUNT for
init_task_preempt_count() and such like, as I wanted to. I'll make
FORK_PREEMPT_COUNT for that instead.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists