On 8/4/21 1:21 AM, Thomas Gleixner wrote: > /* > * The only protection from memory hotplug vs. drain_stock races is > * that we always operate on local CPU stock here with IRQ disabled > */ > - local_irq_save(flags); > + local_lock_irqsave(memcg_stock_lock, flags); > ... > if (use_task_obj_stock()) > drain_obj_stock(&stock->task_obj); > > which is incomprehensible garbage. > > The comment above the existing local_irq_save() is garbage w/o any local > lock conversion already today (and even before the commit which > introduced stock::task_obj) simply because that comment does not explain > the why. Michal, this seems to be your comment from commit 72f0184c8a00 ("mm, memcg: remove hotplug locking from try_charge"). Was "memory hotplug" a mistake, because the rest of the commit is about cpu hotplug, and I don't really see a memory hotplug connection there?