On 2025-03-15 14:25:16, I Hsin Cheng wrote: >The variable "polled" in smc_wr_tx_tasklet_fn is a counter to determine >whether the loop has been executed for the first time. Refactor the type >of "polled" from "int" to "bool" can reduce the size of generated code >size by 12 bytes shown with the test below > >$ ./scripts/bloat-o-meter vmlinux_old vmlinux_new >add/remove: 0/0 grow/shrink: 0/1 up/down: 0/-12 (-12) >Function old new delta >smc_wr_tx_tasklet_fn 1076 1064 -12 >Total: Before=24795091, After=24795079, chg -0.00% > >In some configuration, the compiler will complain this function for >exceeding 1024 bytes for function stack, this change can at least reduce >the size by 12 bytes within manner. > >Signed-off-by: I Hsin Cheng <richard120310@xxxxxxxxx> Reviewed-by: Dust Li <dust.li@xxxxxxxxxxxxxxxxx> Best regards, Dust >--- > net/smc/smc_wr.c | 8 ++++---- > 1 file changed, 4 insertions(+), 4 deletions(-) > >diff --git a/net/smc/smc_wr.c b/net/smc/smc_wr.c >index b04a21b8c511..3cc435ed7fde 100644 >--- a/net/smc/smc_wr.c >+++ b/net/smc/smc_wr.c >@@ -138,14 +138,14 @@ static void smc_wr_tx_tasklet_fn(struct tasklet_struct *t) > struct smc_ib_device *dev = from_tasklet(dev, t, send_tasklet); > struct ib_wc wc[SMC_WR_MAX_POLL_CQE]; > int i = 0, rc; >- int polled = 0; >+ bool polled = false; > > again: >- polled++; >+ polled = !polled; > do { > memset(&wc, 0, sizeof(wc)); > rc = ib_poll_cq(dev->roce_cq_send, SMC_WR_MAX_POLL_CQE, wc); >- if (polled == 1) { >+ if (polled) { > ib_req_notify_cq(dev->roce_cq_send, > IB_CQ_NEXT_COMP | > IB_CQ_REPORT_MISSED_EVENTS); >@@ -155,7 +155,7 @@ static void smc_wr_tx_tasklet_fn(struct tasklet_struct *t) > for (i = 0; i < rc; i++) > smc_wr_tx_process_cqe(&wc[i]); > } while (rc > 0); >- if (polled == 1) >+ if (polled) > goto again; > } > >-- >2.43.0 >