Re: [PATCH v5 1/9] mm/demotion: Add support for explicit memory tiers

From: Aneesh Kumar K V
Date: Wed Jun 08 2022 - 02:54:59 EST


On 6/8/22 12:13 AM, Tim Chen wrote:
...


+
+static void memory_tier_device_release(struct device *dev)
+{
+ struct memory_tier *tier = to_memory_tier(dev);
+

Do we need some ref counts on memory_tier?
If there is another device still using the same memtier,
free below could cause problem.

+ kfree(tier);
+}
+

...

The lifecycle of the memory_tier struct is tied to the sysfs device life time. ie, memory_tier_device_relese get called only after the last reference on that sysfs dev object is released. Hence we can be sure there is no userspace that is keeping one of the memtier related sysfs file open.

W.r.t other memory device sharing the same memtier, we unregister the
sysfs device only when the memory tier nodelist is empty. That is no memory device is present in this memory tier.

-aneesh