>>> On Thu, Feb 21, 2008 at 11:36 AM, in message <[EMAIL PROTECTED]>,
Andi Kleen <[EMAIL PROTECTED]> wrote: 
> On Thursday 21 February 2008 16:27:22 Gregory Haskins wrote:
> 
>> @@ -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()))
> 
> I have my doubts that gcc will honor unlikelies that don't affect
> the complete condition of an if.
> 
> Also conditions guarding returns are by default predicted unlikely
> anyways AFAIK. 
> 
> The patch is likely a nop.
> 

Yeah, you are probably right.  We have found that the system is *extremely* 
touchy on how much overhead we have in the lock-acquisition path.  For 
instance, using a non-inline version of adaptive_wait() can cost 5-10% in 
disk-io throughput.  So we were trying to find places to shave anywhere we 
could.  That being said, I didn't record any difference from this patch, so you 
are probably exactly right.  It just seemed like "the right thing to do" so I 
left it in.

-Greg



-
To unsubscribe from this list: send the line "unsubscribe linux-rt-users" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to