Thread (4 messages) 4 messages, 3 authors, 2025-06-10

Re: [PATCH] fbtft: reduce stack usage

flat view

From: "Arnd Bergmann" <arnd@arndb.de>
Date: 2025-06-10 10:35:37
Also in: dri-devel, linux-staging, lkml

On Tue, Jun 10, 2025, at 12:26, Andy Shevchenko wrote:
On Tue, Jun 10, 2025 at 11:24:38AM +0200, Arnd Bergmann wrote:
quoted
Move the varargs handling into a separate noinline function so each
individual function stays below the limit. A better approach might be to
replace the varargs function with one that takes an array of arguments,
but that would be a much larger rework of the other callers.
Reviewed-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>

...
Thanks
quoted
+static noinline_for_stack void fbtft_write_register_64(struct fbtft_par *par,
+							int i, int buf[64])
Perhaps int i, int buf[64] should be u32?
Right, I can send an updated patch, or this could be fixed up when applying
the patch
quoted
+{
+	par->fbtftops.write_register(par, i,
+		buf[0], buf[1], buf[2], buf[3],
+		buf[4], buf[5], buf[6], buf[7],
+		buf[8], buf[9], buf[10], buf[11],
+		buf[12], buf[13], buf[14], buf[15],
+		buf[16], buf[17], buf[18], buf[19],
+		buf[20], buf[21], buf[22], buf[23],
+		buf[24], buf[25], buf[26], buf[27],
+		buf[28], buf[29], buf[30], buf[31],
+		buf[32], buf[33], buf[34], buf[35],
+		buf[36], buf[37], buf[38], buf[39],
+		buf[40], buf[41], buf[42], buf[43],
+		buf[44], buf[45], buf[46], buf[47],
+		buf[48], buf[49], buf[50], buf[51],
+		buf[52], buf[53], buf[54], buf[55],
+		buf[56], buf[57], buf[58], buf[59],
+		buf[60], buf[61], buf[62], buf[63]);
+}
Wondering if we may reuse this in other cases (by providing the additional
length parameter). But it may be done later on.
I tried this and that quickly became a mess. It is probably a good
idea to rework the code to completely avoid the varargs function
pointer and instead take an array here, but this is not something
I could easily do myself as that takes more time and needs better
testing.

       Arnd
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help