All of lore.kernel.org
 help / color / mirror / Atom feed
* What should we be doing to stress-test kfree_rcu()?
@ 2020-04-01 18:44 Paul E. McKenney
  2020-04-01 20:50 ` Joel Fernandes
  0 siblings, 1 reply; 4+ messages in thread
From: Paul E. McKenney @ 2020-04-01 18:44 UTC (permalink / raw)
  To: urezki, joel; +Cc: linux-kernel, rcu

Hello!

What should we be doing to stress-test kfree_rcu(), including its ability
to cope with OOM conditions?  Yes, rcuperf runs are nice, but they are not
currently doing much more than testing base functionality, performance,
and scalability.

							Thanx, Paul

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: What should we be doing to stress-test kfree_rcu()?
  2020-04-01 18:44 What should we be doing to stress-test kfree_rcu()? Paul E. McKenney
@ 2020-04-01 20:50 ` Joel Fernandes
  2020-04-01 21:16   ` Uladzislau Rezki
  0 siblings, 1 reply; 4+ messages in thread
From: Joel Fernandes @ 2020-04-01 20:50 UTC (permalink / raw)
  To: Paul E. McKenney; +Cc: urezki, linux-kernel, rcu

On Wed, Apr 01, 2020 at 11:44:15AM -0700, Paul E. McKenney wrote:
> Hello!
> 
> What should we be doing to stress-test kfree_rcu(), including its ability
> to cope with OOM conditions?  Yes, rcuperf runs are nice, but they are not
> currently doing much more than testing base functionality, performance,
> and scalability.

I already stress kfree_rcu() with rcuperf right now to a point of OOM and
make sure it does not OOM. The way I do this is set my VM to low memory (like
512MB) and then flood kfree_rcu()s. After the shrinker changes, I don't see
OOM with my current rcuperf settings.

Not saying that my testing is sufficient, just saying this is what I do. It
would be good to get a real workload to trigger lot of kfree_rcu() activity
as well especially on low memory systems. Any ideas on that?

One idea could be to trigger memory pressure from unrelated allocations (such
as userspace memory hogs), and see how it perform with memory-pressure. For
one, the shrinker should trigger in such situations to force the queue into
waiting for a GP in such situations instead of batching too much.

We are also missing vmalloc() tests. I remember Vlad had some clever vmalloc
tests around for his great vmalloc rewrites :). Vlad, any thoughts on getting
to stress kvfree_rcu()?

thanks,

 - Joel


^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: What should we be doing to stress-test kfree_rcu()?
  2020-04-01 20:50 ` Joel Fernandes
@ 2020-04-01 21:16   ` Uladzislau Rezki
  2020-04-01 21:24     ` Paul E. McKenney
  0 siblings, 1 reply; 4+ messages in thread
From: Uladzislau Rezki @ 2020-04-01 21:16 UTC (permalink / raw)
  To: Joel Fernandes; +Cc: Paul E. McKenney, urezki, linux-kernel, rcu

On Wed, Apr 01, 2020 at 04:50:12PM -0400, Joel Fernandes wrote:
> On Wed, Apr 01, 2020 at 11:44:15AM -0700, Paul E. McKenney wrote:
> > Hello!
> > 
> > What should we be doing to stress-test kfree_rcu(), including its ability
> > to cope with OOM conditions?  Yes, rcuperf runs are nice, but they are not
> > currently doing much more than testing base functionality, performance,
> > and scalability.
> 
> I already stress kfree_rcu() with rcuperf right now to a point of OOM and
> make sure it does not OOM. The way I do this is set my VM to low memory (like
> 512MB) and then flood kfree_rcu()s. After the shrinker changes, I don't see
> OOM with my current rcuperf settings.
> 
> Not saying that my testing is sufficient, just saying this is what I do. It
> would be good to get a real workload to trigger lot of kfree_rcu() activity
> as well especially on low memory systems. Any ideas on that?
> 
> One idea could be to trigger memory pressure from unrelated allocations (such
> as userspace memory hogs), and see how it perform with memory-pressure. For
> one, the shrinker should trigger in such situations to force the queue into
> waiting for a GP in such situations instead of batching too much.
> 
> We are also missing vmalloc() tests. I remember Vlad had some clever vmalloc
> tests around for his great vmalloc rewrites :). Vlad, any thoughts on getting
> to stress kvfree_rcu()?
> 
Actually i updated(localy for my tests) the lib/test_vmalloc.c module with extra
test cases to stress kvfree_rcu() stuff. I think i should add them :)

--
Vlad Rezki

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: What should we be doing to stress-test kfree_rcu()?
  2020-04-01 21:16   ` Uladzislau Rezki
@ 2020-04-01 21:24     ` Paul E. McKenney
  0 siblings, 0 replies; 4+ messages in thread
From: Paul E. McKenney @ 2020-04-01 21:24 UTC (permalink / raw)
  To: Uladzislau Rezki; +Cc: Joel Fernandes, linux-kernel, rcu

On Wed, Apr 01, 2020 at 11:16:07PM +0200, Uladzislau Rezki wrote:
> On Wed, Apr 01, 2020 at 04:50:12PM -0400, Joel Fernandes wrote:
> > On Wed, Apr 01, 2020 at 11:44:15AM -0700, Paul E. McKenney wrote:
> > > Hello!
> > > 
> > > What should we be doing to stress-test kfree_rcu(), including its ability
> > > to cope with OOM conditions?  Yes, rcuperf runs are nice, but they are not
> > > currently doing much more than testing base functionality, performance,
> > > and scalability.
> > 
> > I already stress kfree_rcu() with rcuperf right now to a point of OOM and
> > make sure it does not OOM. The way I do this is set my VM to low memory (like
> > 512MB) and then flood kfree_rcu()s. After the shrinker changes, I don't see
> > OOM with my current rcuperf settings.
> > 
> > Not saying that my testing is sufficient, just saying this is what I do. It
> > would be good to get a real workload to trigger lot of kfree_rcu() activity
> > as well especially on low memory systems. Any ideas on that?
> > 
> > One idea could be to trigger memory pressure from unrelated allocations (such
> > as userspace memory hogs), and see how it perform with memory-pressure. For
> > one, the shrinker should trigger in such situations to force the queue into
> > waiting for a GP in such situations instead of batching too much.

This would be good!

> > We are also missing vmalloc() tests. I remember Vlad had some clever vmalloc
> > tests around for his great vmalloc rewrites :). Vlad, any thoughts on getting
> > to stress kvfree_rcu()?
> > 
> Actually i updated(localy for my tests) the lib/test_vmalloc.c module with extra
> test cases to stress kvfree_rcu() stuff. I think i should add them :)

As would this!  ;-)

							Thanx, Paul

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2020-04-01 21:24 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-04-01 18:44 What should we be doing to stress-test kfree_rcu()? Paul E. McKenney
2020-04-01 20:50 ` Joel Fernandes
2020-04-01 21:16   ` Uladzislau Rezki
2020-04-01 21:24     ` Paul E. McKenney

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.