Hi,I don't think it will cause significant performance loss, because the link between a page and a page_cgroup has already existed, which the memory resource controller prepared. Bio_cgroup uses this as it is, and does nothing about this. And the link between page_cgroup and bio_cgroup isn't protected by any additional spin-locks, since the associated bio_cgroup is guaranteed to exist as long as the bio_cgroup owns pages. I've just noticed that most of overhead comes from the spin-locks when reclaiming the pages inside mem_cgroups and the spin-locks to protect the links between pages and page_cgroups. The latter overhead comes from the policy your team has chosen that page_cgroup structures are allocated on demand. I still feel this approach doesn't make any sense because linux kernel tries to make use of most of the pages as far as it can, so most of them have to be assigned its related page_cgroup. It would make us happy if page_cgroups are allocated at the booting time. I don't think there are any diffrences between a poiter and ID. I think this ID is just a encoded version of the pointer. --
| Greg Kroah-Hartman | [PATCH 004/196] Chinese: add translation of SubmittingPatches |
| Tarkan Erimer | Re: Dual-Licensing Linux Kernel with GPL V2 and GPL V3 |
| Matt Mackall | Re: [PATCH] x86: fix unconditional arch/x86/kernel/pcspeaker.c compiling |
| James Bottomley | Re: Integration of SCST in the mainstream Linux kernel |
| Gerrit Renker | [PATCH 27/37] dccp: Integration of dynamic feature activation - part 2 (server side) |
| David Miller | [GIT]: Networking |
| Jarek Poplawski | [PATCH] pkt_sched: Destroy gen estimators under rtnl_lock(). |
| Natalie Protasevich | [BUG] New Kernel Bugs |
git: | |
