I've been looking
into a report that vcpu pinning doesn't get preserved across a
save/restore
(or migrate) and,
debugging this, it's starting to look like the "cpus" config file parameter
doesn't
work very
well -- on 3.1 or unstable! If anything is specified other than a
single integer,
the code reverts to
"any cpu". I think I found this specific problem but there seems to
be some
bad bit rot hiding
behind that. So before I go any further, I thought I'd ask a few
questions:
1) Is the "cpus"
parameter expected to work in a config file or is it somehow
deprecated?
(I
see there
is an "xm vcpu-pin" command so perhaps this is the accepted way
to
pin
cpu's?)
2) Pinning via the
"cpus" parameter calls vcpu_set_affinity() but I've always thought the
term
"affinity" expresses a preference not a restriction. If the call to
setaffinity did get
made
properly, would the scheduler really restrict the vcpu to certain
pcpu's? And
what
happens if the vcpu is ready to schedule but none of the restricted set
of
pcpu's
is available?
3) Does "cpus"
really have any real-world usage anyhow? E.g. are most uses probably
just
user misunderstanding where "vcpu_avail" should be used
instead?
Thanks,
Dan
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel
|