Messages in this thread | | | Date | Wed, 7 Dec 2011 11:16:10 +0100 | From | Johannes Weiner <> | Subject | Re: [PATCH] jump_label: jump_label for boot options. |
| |
On Fri, Dec 02, 2011 at 01:53:27PM +0100, Peter Zijlstra wrote: > On Fri, 2011-12-02 at 13:45 +0100, Johannes Weiner wrote: > > On Fri, Dec 02, 2011 at 10:24:10AM +0100, Peter Zijlstra wrote: > > > On Fri, 2011-12-02 at 09:22 +0900, KAMEZAWA Hiroyuki wrote: > > > > > > > > Yes, that's an idea. But we also have another stupid shadow swap accounting > > > > table. This can be disabled at boot, too. > > > > > > Bah I thought it was just the page frame thing, hnaz any plans to kill > > > this swap array as well? > > > > I haven't looked at the swap accounting at all yet, sorry. But where > > did this discussion go all of a sudden? :-) > > > > That array is not allocated at all when the memory controller is > > disabled at boot-time. > > > > Rather, we have those mem_cgroup_disabled() conditionals everytime we > > enter the memory controller from the VM and the idea is to patch them > > out during boot, since you can not re-enable the thing anyway. > > Yeah, but without those arrays you could.. this boot time switch really > is a wart and if you don't have the shadow page frame and shadow swap > accounting muck stuff you could runtime flip all this..
Ah, got you.
The shadow page frame is on its way out. The extra swp_entry_t->cgroup_id array is allocated during swap-on in vmap space, so I don't think we have much of a runtime problem with that one, either.
The biggest problem I see is that we modify per-page(_cgroup) state when charging/uncharging against the root_mem_cgroup. But this sucks anyway (overhead for distro-kernel users that don't care about memcg), so we need to ditch that. And once that is gone, we are much closer to runtime-toggling the controller.
> I've no objection to using jump_labels fwiw, we're looking to do the > same with the cpu controller for the nr_cgroups == 0 case. But boot time > stuff just doesn't make sense to me.
Agreed.
| |