Re: [PATCH v3] sched/fair: Add advisory flag for borrowing a timeslice

From: Khalid Aziz
Date: Tue Nov 25 2014 - 09:59:06 EST


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
--
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/