Re: [PATCH v4 2/2] rcuperf: Add kfree_rcu() performance Tests

2019-08-20 Thread Joel Fernandes
On Tue, Aug 20, 2019 at 05:44:36PM -0700, Paul E. McKenney wrote: > On Tue, Aug 20, 2019 at 08:31:32PM -0400, Joel Fernandes wrote: > > On Tue, Aug 20, 2019 at 08:27:05PM -0400, Joel Fernandes wrote: > > [snip] > > > > > > Or is the idea to time the kfree_rcu() loop separately? (I don't > > > >

Re: [PATCH v4 2/2] rcuperf: Add kfree_rcu() performance Tests

2019-08-20 Thread Paul E. McKenney
On Tue, Aug 20, 2019 at 08:31:32PM -0400, Joel Fernandes wrote: > On Tue, Aug 20, 2019 at 08:27:05PM -0400, Joel Fernandes wrote: > [snip] > > > > > Or is the idea to time the kfree_rcu() loop separately? (I don't see > > > > > any such separate timing, though.) > > > > > > > > The kmalloc()

Re: [PATCH v4 2/2] rcuperf: Add kfree_rcu() performance Tests

2019-08-20 Thread Joel Fernandes
On Tue, Aug 20, 2019 at 08:27:05PM -0400, Joel Fernandes wrote: [snip] > > > > Or is the idea to time the kfree_rcu() loop separately? (I don't see > > > > any such separate timing, though.) > > > > > > The kmalloc() times are included within the kfree loop. The timing of > > > kfree_rcu() is

Re: [PATCH v4 2/2] rcuperf: Add kfree_rcu() performance Tests

2019-08-20 Thread Joel Fernandes
On Mon, Aug 19, 2019 at 07:50:56PM -0700, Paul E. McKenney wrote: > > > > > > + do { > > > > > > + for (i = 0; i < kfree_alloc_num; i++) { > > > > > > + alloc_ptrs[i] = kmalloc(sizeof(struct > > > > > > kfree_obj), GFP_KERNEL); > > > > > > + if

Re: [PATCH v4 2/2] rcuperf: Add kfree_rcu() performance Tests

2019-08-19 Thread Paul E. McKenney
On Mon, Aug 19, 2019 at 07:51:23PM -0400, Joel Fernandes wrote: > On Mon, Aug 19, 2019 at 03:23:30PM -0700, Paul E. McKenney wrote: > [snip] > > > [snip] > > > > > @@ -592,6 +593,175 @@ rcu_perf_shutdown(void *arg) > > > > > return -EINVAL; > > > > > } > > > > > > > > > > +/* > > > > > +

Re: [PATCH v4 2/2] rcuperf: Add kfree_rcu() performance Tests

2019-08-19 Thread Joel Fernandes
On Mon, Aug 19, 2019 at 03:23:30PM -0700, Paul E. McKenney wrote: [snip] > > [snip] > > > > @@ -592,6 +593,175 @@ rcu_perf_shutdown(void *arg) > > > > return -EINVAL; > > > > } > > > > > > > > +/* > > > > + * kfree_rcu performance tests: Start a kfree_rcu loop on all CPUs for > > > >

Re: [PATCH v4 2/2] rcuperf: Add kfree_rcu() performance Tests

2019-08-19 Thread Paul E. McKenney
On Mon, Aug 19, 2019 at 03:33:27PM -0400, Joel Fernandes wrote: > On Wed, Aug 14, 2019 at 03:58:50PM -0700, Paul E. McKenney wrote: > > On Wed, Aug 14, 2019 at 12:04:11PM -0400, Joel Fernandes (Google) wrote: > > > This test runs kfree_rcu in a loop to measure performance of the new > > >

Re: [PATCH v4 2/2] rcuperf: Add kfree_rcu() performance Tests

2019-08-19 Thread Joel Fernandes
On Wed, Aug 14, 2019 at 03:58:50PM -0700, Paul E. McKenney wrote: > On Wed, Aug 14, 2019 at 12:04:11PM -0400, Joel Fernandes (Google) wrote: > > This test runs kfree_rcu in a loop to measure performance of the new > > kfree_rcu batching functionality. > > kfree_rcu(). Fixed. > > The following

Re: [PATCH v4 2/2] rcuperf: Add kfree_rcu() performance Tests

2019-08-14 Thread Paul E. McKenney
On Wed, Aug 14, 2019 at 12:04:11PM -0400, Joel Fernandes (Google) wrote: > This test runs kfree_rcu in a loop to measure performance of the new > kfree_rcu batching functionality. kfree_rcu(). > The following table shows results when booting with arguments: > rcuperf.kfree_loops=20

[PATCH v4 2/2] rcuperf: Add kfree_rcu() performance Tests

2019-08-14 Thread Joel Fernandes (Google)
This test runs kfree_rcu in a loop to measure performance of the new kfree_rcu batching functionality. The following table shows results when booting with arguments: rcuperf.kfree_loops=20 rcuperf.kfree_alloc_num=1000 rcuperf.kfree_rcu_test=1 In addition, rcuperf.kfree_no_batch is used to