Re: [PATCHSET] mempool, percpu, blkcg: fix percpu stat allocationand remove stats_lock
From: Tejun Heo
Date: Thu Mar 08 2012 - 13:08:42 EST
Hello, Vivek.
On Thu, Mar 08, 2012 at 12:57:08PM -0500, Vivek Goyal wrote:
> Ok, here is the patch which gets rid of allocating per cpu stats in case
> of UP. Here are the size stats with and without patch.
>
> Without patch (UP kernel)
> -------------------------
> # size block/blk-cgroup.o
> text data bss dec hex filename
> 13377 5504 58 18939 49fb block/blk-cgroup.o
>
> With patch (UP kernel)
> ----------------------
> # size block/blk-cgroup.o
> text data bss dec hex filename
> 12678 5312 49 18039 4677 block/blk-cgroup.o
>
> Do you think it is worth introducing these ifdefs.
I'd rather not. The whole thing goes away if blkio cgroup is
configured out so it's not like we're adding an unconditional burden
to minimal configurations. Let's keep things simple.
> Anyway, I am assuming that optimization for UP issue is not blocking the
> acceptance of other alloc per cpu patch. I have replaced msleep()
> with queue_delayed_work(). Hopefully it is little less miserable now.
Yeah, I was gonna send the merged patchset yesterday. Just got caught
up in something else.
> Tejun, I noticed that in UP case, once in a while cgroup removal is
> hanging. Looks like it is hung in cgroup_rmdir() somewhere. I will debug
> more to find out what is happening. May be blkcg->refcount issue.
It's probably from something forgetting to put cgroup and pre_destroy
waiting for it. Such bugs would have been masked before but now show
up as stalls during rmdir. I'm not too happy with how cgroup is
handling cgroup file additions and removals and hoping to implement
proper 'sever' semantics similar to that of sysfs. In the longer
term, such behavior should go away but for now we'll just have to hunt
down the actual bug to avoid stalls (which we have to do anyway but
it's more visible now).
Thanks.
--
tejun
--
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/