lkml.org 
[lkml]   [2008]   [Feb]   [22]   [last100]   RSS Feed
Views: [more markup]   [less markup]   [headers]   [forward]  
 
Messages in this thread
/
DateFri, 22 Feb 2008 17:20:53 -0500
FromGregory Haskins <>
SubjectRe: [PATCH [RT] 11/14] optimize the !printk fastpath through the lock acquisition
Pavel Machek wrote:
> Hi!
> 
>> Decorate the printk path with an "unlikely()"
>>
>> Signed-off-by: Gregory Haskins <ghaskins@novell.com>
>> ---
>>
>>  kernel/rtmutex.c |    8 ++++----
>>  1 files changed, 4 insertions(+), 4 deletions(-)
>>
>> diff --git a/kernel/rtmutex.c b/kernel/rtmutex.c
>> index 122f143..ebdaa17 100644
>> --- a/kernel/rtmutex.c
>> +++ b/kernel/rtmutex.c
>> @@ -660,12 +660,12 @@ rt_spin_lock_fastlock(struct rt_mutex *lock,
>>  		void fastcall (*slowfn)(struct rt_mutex *lock))
>>  {
>>  	/* Temporary HACK! */
>> -	if (!current->in_printk)
>> -		might_sleep();
>> -	else if (in_atomic() || irqs_disabled())
>> +	if (unlikely(current->in_printk) && (in_atomic() || irqs_disabled()))
>>  		/* don't grab locks for printk in atomic */
>>  		return;
>> 
>> +	might_sleep();
> 
> I think you changed the code here... you call might_sleep() in
> different cases afaict.

Agreed, but it's still correct afaict.  I added an extra might_sleep() 
to a path that really might sleep.  I should have mentioned that in the 
header.

In any case, its moot.  Andi indicated this patch is probably a no-op so 
I was considering dropping it on the v2 pass.

Regards,
-Greg





\
 
 \ /
  Last update: 2008-02-22 23:29    [from the cache]
©2003-2008