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: Wed, 23 May 2012 19:09:44 +0200 From: Peter Zijlstra <a.p.zijlstra@...llo.nl> To: Jan Beulich <JBeulich@...e.com> Cc: Alex Shi <alex.shi@...el.com>, borislav.petkov@....com, arnd@...db.de, akinobu.mita@...il.com, eric.dumazet@...il.com, fweisbec@...il.com, rostedt@...dmis.org, hughd@...gle.com, jeremy@...p.org, len.brown@...el.com, tony.luck@...el.com, yongjie.ren@...el.com, kamezawa.hiroyu@...fujitsu.com, seto.hidetoshi@...fujitsu.com, penberg@...nel.org, yinghai@...nel.org, tglx@...utronix.de, akpm@...ux-foundation.org, ak@...ux.intel.com, luto@....edu, avi@...hat.com, dhowells@...hat.com, mingo@...hat.com, riel@...hat.com, cpw@....com, steiner@....com, linux-kernel@...r.kernel.org, viro@...iv.linux.org.uk, hpa@...or.com Subject: Re: [PATCH v7 8/8] x86/tlb: just do tlb flush on one of siblings of SMT On Wed, 2012-05-23 at 16:05 +0100, Jan Beulich wrote: > >>> On 23.05.12 at 16:15, Alex Shi <alex.shi@...el.com> wrote: > > + /* doing flush on both siblings of SMT is just wasting time */ > > + cpumask_copy(&flush_mask, cpumask); > > + if (likely(smp_num_siblings > 1)) { > > + rand = jiffies; > > + /* See "Numerical Recipes in C", second edition, p. 284 */ > > + rand = rand * 1664525L + 1013904223L; > > + rand &= 0x1; > > + > > + for_each_cpu(cpu, &flush_mask) { > > + sblmask = cpu_sibling_mask(cpu); > > + if (cpumask_subset(sblmask, &flush_mask)) { > > + if (rand == 0) > > + cpu_clear(cpu, flush_mask); > > + else > > + cpu_clear(cpumask_next(cpu, sblmask), > > + flush_mask); > > + } > > + } > > + } > > + > > There is no comment or anything else indicating that this is > suitable for dual-thread CPUs only - when there are more than > 2 threads per core, the intended effect won't be achieved. Why would that be? Won't higher thread count still share the same resources just more so? > I'd > recommend making the logic generic from the beginning, but if > that doesn't seem feasible to you, at least a comment stating > the limitation should be added imo. My objection to the whole lot is that its looks mightily expensive on large machines, cpumask operations aren't cheap when you've got 4k cpus etc.. Also, you very much cannot put cpumask_t on stack. -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@...r.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists