* 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 a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox