Increase maximum size of dmesg buffer to 16MB.
PATCH 1/1 Increase maximum size of dmesg buffer to 16MB.
From: Nate Stahl <[email protected]>
A full task stack dump of all tasks on a machine can generate more than 4MB of output to dmesg. Dumping this data to the serial console causes the machine to hang for a number of minutes (an unacceptable impact), but dumping the same data to memory is feasible if the dmesg buffer is sized large enough to hold the output. Set to 16MB which will hopefully be large enough to handle a dump from any of our servers at this time.
--- init/Kconfig | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
init/Kconfig +1 -1
@@ -812,7 +812,7 @@ config IKCONFIG_PROC config LOG_BUF_SHIFT int "Kernel log buffer size (16 => 64KB, 17 => 128KB)" - range 12 21 + range 12 24 default 17 depends on PRINTK help
Signature · 1 line
1.9.1
Quoted 11 lines · Vinson Lee
From: Nate Stahl <[email protected]>
A full task stack dump of all tasks on a machine can generate more than 4MB of output to dmesg. Dumping this data to the serial console causes the machine to hang for a number of minutes (an unacceptable impact), but dumping the same data to memory is feasible if the dmesg buffer is sized large enough to hold the output. Set to 16MB which will hopefully be large enough to handle a dump from any of our servers at this time.
Signed-off-by Nate Stahl <[email protected]>Signed-off-by Vinson Lee <[email protected]>
Isn't this the perpetual issue of having large number of CPUs? If so consider use of LOG_CPU_MAX_BUF_SHIFT instead, otherwise clarifying how this would be a different issue would be good. LOG_CPU_MAX_BUF_SHIFT should scale nicely but you can increase it as well, is it being used?
Luis
Quoted 13 lines · Luis R. Rodriguez
Quoted 11 lines · Vinson Lee
From: Nate Stahl <[email protected]>
A full task stack dump of all tasks on a machine can generate more than 4MB of output to dmesg. Dumping this data to the serial console causes the machine to hang for a number of minutes (an unacceptable impact), but dumping the same data to memory is feasible if the dmesg buffer is sized large enough to hold the output. Set to 16MB which will hopefully be large enough to handle a dump from any of our servers at this time.
Signed-off-by Nate Stahl <[email protected]>Signed-off-by Vinson Lee <[email protected]>
Quoted 6 lines
Isn't this the perpetual issue of having large number of CPUs? If so consider use of
LOG_CPU_MAX_BUF_SHIFTinstead, otherwise clarifying how this would be a different issue would be good.LOG_CPU_MAX_BUF_SHIFTshould scale nicely but you can increase it as well, is it being used?Luis
No, it is not being used.
LOG_CPU_MAX_BUF_SHIFT is a 3.17+ config and we do not have any of the above mentioned production machines running 3.17 or later. This patch did help us with debugging when running on older stable kernels though.
Thanks for the quick reply.
Quoted 19 lines · Vinson Lee
Quoted 18 lines · Luis R. Rodriguez
Quoted 11 lines · Vinson Lee
From: Nate Stahl <[email protected]>
A full task stack dump of all tasks on a machine can generate more than 4MB of output to dmesg. Dumping this data to the serial console causes the machine to hang for a number of minutes (an unacceptable impact), but dumping the same data to memory is feasible if the dmesg buffer is sized large enough to hold the output. Set to 16MB which will hopefully be large enough to handle a dump from any of our servers at this time.
Signed-off-by Nate Stahl <[email protected]>Signed-off-by Vinson Lee <[email protected]>Isn't this the perpetual issue of having large number of CPUs? If so consider use of
LOG_CPU_MAX_BUF_SHIFTinstead, otherwise clarifying how this would be a different issue would be good.LOG_CPU_MAX_BUF_SHIFTshould scale nicely but you can increase it as well, is it being used?
Quoted 7 lines
Quoted 1 line
Luis
No, it is not being used.
LOG_CPU_MAX_BUF_SHIFTis a 3.17+ config and we do not have any of the above mentioned production machines running 3.17 or later.
Then consider backporting it.
Quoted 2 lines
This patch did help us with debugging when running on older stable kernels though.
Understood, give the other stuff a spin.
Luis