]> git.baikalelectronics.ru Git - kernel.git/commit
zsmalloc: micro-optimize zs_object_copy()
authorSergey Senozhatsky <sergey.senozhatsky@gmail.com>
Wed, 15 Apr 2015 23:16:15 +0000 (16:16 -0700)
committerLinus Torvalds <torvalds@linux-foundation.org>
Wed, 15 Apr 2015 23:35:22 +0000 (16:35 -0700)
commitfcd6cca8a1b1041e1ef3d54609b18531818e3570
tree3e1c75d7ceefac98519dfae8c181e9b1712bc0f6
parent920b555de6e37a9820763d9b8a2b862757ad2262
zsmalloc: micro-optimize zs_object_copy()

A micro-optimization.  Avoid additional branching and reduce (a bit)
registry pressure (f.e.  s_off += size; d_off += size; may be calculated
twise: first for >= PAGE_SIZE check and later for offset update in "else"
clause).

scripts/bloat-o-meter shows some improvement

add/remove: 0/0 grow/shrink: 0/1 up/down: 0/-10 (-10)
function                          old     new   delta
zs_object_copy                    550     540     -10

Signed-off-by: Sergey Senozhatsky <sergey.senozhatsky@gmail.com>
Acked-by: Minchan Kim <minchan@kernel.org>
Cc: Nitin Gupta <ngupta@vflare.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
mm/zsmalloc.c