lists.openwall.net | lists / announce owl-users owl-dev john-users john-dev passwdqc-users yescrypt popa3d-users / oss-security kernel-hardening musl sabotage tlsify passwords / crypt-dev xvendor / Bugtraq Full-Disclosure linux-kernel linux-netdev linux-ext4 linux-hardening linux-cve-announce PHC | |
Open Source and information security mailing list archives
| ||
|
Message-ID: <u2y412e6f7f1004212310sccf41ffaia264890402b8be3a@mail.gmail.com> Date: Thu, 22 Apr 2010 14:10:20 +0800 From: Changli Gao <xiaosuo@...il.com> To: David Miller <davem@...emloft.net> Cc: therbert@...gle.com, eric.dumazet@...il.com, netdev@...r.kernel.org Subject: Re: [PATCH v2] rps: optimize rps_get_cpu() On Thu, Apr 22, 2010 at 1:40 PM, David Miller <davem@...emloft.net> wrote: > > I'll buy you a cookie if you can find a multiply generated by the > compiler for "x * 4". It's going to use shifts and those are > basically free. On amd64: if (pskb_may_pull(skb, (ihl * 4) + 4)) { 2794: 8d 34 9d 04 00 00 00 lea 0x4(,%rbx,4),%esi 279b: 4c 89 ef mov %r13,%rdi 279e: e8 a5 fd ff ff callq 2548 <pskb_may_pull> 27a3: 85 c0 test %eax,%eax 27a5: 74 28 je 27cf <get_rps_cpu+0x169> __be16 *hports = (__be16 *) (skb->data + (ihl * 4)); 27a7: 8d 04 9d 00 00 00 00 lea 0x0(,%rbx,4),%eax the compiler uses lea instead of multiply, and it should be more efficient, but i'm not sure. Is there a equivalent of lea on the other architectures? > > Please just change one thing at a time. It would have helped you > here. I was willing to apply the port dereference part of your > change, but not necessarily the 'ihl' changes. But because you've > combined them, I have no choice but to reject everything. > Ok. I think the first version is ready to apply, it only has the port dereference part. -- Regards, Changli Gao(xiaosuo@...il.com) -- To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to majordomo@...r.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Powered by blists - more mailing lists