All of lore.kernel.org
 help / color / mirror / Atom feed
* kfree_rcu_{monitor,work} hogged CPU for >13333us
@ 2024-07-23  9:16 Breno Leitao
  0 siblings, 0 replies; only message in thread
From: Breno Leitao @ 2024-07-23  9:16 UTC (permalink / raw)
  To: paulmck, urezki; +Cc: rcu

Hello,

I have some systems with CONFIG_WQ_CPU_INTENSIVE_REPORT enabled, and rcu
workqeues are in the top offenders with the following messages:

	workqueue: kfree_rcu_monitor hogged CPU for >13333us 515 times, consider switching to WQ_UNBOUND
	workqueue: kfree_rcu_work hogged CPU for >13333us 1027 times, consider switching to WQ_UNBOUND

Chatting to Paul privately, he suggested me getting the time spend in
the two workqueues/functions above, and I created the following script
to get the histogram for these two functions:

	https://github.com/leitao/debug/blob/main/examples/rcu_timer/rcu-timer.bt

And this is the histogram I get, when running it for a few minutes
(where the lines are in msecs):


	== monitor ==
	@all_monitor:
	[8, 16)               59 |@@@@@                                               |
	[16, 32)             300 |@@@@@@@@@@@@@@@@@@@@@@@@@@@                         |
	[32, 64)               2 |                                                    |
	[64, 128)              7 |                                                    |
	[128, 256)            51 |@@@@                                                |
	[256, 512)           157 |@@@@@@@@@@@@@@                                      |
	[512, 1K)            356 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@                    |
	[1K, 2K)             381 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@                  |
	[2K, 4K)             480 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@        |
	[4K, 8K)             567 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@|
	[8K, 16K)            263 |@@@@@@@@@@@@@@@@@@@@@@@@                            |
	[16K, 32K)            25 |@@                                                  |
	[32K, 64K)             3 |                                                    |

	== work ==
	@all_work:
	[32, 64)              27 |@@@@@@@@@                                           |
	[64, 128)              2 |                                                    |
	[128, 256)             1 |                                                    |
	[256, 512)             7 |@@                                                  |
	[512, 1K)             15 |@@@@@                                               |
	[1K, 2K)              24 |@@@@@@@@                                            |
	[2K, 4K)              32 |@@@@@@@@@@                                          |
	[4K, 8K)              46 |@@@@@@@@@@@@@@@                                     |
	[8K, 16K)            154 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@|
	[16K, 32K)            85 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@                        |
	[32K, 64K)             3 |@                                                   |


I also broke it down for pid if it is useflu, and the output could be
found at:

	https://paste.debian.net/1324062/


Thanks
--breno

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2024-07-23  9:16 UTC | newest]

Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-07-23  9:16 kfree_rcu_{monitor,work} hogged CPU for >13333us Breno Leitao

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.