From: Sergey Senozhatsky <sergey.senozhatsky.work@gmail.com>
To: Minchan Kim <minchan@kernel.org>
Cc: Sergey Senozhatsky <sergey.senozhatsky@gmail.com>,
Andrew Morton <akpm@linux-foundation.org>,
Joonsoo Kim <js1304@gmail.com>,
linux-mm@kvack.org, linux-kernel@vger.kernel.org,
Sergey Senozhatsky <sergey.senozhatsky.work@gmail.com>
Subject: Re: [RFC][PATCH v2 3/3] mm/zsmalloc: increase ZS_MAX_PAGES_PER_ZSPAGE
Date: Mon, 22 Feb 2016 09:47:58 +0900 [thread overview]
Message-ID: <20160222004758.GB4958@swordfish> (raw)
In-Reply-To: <20160222002515.GB21710@bbox>
On (02/22/16 09:25), Minchan Kim wrote:
[..]
> I tempted it several times with same reason you pointed out.
> But my worry was that if we increase ZS_MAX_ZSPAGE_ORDER, zram can
> consume more memory because we need several pages chain to populate
> just a object. Even, at that time, we didn't have compaction scheme
> so fragmentation of object in zspage is huge pain to waste memory.
well, the thing is -- we end up requesting less pages after all, so
zsmalloc has better chances to survive. for example, gcc5 compilation test
BASE
168 2720 0 1 115833 115831 77222 2
190 3072 0 1 109708 109707 82281 3
202 3264 0 5 1910 1895 1528 4
254 4096 0 0 380174 380174 380174 1
Total 44 285 1621495 1618234 891703
PATCHED
192 3104 1 0 3740 3737 2860 13
194 3136 0 1 7215 7208 5550 10
197 3184 1 0 11151 11150 8673 7
199 3216 0 1 9310 9304 7315 11
200 3232 0 1 4731 4717 3735 15
202 3264 0 1 8400 8396 6720 4
206 3328 0 1 22064 22051 17927 13
207 3344 0 1 4884 4877 3996 9
208 3360 0 1 4420 4415 3640 14
211 3408 0 1 11250 11246 9375 5
212 3424 1 0 3344 3343 2816 16
214 3456 0 2 7345 7329 6215 11
217 3504 0 1 10801 10797 9258 6
219 3536 0 1 5295 5289 4589 13
222 3584 0 0 6008 6008 5257 7
223 3600 0 1 1530 1518 1350 15
225 3632 0 1 3519 3514 3128 8
228 3680 0 1 3990 3985 3591 9
230 3712 0 2 2167 2151 1970 10
232 3744 1 2 1848 1835 1694 11
234 3776 0 2 1404 1384 1296 12
235 3792 0 2 672 654 624 13
236 3808 1 2 615 592 574 14
238 3840 1 2 1120 1098 1050 15
254 4096 0 0 241824 241824 241824 1
Total 129 489 1627756 1618193 850147
that's 891703 - 850147 = 41556 less pages. or 162MB less memory used.
41556 less pages means that zsmalloc had 41556 less chances to fail.
> Now, we have compaction facility so fragment of object might not
> be a severe problem but still painful to allocate 16 pages to store
> 3408 byte. So, if we want to increase ZS_MAX_ZSPAGE_ORDER,
> first of all, we should prepare dynamic creating of sub-page of
> zspage, I think and more smart compaction to minimize wasted memory.
well, I agree, but given that we allocate less pages, do we really want to
introduce this complexity at this point?
-ss
--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org. For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>
next prev parent reply other threads:[~2016-02-22 0:46 UTC|newest]
Thread overview: 26+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-02-21 13:27 [RFC][PATCH v2 0/3] mm/zsmalloc: increase objects density and reduce memory wastage Sergey Senozhatsky
2016-02-21 13:27 ` [RFC][PATCH v2 1/3] mm/zsmalloc: introduce zs_get_huge_class_size_watermark() Sergey Senozhatsky
2016-02-21 13:27 ` [RFC][PATCH v2 2/3] zram: use zs_get_huge_class_size_watermark() Sergey Senozhatsky
2016-02-22 0:04 ` Minchan Kim
2016-02-22 0:40 ` Sergey Senozhatsky
2016-02-22 1:27 ` Minchan Kim
2016-02-22 1:59 ` Sergey Senozhatsky
2016-02-22 2:05 ` Sergey Senozhatsky
2016-02-22 2:57 ` Minchan Kim
2016-02-22 3:54 ` Sergey Senozhatsky
2016-02-22 4:54 ` Minchan Kim
2016-02-22 5:05 ` Sergey Senozhatsky
2016-02-21 13:27 ` [RFC][PATCH v2 3/3] mm/zsmalloc: increase ZS_MAX_PAGES_PER_ZSPAGE Sergey Senozhatsky
2016-02-22 0:25 ` Minchan Kim
2016-02-22 0:47 ` Sergey Senozhatsky [this message]
2016-02-22 1:34 ` Minchan Kim
2016-02-22 2:01 ` Sergey Senozhatsky
2016-02-22 2:34 ` Minchan Kim
2016-02-22 3:59 ` Sergey Senozhatsky
2016-02-22 4:41 ` Minchan Kim
2016-02-22 10:43 ` Sergey Senozhatsky
2016-02-23 8:25 ` Minchan Kim
2016-02-23 10:35 ` Sergey Senozhatsky
2016-02-23 16:05 ` Minchan Kim
2016-02-27 6:31 ` Sergey Senozhatsky
2016-02-22 2:24 ` Sergey Senozhatsky
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20160222004758.GB4958@swordfish \
--to=sergey.senozhatsky.work@gmail.com \
--cc=akpm@linux-foundation.org \
--cc=js1304@gmail.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mm@kvack.org \
--cc=minchan@kernel.org \
--cc=sergey.senozhatsky@gmail.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).