Excerpts from Haren Myneni's message of February 20, 2022 6:03 am: > > pseries supports two types of credits - Default (uses normal priority > FIFO) and Qality of service (QoS uses high priority FIFO). The user > decides the number of QoS credits and sets this value with HMC > interface. With the core add/removal, this value can be changed in HMC > which invokes drmgr to communicate to the kernel. > > This patch adds an interface so that drmgr command can write the new > target QoS credits in sysfs. But the kernel gets the new QoS > capabilities from the hypervisor whenever nr_total_credits is updated > to make sure sync with the values in the hypervisor. > > Signed-off-by: Haren Myneni <ha...@linux.ibm.com> > --- > arch/powerpc/platforms/pseries/vas-sysfs.c | 33 +++++++++++++++++++++- > arch/powerpc/platforms/pseries/vas.c | 2 +- > arch/powerpc/platforms/pseries/vas.h | 1 + > 3 files changed, 34 insertions(+), 2 deletions(-) > > diff --git a/arch/powerpc/platforms/pseries/vas-sysfs.c > b/arch/powerpc/platforms/pseries/vas-sysfs.c > index e24d3edb3021..20745cd75f27 100644 > --- a/arch/powerpc/platforms/pseries/vas-sysfs.c > +++ b/arch/powerpc/platforms/pseries/vas-sysfs.c > @@ -25,6 +25,33 @@ struct vas_caps_entry { > > #define to_caps_entry(entry) container_of(entry, struct vas_caps_entry, kobj) > > +/* > + * This function is used to get the notification from the drmgr when > + * QoS credits are changed. Though receiving the target total QoS > + * credits here, get the official QoS capabilities from the hypervisor. > + */ > +static ssize_t nr_total_credits_store(struct vas_cop_feat_caps *caps, > + const char *buf, size_t count) > +{ > + int err; > + u16 creds; > + > + /* > + * Nothing to do for default credit type. > + */ > + if (caps->win_type == VAS_GZIP_DEF_FEAT_TYPE) > + return -EOPNOTSUPP; > + > + err = kstrtou16(buf, 0, &creds); > + if (!err) > + err = vas_reconfig_capabilties(caps->win_type);
So what's happening here? The creds value is ignored? Can it just be a write-only file which is named appropriately to indicate it can be written-to to trigger an update? Thanks, Nick