[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <1348667110.3881.108.camel@twins>
Date: Wed, 26 Sep 2012 15:45:10 +0200
From: Peter Zijlstra <peterz@...radead.org>
To: Andrew Jones <drjones@...hat.com>
Cc: Avi Kivity <avi@...hat.com>,
Raghavendra K T <raghavendra.kt@...ux.vnet.ibm.com>,
"H. Peter Anvin" <hpa@...or.com>,
Marcelo Tosatti <mtosatti@...hat.com>,
Ingo Molnar <mingo@...hat.com>, Rik van Riel <riel@...hat.com>,
Srikar <srikar@...ux.vnet.ibm.com>,
"Nikunj A. Dadhania" <nikunj@...ux.vnet.ibm.com>,
KVM <kvm@...r.kernel.org>, Jiannan Ouyang <ouyang@...pitt.edu>,
chegu vinod <chegu_vinod@...com>,
"Andrew M. Theurer" <habanero@...ux.vnet.ibm.com>,
LKML <linux-kernel@...r.kernel.org>,
Srivatsa Vaddagiri <srivatsa.vaddagiri@...il.com>,
Gleb Natapov <gleb@...hat.com>
Subject: Re: [PATCH RFC 0/2] kvm: Improving undercommit,overcommit scenarios
in PLE handler
On Wed, 2012-09-26 at 15:39 +0200, Andrew Jones wrote:
> On Wed, Sep 26, 2012 at 03:26:11PM +0200, Peter Zijlstra wrote:
> > On Wed, 2012-09-26 at 15:20 +0200, Andrew Jones wrote:
> > > Wouldn't a clean solution be to promote a task's scheduler
> > > class to the spinner class when we PLE (or come from some special
> > > syscall
> > > for userspace spinlocks?)?
> >
> > Userspace spinlocks are typically employed to avoid syscalls..
>
> I'm guessing there could be a slow path - spin N times and then give
> up and yield.
Much better they should do a blocking futex call or so, once you do the
syscall you're in kernel space anyway and have paid the transition cost.
> >
> > > That class would be higher priority than the
> > > fair class and would schedule in FIFO order, but it would only run its
> > > tasks for short periods before switching.
> >
> > Since lock hold times aren't limited, esp. for things like userspace
> > 'spin' locks, you've got a very good denial of service / opportunity for
> > abuse right there.
>
> Maybe add some throttling to avoid overuse/maliciousness?
At which point you're pretty much back to where you started.
A much better approach is using things like priority inheritance, which
can be extended to cover the fair class just fine..
Also note that user-space spinning is inherently prone to live-locks
when combined with the static priority RT scheduling classes.
In general its a very bad idea..
--
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