On 11/25/2014 09:52 AM, Khalid Aziz wrote:
On 11/24/2014 07:03 PM, Rik van Riel wrote:
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
On 11/24/2014 03:56 PM, Khalid Aziz wrote:
sched/fair: Add advisory flag for borrowing a timeslice
This patch adds a way for a task to request to borrow one
timeslice from future if it is about to be preempted, so it could
delay preemption and complete any critical task it is in the middle
of.
This feature helps with performance on databases and has been used
for many years on other OSs by the databases. This feature helps in
situation where a task acquires a lock before performing a critical
operation on the database and happens to get preempted
Why don't the other tasks that want the lock sleep on the
lock?
I can see this "solution" help mostly with userspace spinlocks,
which are relics of a past era that need to die. There is no
way userspace spinlocks will not fail miserably on virtual
machines, and it is time to get rid of them.
This solution indeed is for userspace spinlocks. Database code has been
written with all critical locking implemented in userspace (as I have
been told by database folks. I am not a database guy).
They should fix that.