Re: [PATCH] tty: Only wakeup the line discipline idle queue whenqueue is active

From: Preeti U Murthy
Date: Thu Jan 17 2013 - 05:57:26 EST


On 01/16/2013 05:32 PM, Ivo Sieben wrote:
> 2013/1/16 Preeti U Murthy <preeti@xxxxxxxxxxxxxxxxxx>:
>>
>> Yes.Thank you very much for the explanation :) But I dont see how the
>> context switching goes away with your patch.With your patch, when the
>> higher priority thread comes in when the lower priority thread is
>> running in the critical section,it will see the wait queue empty and
>> "continue its execution" without now wanting to enter the critical
>> section.So this means it will preempt the lower priority thread because
>> it is not waiting on a lock anyway.There is a context switch here right?
>> I dont see any problem in scheduling due to this,but I do think your
>> patch is essential.
>>
>
> I don't have a problem that there is a context switch to the high
> priority process: it has a higher priority, so it probably is more
> important.
> My problem is that even when the waitqueue is empty, the high priority
> thread has a risk to block on the spinlock needlessly (causing context
> switches to low priority task and back to the high priority task)
>
Fair enough Ivo.I think you should go ahead with merging the
waitqueue_active()
wake_up()
logic into the wake_up() variants.

Regards
Preeti U Murthy

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/