Re: [PATCH] cpusets: Allocate heap only when required
From: David Rientjes
Date: Fri Jan 24 2014 - 06:15:26 EST
On Fri, 24 Jan 2014, Tejun Heo wrote:
> > Nobody is depending on shit, the patch is removing a completely pointless
> > memory allocation in braindead cpuset code. What you think is "harmful"
> > or "more harmful" is irrelevant, but nobody said anything about depending
> > on that behavior to do anything.
>
> Weren't you talking something of that effect in memcg? Or was it
> Michal?
In a completely different thread, I was talking about how we'd like to
provide a small amount of memory in oom conditions so that you could do
things like read the cgroup tasks file, but you'd also need the same thing
to do just about anything, ls, ps, read /proc/pid/status, etc with true
slab accounting. Forget about this unnecessary heap allocation, you
couldn't even do the open() in an oom condition.
That functionality would be provided by the memory reserves set aside for
userspace oom handlers as part of that feature, cgroups wouldn't be
different than anything else in that regard, it's a memcg and page
allocator issue only.
> At any rate, I think you're missing the point why Li replied
> that it's harmless. He, I think, meant that it doesn't make any
> semantical difference to userland, so your reply saying that it's not
> harmless listing the failure mode under memory pressure seemed
> misleading, so I thought clarification was necessary.
I would consider any memory allocation that is completely unnecessary to
cause anything to fail unnecessarily to be harmful, nothing specific here
about update_flag(), cpusets, or cgroups. Saying something is "harmless"
makes it sound like there's no downside to doing it, and that's obviously
not the case.
We agree and I think the only outcome of this discussion is that we both
wasted time :)
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/