[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [win-pv-devel] [PATCH 3/5] Add override for MaxRingPageOrder
> -----Original Message----- > From: win-pv-devel [mailto:win-pv-devel-bounces@xxxxxxxxxxxxxxxxxxxx] On > Behalf Of owen.smith@xxxxxxxxxx > Sent: 26 September 2017 14:50 > To: win-pv-devel@xxxxxxxxxxxxxxxxxxxx > Cc: Owen Smith <owen.smith@xxxxxxxxxx> > Subject: [win-pv-devel] [PATCH 3/5] Add override for MaxRingPageOrder > > From: Owen Smith <owen.smith@xxxxxxxxxx> > > Allow a Windows admin to limit the ring page count without > affecting any other VMs on the host. The override can be used > to restrict blkback's generous 16 page ring to a smaller value. > > Signed-off-by: Owen Smith <owen.smith@xxxxxxxxxx> Reviewed-by: Paul Durrant <paul.durrant@xxxxxxxxxx> > --- > src/xenvbd/driver.c | 3 ++- > src/xenvbd/driver.h | 1 + > src/xenvbd/ring.c | 12 ++++++++++-- > 3 files changed, 13 insertions(+), 3 deletions(-) > > diff --git a/src/xenvbd/driver.c b/src/xenvbd/driver.c > index e7a3d3a..59b380c 100644 > --- a/src/xenvbd/driver.c > +++ b/src/xenvbd/driver.c > @@ -266,7 +266,8 @@ __DriverInitializeOverrides( > { "discard-enable", FeatureDiscardEnable }, > { "discard-secure", FeatureDiscardSecure }, > { "discard-alignment", FeatureDiscardAlignment }, > - { "discard-granularity", FeatureDiscardGranularity } > + { "discard-granularity", FeatureDiscardGranularity }, > + { "max-ring-page-order", FeatureMaxRingPageOrder } > }; > > for (Index = 0; Index < ARRAYSIZE(Mapping); Index++) { > diff --git a/src/xenvbd/driver.h b/src/xenvbd/driver.h > index 940968e..d99c09a 100644 > --- a/src/xenvbd/driver.h > +++ b/src/xenvbd/driver.h > @@ -79,6 +79,7 @@ typedef enum _XENVBD_FEATURE { > FeatureDiscardSecure, > FeatureDiscardAlignment, > FeatureDiscardGranularity, > + FeatureMaxRingPageOrder, > > // Add any new features before this enum > NumberOfFeatures > diff --git a/src/xenvbd/ring.c b/src/xenvbd/ring.c > index 77eee54..033975b 100644 > --- a/src/xenvbd/ring.c > +++ b/src/xenvbd/ring.c > @@ -1711,9 +1711,17 @@ RingConnect( > "max-ring-page-order", > &Buffer); > if (NT_SUCCESS(status)) { > + ULONG MaxOrder; > + > + if (DriverGetFeatureOverride(FeatureMaxRingPageOrder, > + &MaxOrder)) { > + MaxOrder = min(MaxOrder, XENVBD_MAX_RING_PAGE_ORDER); > + } else { > + MaxOrder = XENVBD_MAX_RING_PAGE_ORDER; > + } > + > Ring->Order = strtoul(Buffer, NULL, 10); > - if (Ring->Order > XENVBD_MAX_RING_PAGE_ORDER) > - Ring->Order = XENVBD_MAX_RING_PAGE_ORDER; > + Ring->Order = min(Ring->Order, MaxOrder); > > XENBUS_STORE(Free, > &Ring->StoreInterface, > -- > 2.8.3 > > > _______________________________________________ > win-pv-devel mailing list > win-pv-devel@xxxxxxxxxxxxxxxxxxxx > https://lists.xenproject.org/cgi-bin/mailman/listinfo/win-pv-devel _______________________________________________ win-pv-devel mailing list win-pv-devel@xxxxxxxxxxxxxxxxxxxx https://lists.xenproject.org/cgi-bin/mailman/listinfo/win-pv-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |