Thread (3 messages) 3 messages, 3 authors, 2015-11-26

Re: [PATCH] HID: debug: improve hid_debug_event()

flat view

From: Jiri Kosina <jikos@kernel.org>
Date: 2015-11-26 23:05:23
Also in: lkml

On Tue, 24 Nov 2015, Rasmus Villemoes wrote:
The code in hid_debug_event() causes horrible code generation. First,
we do a strlen() call for every byte we copy (we're doing a store to
global memory, so gcc has no way of proving that strlen(buf) doesn't
change). Second, since both i, list->tail and HID_DEBUG_BUFSIZE have
signed type, the modulo computation has to take into account the
possibility that list->tail+i is negative, so it's not just a simple
and.

Fix the former by simply not doing strlen() at all (we have to load
buf[i] anyway, so testing it is almost free) and the latter by
changing i to unsigned. This cuts 29% (69 bytes) of the size of the
function.

Signed-off-by: Rasmus Villemoes <linux@rasmusvillemoes.dk>
Agreed, this is much better. Applied to for-4.5/core, thanks Rasmus.

-- 
Jiri Kosina
SUSE Labs
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help