Re: [PATCH 2/2] Explicitly call tcp creation and init from memcontrol.c

From: Glauber Costa
Date: Thu Dec 15 2011 - 21:07:16 EST


On 12/16/2011 02:20 AM, KAMEZAWA Hiroyuki wrote:
On Fri, 16 Dec 2011 01:13:16 +0900
KAMEZAWA Hiroyuki<kamezawa.hiroyu@xxxxxxxxxxxxxx> wrote:

On Thu, 15 Dec 2011 13:34:32 +0400
Glauber Costa<glommer@xxxxxxxxxxxxx> wrote:

Walking the proto_list holds a read_lock, which prevents us from doing
allocations. Splitting the tcp create function into create + init is
good, but it is not enough since create_files will do allocations as well
(dentry ones, mostly).

Since this does not involve any protocol state, I propose we call the tcp
functions explicitly from memcontrol.c

With this, we lose by now the ability of doing cgroup memcontrol for
protocols that are loaded as modules. But at least the ones I have in mind
won't really need it (tcp_ipv6 being the only one, but it uses the same data
structures as tcp_ipv4). So I believe this to be the simpler solution to this
problem.

Signed-off-by: Glauber Costa<glommer@xxxxxxxxxxxxx>
CC: Hiroyouki Kamezawa<kamezawa.hiroyu@xxxxxxxxxxxxxx>
CC: David S. Miller<davem@xxxxxxxxxxxxx>
CC: Eric Dumazet<eric.dumazet@xxxxxxxxx>
CC: Stephen Rothwell<sfr@xxxxxxxxxxxxxxxx>

Could you remake the patch onto the 'latest' linux-next ?
As Dave mentioned, some bandaids are already applied and this patch hunks.

Applied patches by hand and did small test for hours.
seems good.

Reviewed-by: KAMEZAWA Hiroyuki<kamezawa.hiroyu@xxxxxxxxxxxxxx>

Kame,

Thanks. But see Dave's answer to this: He'd like me to follow a slightly different approach (I've attached a patch earlier)

--
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/