All of lore.kernel.org
 help / color / mirror / Atom feed
From: kernel test robot <oliver.sang@intel.com>
To: Aaron Toponce <aaron.toponce@gmail.com>
Cc: <oe-lkp@lists.linux.dev>, <lkp@intel.com>,
	<linux-kernel@vger.kernel.org>, <linux-crypto@vger.kernel.org>,
	<ying.huang@intel.com>, <feng.tang@intel.com>,
	<fengwei.yin@intel.com>, <aaron.toponce@gmail.com>,
	Theodore Ts'o <tytso@mit.edu>,
	"Jason A. Donenfeld" <Jason@zx2c4.com>,
	Herbert Xu <herbert@gondor.apana.org.au>,
	"David S. Miller" <davem@davemloft.net>, <oliver.sang@intel.com>
Subject: Re: [PATCH] random: add chacha8_block and swtich the rng to it
Date: Wed, 8 May 2024 15:41:46 +0800	[thread overview]
Message-ID: <202405081501.e1c083b0-oliver.sang@intel.com> (raw)
In-Reply-To: <20240429134942.2873253-1-aaron.toponce@gmail.com>



Hello,

kernel test robot noticed a 80.5% improvement of stress-ng.getrandom.ops_per_sec on:


commit: 470a8ed1624a45a74176a786e28fac3234c71424 ("[PATCH] random: add chacha8_block and swtich the rng to it")
url: https://github.com/intel-lab-lkp/linux/commits/Aaron-Toponce/random-add-chacha8_block-and-swtich-the-rng-to-it/20240430-130757
base: https://git.kernel.org/cgit/linux/kernel/git/herbert/cryptodev-2.6.git master
patch link: https://lore.kernel.org/all/20240429134942.2873253-1-aaron.toponce@gmail.com/
patch subject: [PATCH] random: add chacha8_block and swtich the rng to it

testcase: stress-ng
test machine: 64 threads 2 sockets Intel(R) Xeon(R) Gold 6346 CPU @ 3.10GHz (Ice Lake) with 256G memory
parameters:

	nr_threads: 100%
	testtime: 60s
	test: getrandom
	cpufreq_governor: performance



Details are as below:
-------------------------------------------------------------------------------------------------->


The kernel config and materials to reproduce are available at:
https://download.01.org/0day-ci/archive/20240508/202405081501.e1c083b0-oliver.sang@intel.com

=========================================================================================
compiler/cpufreq_governor/kconfig/nr_threads/rootfs/tbox_group/test/testcase/testtime:
  gcc-13/performance/x86_64-rhel-8.3/100%/debian-12-x86_64-20240206.cgz/lkp-icl-2sp7/getrandom/stress-ng/60s

commit: 
  ed265f7fd9 ("crypto: x86/aes-gcm - simplify GCM hash subkey derivation")
  470a8ed162 ("random: add chacha8_block and swtich the rng to it")

ed265f7fd9a635d7 470a8ed1624a45a74176a786e28 
---------------- --------------------------- 
         %stddev     %change         %stddev
             \          |                \  
 1.793e+09           +80.7%  3.239e+09        stress-ng.getrandom.getrandom_bits_per_sec
 1.054e+08           +80.5%  1.901e+08        stress-ng.getrandom.ops
   1755950           +80.5%    3168792        stress-ng.getrandom.ops_per_sec
     13.18           +74.9%      23.05        stress-ng.time.user_time
 1.088e+10           +52.5%   1.66e+10        perf-stat.i.branch-instructions
      0.29 ±  8%      -0.1        0.20 ±  7%  perf-stat.i.branch-miss-rate%
      0.57            +7.2%       0.61        perf-stat.i.cpi
 3.411e+11            -6.7%  3.182e+11        perf-stat.i.instructions
      1.75            -6.7%       1.63        perf-stat.i.ipc
      0.29 ±  8%      -0.1        0.20 ±  7%  perf-stat.overall.branch-miss-rate%
      0.57            +7.2%       0.61        perf-stat.overall.cpi
      1.75            -6.7%       1.64        perf-stat.overall.ipc
  1.07e+10           +52.6%  1.633e+10        perf-stat.ps.branch-instructions
 3.355e+11            -6.7%   3.13e+11        perf-stat.ps.instructions
 2.049e+13            -6.3%  1.919e+13        perf-stat.total.instructions
     74.33           -18.9       55.41        perf-profile.calltrace.cycles-pp.chacha_permute.chacha_block_generic.get_random_bytes_user.__x64_sys_getrandom.do_syscall_64
     83.70           -10.8       72.88        perf-profile.calltrace.cycles-pp.chacha_block_generic.get_random_bytes_user.__x64_sys_getrandom.do_syscall_64.entry_SYSCALL_64_after_hwframe
     97.41            -1.3       96.15        perf-profile.calltrace.cycles-pp.get_random_bytes_user.__x64_sys_getrandom.do_syscall_64.entry_SYSCALL_64_after_hwframe.getrandom
     98.10            -0.7       97.41        perf-profile.calltrace.cycles-pp.__x64_sys_getrandom.do_syscall_64.entry_SYSCALL_64_after_hwframe.getrandom
     98.19            -0.6       97.55        perf-profile.calltrace.cycles-pp.do_syscall_64.entry_SYSCALL_64_after_hwframe.getrandom
     98.23            -0.6       97.61        perf-profile.calltrace.cycles-pp.entry_SYSCALL_64_after_hwframe.getrandom
     98.43            -0.4       97.99        perf-profile.calltrace.cycles-pp.getrandom
      1.30            -0.2        1.14        perf-profile.calltrace.cycles-pp.chacha_block_generic.crng_fast_key_erasure.crng_make_state.get_random_bytes_user.__x64_sys_getrandom
      1.56            +0.0        1.58        perf-profile.calltrace.cycles-pp.crng_fast_key_erasure.crng_make_state.get_random_bytes_user.__x64_sys_getrandom.do_syscall_64
      1.62            +0.1        1.69        perf-profile.calltrace.cycles-pp.crng_make_state.get_random_bytes_user.__x64_sys_getrandom.do_syscall_64.entry_SYSCALL_64_after_hwframe
      1.05            +0.2        1.26        perf-profile.calltrace.cycles-pp.get_random_bytes_user.__x64_sys_getrandom.do_syscall_64.entry_SYSCALL_64_after_hwframe.getentropy
      1.07            +0.2        1.30        perf-profile.calltrace.cycles-pp.__x64_sys_getrandom.do_syscall_64.entry_SYSCALL_64_after_hwframe.getentropy
      1.13            +0.3        1.40        perf-profile.calltrace.cycles-pp.do_syscall_64.entry_SYSCALL_64_after_hwframe.getentropy
      1.16            +0.3        1.45        perf-profile.calltrace.cycles-pp.entry_SYSCALL_64_after_hwframe.getentropy
      1.31            +0.4        1.73        perf-profile.calltrace.cycles-pp.getentropy
     11.88            +9.5       21.40        perf-profile.calltrace.cycles-pp._copy_to_iter.get_random_bytes_user.__x64_sys_getrandom.do_syscall_64.entry_SYSCALL_64_after_hwframe
     75.73           -19.0       56.70        perf-profile.children.cycles-pp.chacha_permute
     85.45           -11.4       74.03        perf-profile.children.cycles-pp.chacha_block_generic
     99.14            -0.5       98.63        perf-profile.children.cycles-pp.get_random_bytes_user
     99.20            -0.5       98.73        perf-profile.children.cycles-pp.__x64_sys_getrandom
     98.52            -0.4       98.13        perf-profile.children.cycles-pp.getrandom
     99.45            -0.4       99.07        perf-profile.children.cycles-pp.do_syscall_64
     99.49            -0.3       99.14        perf-profile.children.cycles-pp.entry_SYSCALL_64_after_hwframe
      0.44 ±  4%      -0.0        0.40 ±  6%  perf-profile.children.cycles-pp.sysvec_apic_timer_interrupt
      0.46 ±  4%      -0.0        0.42 ±  6%  perf-profile.children.cycles-pp.asm_sysvec_apic_timer_interrupt
      0.42 ±  4%      -0.0        0.38 ±  6%  perf-profile.children.cycles-pp.__sysvec_apic_timer_interrupt
      0.42 ±  4%      -0.0        0.38 ±  6%  perf-profile.children.cycles-pp.hrtimer_interrupt
      0.24 ±  7%      -0.0        0.20 ±  5%  perf-profile.children.cycles-pp.tick_nohz_handler
      0.25 ±  7%      -0.0        0.21 ±  6%  perf-profile.children.cycles-pp.__hrtimer_run_queues
      0.12 ±  4%      -0.0        0.11 ±  7%  perf-profile.children.cycles-pp.scheduler_tick
      1.56            +0.0        1.60        perf-profile.children.cycles-pp.crng_fast_key_erasure
      0.03 ± 70%      +0.0        0.08        perf-profile.children.cycles-pp.stress_getrandom
      0.09            +0.1        0.14        perf-profile.children.cycles-pp.syscall_exit_to_user_mode
      0.00            +0.1        0.07        perf-profile.children.cycles-pp.__memcpy
      1.62            +0.1        1.70        perf-profile.children.cycles-pp.crng_make_state
      0.00            +0.1        0.08 ±  6%  perf-profile.children.cycles-pp.syscall_return_via_sysret
      0.13 ±  3%      +0.1        0.25        perf-profile.children.cycles-pp.entry_SYSRETQ_unsafe_stack
      0.17            +0.1        0.31 ±  2%  perf-profile.children.cycles-pp.entry_SYSCALL_64
      1.37            +0.5        1.83        perf-profile.children.cycles-pp.getentropy
     12.20            +9.8       21.97        perf-profile.children.cycles-pp._copy_to_iter
     75.17           -19.1       56.06        perf-profile.self.cycles-pp.chacha_permute
      0.05            +0.0        0.08 ±  5%  perf-profile.self.cycles-pp.entry_SYSCALL_64_after_hwframe
      0.05 ±  7%      +0.0        0.09        perf-profile.self.cycles-pp.crng_make_state
      0.07            +0.1        0.13 ±  3%  perf-profile.self.cycles-pp.do_syscall_64
      0.06 ±  6%      +0.1        0.12        perf-profile.self.cycles-pp.getentropy
      0.00            +0.1        0.06 ±  6%  perf-profile.self.cycles-pp.__memcpy
      0.00            +0.1        0.06 ±  7%  perf-profile.self.cycles-pp.stress_getrandom
      0.00            +0.1        0.06 ±  7%  perf-profile.self.cycles-pp.syscall_exit_to_user_mode
      0.00            +0.1        0.07 ±  7%  perf-profile.self.cycles-pp.__x64_sys_getrandom
      0.09 ±  5%      +0.1        0.17 ±  2%  perf-profile.self.cycles-pp.getrandom
      0.00            +0.1        0.08 ±  6%  perf-profile.self.cycles-pp.entry_SYSCALL_64
      0.00            +0.1        0.08 ±  6%  perf-profile.self.cycles-pp.syscall_return_via_sysret
      0.13            +0.1        0.24        perf-profile.self.cycles-pp.entry_SYSRETQ_unsafe_stack
      0.23 ±  2%      +0.2        0.39        perf-profile.self.cycles-pp.crng_fast_key_erasure
      1.81            +1.4        3.23        perf-profile.self.cycles-pp.get_random_bytes_user
      9.46            +7.4       16.86        perf-profile.self.cycles-pp.chacha_block_generic
     11.93            +9.6       21.49        perf-profile.self.cycles-pp._copy_to_iter




Disclaimer:
Results have been estimated based on internal Intel analysis and are provided
for informational purposes only. Any difference in system hardware or software
design or configuration may affect actual performance.


-- 
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki


      parent reply	other threads:[~2024-05-08  7:42 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-04-29 13:48 [PATCH] random: add chacha8_block and swtich the rng to it Aaron Toponce
2024-04-30  3:11 ` Eric Biggers
2024-04-30  4:41   ` Aaron Toponce
2024-04-30 16:26     ` Theodore Ts'o
2024-04-30 16:44       ` Aaron Toponce
2024-05-01  2:22         ` Theodore Ts'o
2024-05-01 12:38           ` Jean-Philippe Aumasson
2024-05-01 14:02             ` Aaron Toponce
2024-05-01 12:21 ` Jason A. Donenfeld
2024-05-02 13:41   ` Aaron Toponce
2024-05-08  7:41 ` kernel test robot [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=202405081501.e1c083b0-oliver.sang@intel.com \
    --to=oliver.sang@intel.com \
    --cc=Jason@zx2c4.com \
    --cc=aaron.toponce@gmail.com \
    --cc=davem@davemloft.net \
    --cc=feng.tang@intel.com \
    --cc=fengwei.yin@intel.com \
    --cc=herbert@gondor.apana.org.au \
    --cc=linux-crypto@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=lkp@intel.com \
    --cc=oe-lkp@lists.linux.dev \
    --cc=tytso@mit.edu \
    --cc=ying.huang@intel.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.