Re: Common [00/16] Sl[auo]b: Common code rework V8

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 08/02/2012 06:28 PM, Christoph Lameter wrote:
> On Thu, 2 Aug 2012, Glauber Costa wrote:
> 
>> Which is then the patchset's fault. Since as I said, my call order is:
>>
>> kmem_cache_create() -> kmem_cache_destroy().
>>
>> All allocs and frees are implicit.
>>
>> It also works okay both before the patches are applied, and with slab.
> 
> Are you creating two identical caches?
> 

In this example, yes. But note that I destroy in the between, so the
order is:

1) x = kmem_cache_create(...)
2) kmem_cache_destroy(x);
3) x = kmem_cache_create(...)

I am doing this way so I can be sure my slab memcg is not involved.
The first time I came across this, was while testing that code. In that
environment, the sequence would be:

1) create a cgroup.
2) delete that cgroup
3) create another cgroup.

In that scenario, we create a bunch of other caches. All of them differ
at least in names, since we append the memcg name to the end of the cache.

Also, on the interest of ruling out the "equal caches" hypotheses, I am
now creating a second cache that bears no relation whatsoever to the
first one I deleted. Problem persists.

Although this is not guaranteed, the fact that it works with slab and
after this series they look alike a lot more, may point out to aliasing
as the cause of this.

--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@xxxxxxxxx.  For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"dont@xxxxxxxxx";> email@xxxxxxxxx </a>


[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Bugtraq]     [Linux]     [Linux OMAP]     [Linux MIPS]     [ECOS]     [Asterisk Internet PBX]     [Linux API]