lkml.org 
[lkml]   [2014]   [Nov]   [25]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [PATCH v3] sched/fair: Add advisory flag for borrowing a timeslice
On 11/25/2014 03:12 AM, Srikar Dronamraju wrote:
>>
>> - Request to borrow timeslice is not guranteed to be honored.
>> - If the task is allowed to borrow, kernel will inform the task
>> of this. When this happens, task must yield the processor as soon
>> as it completes its critical section.
>> - If the task fails to yield processor after being allowed to
>> borrow, it is penalized by forcing it to skip its next time slot
>> by the scheduler.
>> - Task is charged additional time for the borrowed timeslice as
>> accumulated run time. This pushes it further down in consideration
>> for the next task to run.
>>
>
> Is there a way for us to identify if the lock is contended?
> Because it may not be prudent to allow a task to borrow timeslice for a
> lock which isnt contended.
>

Userspace knows that. It is hard to determine this from kernel. Darren
Hart had worked on a solution to solving similar issue and I spent fair
amount of time looking through that code. Darren's solution comes into
play after contention has already happened and does reduce the cost of
contention. Database folks think the cost is already too high once
contention has happened because of the resulting context switches and
post-contention solutions do not help. This solution helps reduce
contention on locks and userspace code designer is in best position to
determine which locks are subject to such contention.

--
Khalid


\
 
 \ /
  Last update: 2014-11-25 16:41    [W:0.620 / U:0.196 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site