Paul,
Thank you for your answer. We have PREEMT_VOLUNTARY  defined, so that is the 
reason why the CONFIG_PREEMPT_COUNT is undefined. 
The second question (that was badly formatted in original message) was:

In the previous kernel versions, spin_lock() and spin_unlock() call 
preempt_enable() and preempt_disable() respectively,
ensuring that the current task will not be preempted by any other task while 
lock is held. Is this still ensured with these macros defined as “do nothing” ?

-----Original Message-----
From: Paul Bolle [mailto:[email protected]] 
Sent: Monday, March 31, 2014 3:25 PM
To: Skidanov, Alexey
Cc: [email protected]; Gabbay, Oded
Subject: Re: CONFIG_PREEMPT_COUNT

Alexey,

On Mon, 2014-03-31 at 10:38 +0000, Skidanov, Alexey wrote:
> What is the purpose of CONFIG_PREEMPT_COUNT define and how I can 
> define it?

CONFIG_PREEMPT_COUNT is a Kconfig macro, ie it's (in short) to be defined as a 
result one of the "*config" make targets. And doing
    git grep -nw PREEMPT_COUNT

gives
    kernel/Kconfig.preempt:38:      select PREEMPT_COUNT
    kernel/Kconfig.preempt:57:config PREEMPT_COUNT
    lib/Kconfig.debug:964:  select PREEMPT_COUNT

And looking at those hits it seems PREEMPT_COUNT will be set, and therefore 
CONFIG_PREEMPT_COUNT defined, if either PREEMPT or DEBUG_ATOMIC_SLEEP are set 
in a .config.

(I'm not familiar with PREEMPT_COUNT. I think I never used it.)

Hope this helps,


Paul Bolle


Reply via email to