]> git.proxmox.com Git - mirror_ubuntu-eoan-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)
commit495819ead5ad02174208994ca610852a7791a2f2
tree3e1c75d7ceefac98519dfae8c181e9b1712bc0f6
parent1ec7cfb13acb8047ae5baafb43d2cd6b64ac85b9
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