Re: [PATCH v6 06/19] mm: memcg/slab: obj_cgroup API

2020-06-20 Thread Andrew Morton
On Fri, 19 Jun 2020 14:38:10 -0700 Roman Gushchin wrote: > Andrew, can you, please, squash the following fix based on Shakeel's > suggestions? > Thanks! Sure. But a changelog, a signoff and an avoidance of tabs-replaced-by-spaces would still be preferred, please!

Re: [PATCH v6 06/19] mm: memcg/slab: obj_cgroup API

2020-06-19 Thread Roman Gushchin
On Fri, Jun 19, 2020 at 03:16:44PM -0700, Shakeel Butt wrote: > On Fri, Jun 19, 2020 at 2:38 PM Roman Gushchin wrote: > > > [snip] > > > > memcg->objcg is rcu protected. > > > > objcg->memcg is a raw pointer, which is always pointing at a memory > > > > cgroup, but can be atomically swapped to

Re: [PATCH v6 06/19] mm: memcg/slab: obj_cgroup API

2020-06-19 Thread Shakeel Butt
On Fri, Jun 19, 2020 at 2:38 PM Roman Gushchin wrote: > [snip] > > > memcg->objcg is rcu protected. > > > objcg->memcg is a raw pointer, which is always pointing at a memory > > > cgroup, but can be atomically swapped to the parent memory cgroup. So > > > the caller > > > > What type of caller?

Re: [PATCH v6 06/19] mm: memcg/slab: obj_cgroup API

2020-06-19 Thread Roman Gushchin
On Fri, Jun 19, 2020 at 08:42:34AM -0700, Shakeel Butt wrote: > On Mon, Jun 8, 2020 at 4:07 PM Roman Gushchin wrote: > > > > Obj_cgroup API provides an ability to account sub-page sized kernel > > objects, which potentially outlive the original memory cgroup. > > > > The top-level API consists of

Re: [PATCH v6 06/19] mm: memcg/slab: obj_cgroup API

2020-06-19 Thread Shakeel Butt
On Mon, Jun 8, 2020 at 4:07 PM Roman Gushchin wrote: > > Obj_cgroup API provides an ability to account sub-page sized kernel > objects, which potentially outlive the original memory cgroup. > > The top-level API consists of the following functions: > bool obj_cgroup_tryget(struct obj_cgroup

[PATCH v6 06/19] mm: memcg/slab: obj_cgroup API

2020-06-08 Thread Roman Gushchin
Obj_cgroup API provides an ability to account sub-page sized kernel objects, which potentially outlive the original memory cgroup. The top-level API consists of the following functions: bool obj_cgroup_tryget(struct obj_cgroup *objcg); void obj_cgroup_get(struct obj_cgroup *objcg); void