On 02/12/2015 08:12 AM, Daniel P. Berrange wrote: > On Thu, Feb 12, 2015 at 08:03:44AM -0500, John Ferlan wrote: >> Add virDomainGetIOThreadsInfo in order to returned a list of >> virDomainIOThreadsInfoPtr structures which list the IOThread ID, >> the thread_id, and the CPU Affinity map for each IOThread for >> the active domain. >> >> Also added virDomainIOThreadsInfoFree in order to free the cpumap >> and the array entry structure. >> >> For inactive domains or where IOThreads is not supported return >> an error and an empty structure >> >> Signed-off-by: John Ferlan <jferlan@xxxxxxxxxx> >> --- >> include/libvirt/libvirt-domain.h | 22 +++++++++++++- >> src/driver-hypervisor.h | 8 ++++- >> src/libvirt-domain.c | 63 +++++++++++++++++++++++++++++++++++++++- >> src/libvirt_public.syms | 6 ++++ >> 4 files changed, 96 insertions(+), 3 deletions(-) >> >> diff --git a/include/libvirt/libvirt-domain.h b/include/libvirt/libvirt-domain.h >> index 4dbd7f5..54f8de4 100644 >> --- a/include/libvirt/libvirt-domain.h >> +++ b/include/libvirt/libvirt-domain.h >> @@ -4,7 +4,7 @@ >> * Description: Provides APIs for the management of domains >> * Author: Daniel Veillard <veillard@xxxxxxxxxx> >> * >> - * Copyright (C) 2006-2014 Red Hat, Inc. >> + * Copyright (C) 2006-2015 Red Hat, Inc. >> * >> * This library is free software; you can redistribute it and/or >> * modify it under the terms of the GNU Lesser General Public >> @@ -1568,6 +1568,26 @@ int virDomainGetEmulatorPinInfo (virDomainPtr domain, >> unsigned int flags); >> >> /** >> + * virIOThreadsInfo: >> + * >> + * The data structure for information about IOThreads in a domain >> + */ >> +typedef struct _virDomainIOThreadsInfo virDomainIOThreadsInfo; >> +typedef virDomainIOThreadsInfo *virDomainIOThreadsInfoPtr; >> +struct _virDomainIOThreadsInfo { >> + unsigned int iothread_id; /* IOThread ID */ >> + unsigned int thread_id; /* Thread ID associated with IOThread */ > > Hmm, one thing we've avoided doing in the past is to expose the idea of PIDs > in any of the libvirt APIs - we never expose the QEMU PID anywhere. So I > think I'd leave this thread_id field out of the info here, the iothread_id > should be sufficient for apps. The actual thread_is should only be needed > internally by libvirt itself, in order to do pinning & so forth - we don't > want to have apps using it todo pinning themslves. > OK no problem - that's "folklore" I wasn't aware of... Easy enough to remove. John -- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list