Messages in this thread |  | | | Date | Fri, 9 Dec 2005 00:10:45 +0100 | | From | Jesper Juhl <> | | Subject | Re: [PATCH] Decrease number of pointer derefs in nfnetlink_queue.c |
| |
On 12/8/05, David S. Miller <davem@davemloft.net> wrote: > From: Jesper Juhl <jesper.juhl@gmail.com> > Date: Thu, 8 Dec 2005 23:36:01 +0100 > > > Here's a small patch to decrease the number of pointer derefs in > > net/netfilter/nfnetlink_queue.c > > > > Benefits of the patch: > > - Fewer pointer dereferences should make the code slightly faster. > > - Size of generated code is smaller > > - improved readability > > And you verified the compiler isn't making these transformations > already? It should be doing so via Common Subexpression Elimination > unless the derefs are scattered around with interspersed function > calls in which case the compiler cannot prove that the memory > behind the pointer does not change. > I've not verified that by actually looking at the generated asm, no. But given the (sometimes rather large) savings in size for some of the files I patched I concluded that the compiler was not optimizing that away. Even if the compiler does optimize it, it obviously doesn't do as good a job as it could (or I wouldn't be saving all those bytes by doing this), and it's not just my gcc 3.3.6, Ingo tested my initial "test the waters" patch with gcc 4.0.2 and saw similar savings (80 bytes in that case - kernel/exit.c).
-- Jesper Juhl <jesper.juhl@gmail.com> Don't top-post http://www.catb.org/~esr/jargon/html/T/top-post.html Plain text mails only, please http://www.expita.com/nomime.html - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
|  |