
Daniel P. Berrange wrote:
On Sun, Dec 16, 2012 at 06:47:56PM +0400, Roman Bogorodskiy wrote:
--- src/util/processinfo.c | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+)
diff --git a/src/util/processinfo.c b/src/util/processinfo.c index b1db049..4822bcc 100644 --- a/src/util/processinfo.c +++ b/src/util/processinfo.c @@ -168,6 +168,28 @@ realloc: return 0; }
+#elif defined(__FreeBSD__) + +int virProcessInfoSetAffinity(pid_t pid ATTRIBUTE_UNUSED, + virBitmapPtr map ATTRIBUTE_UNUSED) +{ + return 0; +}
Hmm, I'm somewhat loathe to be pretending that this works.
IMHO, we should look at 'map' and if it is all-1s then we should accept it trivially. If it is not all-1s then we should raise an error so the user knows their requested config was not honoured
The reasoning behind this change is, as subject says, provide a stub while there's no complete implementation available. I've been using it for a couple of weeks and didn't notice any problems. Would not it make sense to just throw a warning or not critical error to user so he knows there's no affinity? I was planning to create a full-feature implementation of that after I'm done with the networking support.
+ +int virProcessInfoGetAffinity(pid_t pid ATTRIBUTE_UNUSED, + virBitmapPtr *map, + int maxcpu) +{ + *map = virBitmapNew(maxcpu); + if (!map) { + virReportOOMError(); + return -1; + } + virBitmapSetAll(*map); + + return 0; +} + #else /* HAVE_SCHED_GETAFFINITY */
int virProcessInfoSetAffinity(pid_t pid ATTRIBUTE_UNUSED,
Daniel -- |: http://berrange.com -o- http://www.flickr.com/photos/dberrange/ :| |: http://libvirt.org -o- http://virt-manager.org :| |: http://autobuild.org -o- http://search.cpan.org/~danberr/ :| |: http://entangle-photo.org -o- http://live.gnome.org/gtk-vnc :|
Roman Bogorodskiy