[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <5474C055.8070409@redhat.com>
Date: Tue, 25 Nov 2014 12:45:57 -0500
From: Rik van Riel <riel@...hat.com>
To: Khalid Aziz <khalid.aziz@...cle.com>, tglx@...utronix.de,
corbet@....net, mingo@...hat.com, hpa@...or.com,
peterz@...radead.org, akpm@...ux-foundation.org,
rientjes@...gle.com, ak@...ux.intel.com, mgorman@...e.de,
raistlin@...ux.it, kirill.shutemov@...ux.intel.com,
atomlin@...hat.com, avagin@...nvz.org, gorcunov@...nvz.org,
serge.hallyn@...onical.com, athorlton@....com, oleg@...hat.com,
vdavydov@...allels.com, daeseok.youn@...il.com,
keescook@...omium.org, yangds.fnst@...fujitsu.com,
sbauer@....utah.edu, vishnu.ps@...sung.com, axboe@...com,
paulmck@...ux.vnet.ibm.com
CC: linux-kernel@...r.kernel.org, linux-doc@...r.kernel.org,
linux-api@...r.kernel.org
Subject: Re: [PATCH v3] sched/fair: Add advisory flag for borrowing a timeslice
On 11/25/2014 12:22 PM, Khalid Aziz wrote:
> On 11/25/2014 08:25 AM, Rik van Riel wrote:
>> 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.
>
> Agreed, but that is a very large task for databases for sure and
> potentially for java as well (think exhaustive testing as well besides
> code re-write). I do not see this happening except as part of major
> re-architecture. In the mean time, if we can give them help without
> impacting kernel significantly for other users, it only makes Linux a
> more usable platform for them.
I am not convinced that permanently adding overhead to the
Linux scheduler in order to deal with a temporary problem in
database and Java software (probably not every JVM, either!)
is a worthwhile trade-off..
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists