[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCHv12 5/5] [RFC] gnttab: steal maptrack entries from other VCPUs
>>> On 12.06.15 at 15:33, <david.vrabel@xxxxxxxxxx> wrote: > +static int steal_maptrack_handle(struct grant_table *t, struct vcpu *v) > +{ > + struct domain *d = v->domain; > + unsigned int first, i; > + > + /* Find an initial victim. */ > + first = i = NOW() % d->max_vcpus; > + > + do { > + unsigned int handle; > + > + handle = __get_maptrack_handle(t, d->vcpu[i]); > + if ( handle >= 0 ) { Coding style. > @@ -337,10 +376,14 @@ get_maptrack_handle( > /* > * max_maptrack_frames is per domain so each VCPU gets a share of > * the maximum, but allow at least one frame per VCPU. > + * > + * If this VCPU has run out of frames, try stealing an entry from > + * another VCPU (in case the guest isn't mapping across its VCPUs > + * evenly). > */ > if ( v->maptrack_frames > && v->maptrack_frames >= max_maptrack_frames / v->domain->max_vcpus > ) > - return -1; > + return steal_maptrack_handle(lgt, v); This "allow at least one frame per vCPU" imo needs to go away again now. Looks okay to me apart from that; quite nice an idea to utilize the fact that ownership of each entry is already being tracked. Jan _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx http://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |