mirror of
https://github.com/xen-project/xen.git
synced 2026-10-28 02:01:24 +01:00
Update docs for new credit scheduler and cleanup out of date scheduler stuff.
Signed-off-by: Emmanuel Ackaouy <ack@xensource.com>
This commit is contained in:
1 parent
e8ea99cff2
commit
03bb00e0b0
2 files changed
+42
-19
No files matched your search
+11
-18
@@ -205,30 +205,23 @@ event sent at a specified system time by using the {\bf
|
||||
implement timeout values when they block.
|
||||
|
||||
|
||||
|
||||
%% % akw: demoting this to a section -- not sure if there is any point
|
||||
%% % though, maybe just remove it.
|
||||
|
||||
% KAF: Remove these random sections!
|
||||
\begin{comment}
|
||||
\section{Xen CPU Scheduling}
|
||||
|
||||
Xen offers a uniform API for CPU schedulers. It is possible to choose
|
||||
from a number of schedulers at boot and it should be easy to add more.
|
||||
The BVT, Atropos and Round Robin schedulers are part of the normal Xen
|
||||
distribution. BVT provides proportional fair shares of the CPU to the
|
||||
running domains. Atropos can be used to reserve absolute shares of
|
||||
the CPU for each domain. Round-robin is provided as an example of
|
||||
Xen's internal scheduler API.
|
||||
The SEDF, BVT, and Credit schedulers are part of the normal Xen
|
||||
distribution. BVT and SEDF will be going away and their use should be
|
||||
avoided once the credit scheduler has stabilized and become the default.
|
||||
The Credit scheduler provides proportional fair shares of the
|
||||
host's CPUs to the running domains. It does this while transparently
|
||||
load balancing runnable VCPUs across the whole system.
|
||||
|
||||
\paragraph*{Note: SMP host support}
|
||||
Xen has always supported SMP host systems. Domains are statically
|
||||
assigned to CPUs, either at creation time or when manually pinning to
|
||||
a particular CPU. The current schedulers then run locally on each CPU
|
||||
to decide which of the assigned domains should be run there. The
|
||||
user-level control software can be used to perform coarse-grain
|
||||
load-balancing between CPUs.
|
||||
\end{comment}
|
||||
Xen has always supported SMP host systems. When using the credit scheduler,
|
||||
a domain's VCPUs will be dynamically moved across physical CPUs to maximise
|
||||
domain and system throughput. VCPUs can also be manually restricted to be
|
||||
mapped only on a subset of the host's physical CPUs, using the pinning
|
||||
mechanism.
|
||||
|
||||
|
||||
%% More information on the characteristics and use of these schedulers
|
||||
|
||||
+31
-1
@@ -1094,6 +1094,36 @@ running domains in \xend's SXP configuration format.
|
||||
You can get access to the console of a particular domain using
|
||||
the \verb_# xm console_ command (e.g.\ \verb_# xm console myVM_).
|
||||
|
||||
\subsection{Domain Scheduling Management Commands}
|
||||
|
||||
The credit CPU scheduler automatically load balances guest VCPUs
|
||||
across all available physical CPUs on an SMP host. The user need
|
||||
not manually pin VCPUs to load balance the system. However, she
|
||||
can restrict which CPUs a particular VCPU may run on using
|
||||
the \path{xm vcpu-pin} command.
|
||||
|
||||
Each guest domain is assigned a \path{weight} and a \path{cap}.
|
||||
|
||||
A domain with a weight of 512 will get twice as much CPU as a
|
||||
domain with a weight of 256 on a contended host. Legal weights
|
||||
range from 1 to 65535 and the default is 256.
|
||||
|
||||
The cap optionally fixes the maximum amount of CPU a guest will
|
||||
be able to consume, even if the host system has idle CPU cycles.
|
||||
The cap is expressed in percentage of one physical CPU: 100 is
|
||||
1 physical CPU, 50 is half a CPU, 400 is 4 CPUs, etc... The
|
||||
default, 0, means there is no upper cap.
|
||||
|
||||
When you are running with the credit scheduler, you can check and
|
||||
modify your domains' weights and caps using the \path{xm sched-credit}
|
||||
command:
|
||||
|
||||
\begin{tabular}{ll}
|
||||
\verb!xm sched-credit -d <domain>! & lists weight and cap \\
|
||||
\verb!xm sched-credit -d <domain> -w <weight>! & sets the weight \\
|
||||
\verb!xm sched-credit -d <domain> -c <cap>! & sets the cap
|
||||
\end{tabular}
|
||||
|
||||
|
||||
|
||||
%% Chapter Domain Configuration
|
||||
@@ -1985,7 +2015,7 @@ editing \path{grub.conf}.
|
||||
\item [ tbuf\_size=xxx ] Set the size of the per-cpu trace buffers, in
|
||||
pages (default 0).
|
||||
\item [ sched=xxx ] Select the CPU scheduler Xen should use. The
|
||||
current possibilities are `sedf' (default) and `bvt'.
|
||||
current possibilities are `sedf' (default), `credit', and `bvt'.
|
||||
\item [ apic\_verbosity=debug,verbose ] Print more detailed
|
||||
information about local APIC and IOAPIC configuration.
|
||||
\item [ lapic ] Force use of local APIC even when left disabled by
|
||||
|
||||