Thread (14 messages) 14 messages, 5 authors, 2021-07-08

div_u64/do_div stack size usage, was Re: [v3] block: Removed a warning while compiling with a cross compiler for parisc

flat view

From: Christoph Hellwig <hch@infradead.org>
Date: 2021-07-06 17:02:21
Also in: lkml

On Tue, Jul 06, 2021 at 05:30:54PM +0200, Abd-Alrhman Masalkhi wrote:
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.
Adding a bunch of relevant parties to the CC list - any idea how we
can make the generic do_div / div_u64 not use up such gigantic amounts
of stack?
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help