lkml.org 
[lkml]   [2008]   [Feb]   [22]   [last100]   RSS Feed
Views: [more markup]  [less markup]  [headers]  [forward] 
 
Messages in this thread
/
DateFri, 22 Feb 2008 20:18:37 +0100
FromPavel Machek <>
SubjectRe: [PATCH [RT] 11/14] optimize the !printk fastpath through the lock acquisition
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.
							Pavel
-- 
(english) http://www.livejournal.com/~pavelmachek
(cesky, pictures) http://atrey.karlin.mff.cuni.cz/~pavel/picture/horses/blog.html


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