Messages in this thread | | | Date | Fri, 8 Oct 2021 09:51:00 +0200 | From | Oscar Salvador <> | Subject | Re: [PATCH v4 1/5] hugetlb: add demote hugetlb page sysfs interfaces |
| |
On Thu, Oct 07, 2021 at 11:19:14AM -0700, Mike Kravetz wrote: > +static ssize_t demote_store(struct kobject *kobj, > + struct kobj_attribute *attr, const char *buf, size_t len) > +{ > + unsigned long nr_demote; > + unsigned long nr_available; > + nodemask_t nodes_allowed, *n_mask; > + struct hstate *h; > + int err = 0; > + int nid; > + > + err = kstrtoul(buf, 10, &nr_demote); > + if (err) > + return err; > + h = kobj_to_hstate(kobj, &nid); > + > + /* Synchronize with other sysfs operations modifying huge pages */ > + mutex_lock(&h->resize_lock); > + > + if (nid != NUMA_NO_NODE) { > + init_nodemask_of_node(&nodes_allowed, nid); > + n_mask = &nodes_allowed; > + } else { > + n_mask = &node_states[N_MEMORY]; > + }
Why this needs to be protected by the resize_lock? I do not understand what are we really protecting here and from what.
Besides that, I did not spot anything wrong.
-- Oscar Salvador SUSE Labs
| |