Re: [PATCH v3 2/2] zram: try vmalloc() after kmalloc()

From: Sergey Senozhatsky
Date: Tue Dec 01 2015 - 02:23:41 EST


On (12/01/15 15:35), Kyeongdon Kim wrote:
> Let me give you a simple code of it.
>
> @test #1 (previous shared log)
> kmalloc(f | __GFP_NOMEMALLOC)
> __vmalloc(f | __GFP_NOMEMALLOC)
> // can find failure both
>
> @test #2 (previous shared log)
> kmalloc(f | __GFP_NOMEMALLOC)
> __vmalloc(f)
> // removed '__GFP_NOMEMALLOC' from vmalloc() only, and cannot find
> failure from vmalloc()
>
> And like you said, I made a quick check to see a failure about kmalloc()
> without the flag :
>
> @test #3
> kmalloc(f)
> __vmalloc(f | __GFP_NOMEMALLOC)
> // removed '__GFP_NOMEMALLOC' from zmalloc() only
> // and cannot find failure from zmalloc(), but in this case, it's hard
> to find failure from vmalloc() because of already allocation mostly from
> zsmalloc()
>

I assume, that "zsmalloc" and "zmalloc" here are meant to be "kzalloc (kmalloc)"

-ss

> log message (test #3) :
> <4>[ 186.763605][1] KDKIM: zcomp_lz4_create: 24: ret = ffffffc002030000
> <4>[ 186.776652][1] KDKIM: zcomp_lz4_create: 24: ret = ffffffc0020f0000
> <4>[ 186.811423][1] KDKIM: zcomp_lz4_create: 24: ret = ffffffc002108000
> <4>[ 186.816744][1] KDKIM: zcomp_lz4_create: 24: ret = ffffffc002000000
> <4>[ 186.816796][1] KDKIM: zcomp_lz4_create: 24: ret = ffffffc002008000
>
> @test #4
> kmalloc(f)
> __vmalloc(f)
> // cannot find failure both until now
>
> log message (test #4) :
> <4>[ 641.440468][7] KDKIM: zcomp_lz4_create: 24: ret = ffffffc002190000
> <snip>
> <4>[ 922.182980][7] KDKIM: zcomp_lz4_create: 24: ret = ffffffc002208000
> <snip>
> <4>[ 923.197593][7] KDKIM: zcomp_lz4_create: 24: ret = ffffffc002020000
> <snip>
> <4>[ 939.813499][7] KDKIM: zcomp_lz4_create: 24: ret = ffffffc0020a0000
>
> So,is there another problem if we remove the flag from both sides?
>
> Thanks,
> Kyeongdon Kim
>
--
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/