On Wed 20-07-22 11:02:56, Yosry Ahmed wrote: > On Wed, Jul 20, 2022 at 10:50 AM Shakeel Butt <shakeelb@xxxxxxxxxx> wrote: > > > > On Wed, Jul 20, 2022 at 2:24 AM Michal Hocko <mhocko@xxxxxxxx> wrote: > > > > > [...] > > > > > > I think what we are missing here is > > > - explain that this doesn't have any effect on existing users of > > > vmpressure user interface because that is cgroup v1 and memory.reclaim > > > is v2 feature. This is a trivial statement but quite useful for future > > > readers of this commit > > > - explain the effect on the networking layer and typical usecases > > > memory.reclaim is used for currently and ideally document that. > > > > I agree with the above two points (Yosry, please address those) but > > the following third point is orthogonal and we don't really need to > > have an answer for this patch to be accepted. > > > > That's great feedback, thanks Michal and Shakeel! > > How do you feel about the following commit message instead? Does it > address your concerns?: > > memory.reclaim is a cgroup v2 interface that allows users to > proactively reclaim memory from a memcg, without real memory pressure. > Reclaim operations invoke vmpressure, which is used in cgroup v1 to > notify userspace of reclaim efficiency, and used in both v1 and v2 as > a signal for a memcg being under memory pressure for networking (see > mem_cgroup_under_socket_pressure()). For the former, vmpressure > notifications in v1 are not affected by this change since > memory.reclaim is a v2 feature. > > For the latter, the effects of the vmpressure signal (according to > Shakeel [1]) are as follows: > 1. Reducing send and receive buffers of the current socket. > 2. May drop packets on the rx path. > 3. May throttle current thread on the tx path. > > Since proactive reclaim is invoked directly by userspace, not by > memory pressure, it makes sense not to throttle networking. Hence, > this change makes sure that proactive reclaim caused by memory.reclaim > does not trigger vmpressure. OK, looks much better. Please also add a note to the documentation about this side effect. Thanks! -- Michal Hocko SUSE Labs