Re: [v3] block: Removed a warning while compiling with a cross compiler for parisc

From: Abd-Alrhman Masalkhi
Date: Tue Jul 06 2021 - 11:31:31 EST


Hello Christoph,

Thank you for your comment, the div_u64 function is called 5 times inside diskstats_show function, so I have made a test case; I have replaced one call with a constant number then I have compiled the kernel, the result was instead of emitting "the frame size of 1656 bytes is larger than 1280 bytes" warning, it has emitted "the frame size of 1328 bytes is larger than 1280 bytes" warning, so I came to the conclusion that each call to div_u64 will add 328 bytes to the stack frame of diskstats_show function, since it is an inlined function. so I thought it might be the solution that to preventing div_u64 to be inlined in diskstats_show function. I have used the new printf specifier to print the bdevname as you advised me to do and it has reduced the stack footprint, but the reduced amount was not enough to not emit the warning anymore, so I looked into div_u64... do you think the approach that I have taken is the proper fix?