1. 09 6月, 2017 1 次提交
  2. 08 6月, 2017 5 次提交
    • P
      rcuperf: Add writer_holdoff boot parameter · 820687a7
      Paul E. McKenney 提交于
      This commit adds a writer_holdoff boot parameter to rcuperf, which is
      intended to be used to test Tree SRCU's auto-expediting.  This
      boot parameter is in microseconds, and defaults to zero (that is,
      disabled).  Set it to a bit larger than srcutree.exp_holdoff,
      keeping the nanosecond/microsecond conversion, to force Tree SRCU
      to auto-expedite more aggressively.
      
      This commit also adds documentation for this parameter, and fixes some
      alphabetization while in the neighborhood.
      Signed-off-by: NPaul E. McKenney <paulmck@linux.vnet.ibm.com>
      820687a7
    • P
      rcuperf: Set more user-friendly defaults · 492b95e5
      Paul E. McKenney 提交于
      Common-case use of rcuperf must set rcuperf.nreaders=0 and if not built
      as a module, rcuperf.shutdown.  This commit therefore sets the default
      for rcuperf.nreaders to zero and sets the default for rcuperf.shutdown
      to zero if rcuperf is built as a module and to one otherwise.
      Signed-off-by: NPaul E. McKenney <paulmck@linux.vnet.ibm.com>
      492b95e5
    • P
      rcuperf: Add test for dynamically initialized srcu_struct · f60cb4d4
      Paul E. McKenney 提交于
      This commit adds a perf_type of "srcud", which species that rcuperf
      test SRCU on a dynamically initialized srcu_struct.
      Signed-off-by: NPaul E. McKenney <paulmck@linux.vnet.ibm.com>
      f60cb4d4
    • P
      rcuperf: Add ability to performance-test call_rcu() and friends · 881ed593
      Paul E. McKenney 提交于
      This commit upgrades rcuperf so that it can do performance testing on
      asynchronous grace-period primitives such as call_srcu().  There is
      a new rcuperf.gp_async module parameter that specifies this new behavior,
      with the pre-existing rcuperf.gp_exp testing expedited grace periods such as
      synchronize_rcu_expedited, and with the default being to test synchronous
      non-expedited grace periods such as synchronize_rcu().
      
      There is also a new rcuperf.gp_async_max module parameter that specifies
      the maximum number of outstanding callbacks per writer kthread, defaulting
      to 1,000.  When this limit is exceeded, the writer thread invokes the
      appropriate flavor of rcu_barrier() to wait for callbacks to drain.
      Signed-off-by: NPaul E. McKenney <paulmck@linux.vnet.ibm.com>
      [ paulmck: Removed the redundant initialization noted by Arnd Bergmann. ]
      881ed593
    • P
      rcuperf: Defer expedited/normal check to end of test · 9683937d
      Paul E. McKenney 提交于
      Current rcuperf startup checks to see if the user asked to measure
      only expedited grace periods, yet constrained all grace periods to be
      normal, or if the user asked to measure only normal grace periods, yet
      constrained all grace periods to be expedited.  Useless tests of this
      sort are aborted.
      
      Unfortunately, making RCU work through the mid-boot dead zone [1] puts
      RCU into expedited-only mode during that zone.  Which happens to also
      be the exact time that rcuperf carries out the aforementioned check.
      So if the user asks rcuperf to measure only normal grace periods (the
      default), rcuperf will now always complain and terminate the test.
      
      This commit therefore moves the checks to rcu_perf_cleanup().  This has
      the disadvantage of failing to abort useless tests, but avoids the need to
      create yet another kthread and the need to do fiddly checks involving the
      holdoff time.  (Yes, another approach is to do the checks in a late-stage
      init function, but that would require some way to communicate badness
      to rcuperf's kthreads, and seems not worth the bother.)
      
      [1] https://lwn.net/Articles/716148/Signed-off-by: NPaul E. McKenney <paulmck@linux.vnet.ibm.com>
      9683937d
  3. 02 3月, 2017 1 次提交
  4. 23 8月, 2016 1 次提交
  5. 15 6月, 2016 3 次提交
  6. 01 4月, 2016 7 次提交