On Tue, May 24, 2022 at 02:32:36PM +0200, Borislav Petkov wrote: > I still need to run it on production Icelake and that is kinda being > delayed due to server room cooling issues (don't ask ;-\). So I finally got a production level ICL-X: [ 0.220822] smpboot: CPU0: Intel(R) Xeon(R) Gold 6336Y CPU @ 2.40GHz (family: 0x6, model: 0x6a, stepping: 0x6) and frankly, this looks really weird: clear_user_original: Amean: 19679.4 (Sum: 13652560764, samples: 693750) Amean: 19743.7 (Sum: 13693470604, samples: 693562) (I ran it twice just to be sure.) ERMS: Amean: 20374.3 (Sum: 13910601024, samples: 682752) Amean: 20453.7 (Sum: 14186223606, samples: 693576) FSRM: Amean: 20458.2 (Sum: 13918381386, sample s: 680331) so either that particular box is weird or Icelake really is slower wrt FSRM or I've fat-fingered it somewhere. But my measuring is as trivial as: static __always_inline unsigned long clear_user(void __user *to, unsigned long n) { if (access_ok(to, n)) { unsigned long start, end, ret; start = rdtsc_ordered(); ret = __clear_user(to, n); end = rdtsc_ordered(); trace_printk("to: 0x%lx, size: %ld, cycles: %lu\n", (unsigned long)to, n, end - start); return ret; } return n; } so if anything I don't see what the problem could be... Hmm. -- Regards/Gruss, Boris. https://people.kernel.org/tglx/notes-about-netiquette