[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <6453C3CB8E2B3646B0D020C1126132730362094C@sausexmb4.amd.com>
Date: Mon, 11 May 2009 10:58:24 -0500
From: "Langsdorf, Mark" <mark.langsdorf@....com>
To: "Ingo Molnar" <mingo@...e.hu>, "Avi Kivity" <avi@...hat.com>
CC: "Peter Zijlstra" <a.p.zijlstra@...llo.nl>,
"Roedel, Joerg" <Joerg.Roedel@....com>, <kvm@...r.kernel.org>,
<linux-kernel@...r.kernel.org>
Subject: RE: [PATCH][KVM][retry 1] Add support for Pause Filtering to AMDSVM
> >> Please dont even think about using yield for this though -
Oops. I'm glad I waited to get some benchmark results before
submitting that version.
> >> A gradual and linear back-off from the current timeline is
> >> more of a fair negotiation process between vcpus and
> >> results in more or less
> >> sane (and fair) scheduling, and no unnecessary looping.
> >>
> >> You could even do an exponential backoff up to a limit of
> >> 1-10 msecs or so, starting at 100 usecs.
> >
> > Good idea, it eliminates another variable to be tuned.
>
> It could be made fully self-tuning, if the filter threshold can be
> tuned fast enough. (an MSR write? A VM context field update?)
VMCB field update.
So the suggestion is to add a function similar to set_task_cpu()
that increases the vmruntime with an exponential backoff? Is
that sufficient to cause a new VCPU to step in? I'm obviously
not very familiar with the scheduler code.
> I.e. the 3000 cycles value itself could be eliminated as well. (with
> just a common-sense max of say 100,000 cycles enforced)
I don't understand what you're saying here. There needs to be
some value in the pause filter counter to trigger the intercept.
-Mark Langsdorf
Operating System Research Center
AMD
--
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