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: <063D6719AE5E284EB5DD2968C1650D6D1CAEEEDF@AcuExch.aculab.com> Date: Thu, 26 Feb 2015 16:03:38 +0000 From: David Laight <David.Laight@...LAB.COM> To: 'Patrick McHardy' <kaber@...sh.net> CC: 'Eric Dumazet' <eric.dumazet@...il.com>, Alexei Starovoitov <alexei.starovoitov@...il.com>, Daniel Borkmann <daniel@...earbox.net>, "davem@...emloft.net" <davem@...emloft.net>, "tgraf@...g.ch" <tgraf@...g.ch>, "pablo@...filter.org" <pablo@...filter.org>, "johunt@...mai.com" <johunt@...mai.com>, "netdev@...r.kernel.org" <netdev@...r.kernel.org> Subject: RE: [PATCH net] rhashtable: use cond_resched() From: Patrick McHardy [mailto:kaber@...sh.net] > On 26.02, David Laight wrote: > > From: Eric Dumazet > > Sent: 26 February 2015 15:21 > > > If a hash table has 128 slots and 16384 elems, expand to 256 slots > > > takes more than one second. For larger sets, a soft lockup is detected. > > > > What on earth is it doing? > > Presumably something to do with the rcu actions needed to allow > > lockless lookup during resize. > > > > There has to be a better solution? > > Perhaps even two sets of chain pointers down the hash lists. > > Then the old hash table can be kept completely valid while the > > whole 'unzip' action is done. > > One of the main points of rhashtable is that you don't need those. Would it be possible to keep the hash chains sorted into 'raw hash' order? I think that would mean the 'unzip' only had to change a single linkage. David -- 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