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
| ||
|
Date: Mon, 18 May 2009 12:33:17 +0200 From: Eric Dumazet <dada1@...mosbay.com> To: "David S. Miller" <davem@...emloft.net> CC: Linux Netdev List <netdev@...r.kernel.org> Subject: [PATCH 0/2] net: tx scalability works : tx_packets/tx_bytes/tx_dropped offsetof(struct net_device, features)=0x44 offsetof(struct net_device, stats.tx_packets)=0x54 offsetof(struct net_device, stats.tx_bytes)=0x5c offsetof(struct net_device, stats.tx_dropped)=0x6c This means drivers that touch stats.tx_packets/stats.tx_bytes in their tx path can slow down SMP operations, since they dirty a cache line that should stay shared (dev->features is needed in rx and tx paths) We could move away stats field in net_device but it wont help that much. (Two cache lines dirtied in tx path, we can do one only) Better solution is to add tx_packets/tx_bytes/tx_dropped in struct netdev_queue because this structure is already touched in tx path and counters updates will then be free. First patch adds the infrastructure, and second one uses this infrastructure for VLAN devices, for which I spoted the performance problem on Gigabit links. rx path has same problem of course, but less prevalent as less cpus are involved in rx path if IRQ affinities not too dumb. Thank you -- 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