On Wed 23-10-24 23:57:12, Shakeel Butt wrote: > The memcg v1's charge move feature has been deprecated. There is no need > to have any locking or protection against the moving charge. Let's > proceed to remove all the locking code related to charge moving. > > Signed-off-by: Shakeel Butt <shakeel.butt@xxxxxxxxx> > --- > -/** > - * folio_memcg_lock - Bind a folio to its memcg. > - * @folio: The folio. > - * > - * This function prevents unlocked LRU folios from being moved to > - * another cgroup. > - * > - * It ensures lifetime of the bound memcg. The caller is responsible > - * for the lifetime of the folio. > - */ > -void folio_memcg_lock(struct folio *folio) > -{ > - struct mem_cgroup *memcg; > - unsigned long flags; > - > - /* > - * The RCU lock is held throughout the transaction. The fast > - * path can get away without acquiring the memcg->move_lock > - * because page moving starts with an RCU grace period. > - */ > - rcu_read_lock(); Is it safe to remove the implicit RCU? -- Michal Hocko SUSE Labs