On Tue, Dec 5, 2023 at 4:16 PM Chris Li chrisl@kernel.org wrote:
On Mon, Dec 4, 2023 at 5:39 PM Nhat Pham nphamcs@gmail.com wrote:
memcg as a candidate for the global limit reclaim.
Very minor nitpick. This patch can fold with the later patch that uses it. That makes the review easier, no need to cross reference different patches. It will also make it harder to introduce API that nobody uses.
I don't have a strong preference one way or the other :) Probably not worth the churn tho.
Squashing a patch is very easy. If you are refreshing a new series, it is worthwhile to do it. I notice on the other thread Yosry pointed out you did not use the function "mem_cgroup_tryget_online" in patch 3, that is exactly the situation my suggestion is trying to prevent.
I doubt squashing it would solve the issue - in fact, I think Yosry noticed it precisely because he had to stare at a separate patch detailing the adding of the new function in the first place :P
In general though, I'm hesitant to extend this API silently in a patch that uses it. Is it not better to have a separate patch announcing this API extension? list_lru_add() was originally part of the original series too - we separate that out to its own thing because it gets confusing. Another benefit is that there will be less work in the future if we want to revert the per-cgroup zswap LRU patch, and there's already another mem_cgroup_tryget_online() user - we can keep this patch.
But yeah we'll see - I'll think about it if I actually have to send v9. If not, let's not add unnecessary churning.
If you don't have a strong preference, it sounds like you should squash it.
Chris
Chris
Signed-off-by: Nhat Pham nphamcs@gmail.com
include/linux/memcontrol.h | 10 ++++++++++ 1 file changed, 10 insertions(+)
diff --git a/include/linux/memcontrol.h b/include/linux/memcontrol.h index 7bdcf3020d7a..2bd7d14ace78 100644 --- a/include/linux/memcontrol.h +++ b/include/linux/memcontrol.h @@ -821,6 +821,11 @@ static inline bool mem_cgroup_tryget(struct mem_cgroup *memcg) return !memcg || css_tryget(&memcg->css); }
+static inline bool mem_cgroup_tryget_online(struct mem_cgroup *memcg) +{
return !memcg || css_tryget_online(&memcg->css);
+}
static inline void mem_cgroup_put(struct mem_cgroup *memcg) { if (memcg) @@ -1349,6 +1354,11 @@ static inline bool mem_cgroup_tryget(struct mem_cgroup *memcg) return true; }
+static inline bool mem_cgroup_tryget_online(struct mem_cgroup *memcg) +{
return true;
+}
static inline void mem_cgroup_put(struct mem_cgroup *memcg) { } -- 2.34.1