[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [PATCH v8 08/16] xen/domain: Add vmtrace_size domain creation parameter
On 01/02/2021 10:51, Roger Pau Monné wrote: > On Sat, Jan 30, 2021 at 02:58:44AM +0000, Andrew Cooper wrote: >> From: Michał Leszczyński <michal.leszczynski@xxxxxxx> >> >> To use vmtrace, buffers of a suitable size need allocating, and different >> tasks will want different sizes. >> >> Add a domain creation parameter, and audit it appropriately in the >> {arch_,}sanitise_domain_config() functions. >> >> For now, the x86 specific auditing is tuned to Processor Trace running in >> Single Output mode, which requires a single contiguous range of memory. >> >> The size is given an arbitrary limit of 64M which is expected to be enough >> for >> anticipated usecases, but not large enough to get into long-running-hypercall >> problems. >> >> Signed-off-by: Michał Leszczyński <michal.leszczynski@xxxxxxx> >> Signed-off-by: Andrew Cooper <andrew.cooper3@xxxxxxxxxx> > Reviewed-by: Roger Pau Monné <roger.pau@xxxxxxxxxx> Thanks. >> diff --git a/xen/common/domain.c b/xen/common/domain.c >> index d1e94d88cf..491b32812e 100644 >> --- a/xen/common/domain.c >> +++ b/xen/common/domain.c >> @@ -132,6 +132,71 @@ static void vcpu_info_reset(struct vcpu *v) >> v->vcpu_info_mfn = INVALID_MFN; >> } >> >> +static void vmtrace_free_buffer(struct vcpu *v) >> +{ >> + const struct domain *d = v->domain; >> + struct page_info *pg = v->vmtrace.pg; >> + unsigned int i; >> + >> + if ( !pg ) >> + return; >> + >> + v->vmtrace.pg = NULL; >> + >> + for ( i = 0; i < (d->vmtrace_size >> PAGE_SHIFT); i++ ) >> + { >> + put_page_alloc_ref(&pg[i]); >> + put_page_and_type(&pg[i]); >> + } >> +} >> + >> +static int vmtrace_alloc_buffer(struct vcpu *v) > You might as well make this return true/false, as the error code is > ignored by the caller (at least in this patch). At some point vcpu_create() needs to be fixed not to lose the error code. That is the real bug here. ~Andrew
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |