From 1d897d19f31dd6d0411eb01ac4695e1c6aa8836a Mon Sep 17 00:00:00 2001 From: Doug Moore Date: Fri, 26 Jul 2024 11:51:17 -0500 Subject: [PATCH] netisr: avoid ffs(0) A rearrangement to avoid computing ffs(0) saves 128 bytes in resulting amd64 object code. Reviewed by: brooks Differential Revision: https://reviews.freebsd.org/D41254 --- sys/net/netisr.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/sys/net/netisr.c b/sys/net/netisr.c index 8c44d112a4e3..4ae1aa9ab89d 100644 --- a/sys/net/netisr.c +++ b/sys/net/netisr.c @@ -968,8 +968,8 @@ swi_net(void *arg) nwsp->nws_flags |= NWS_RUNNING; nwsp->nws_flags &= ~NWS_SCHEDULED; while ((bits = nwsp->nws_pendingbits) != 0) { - while ((prot = ffs(bits)) != 0) { - prot--; + while (bits != 0) { + prot = ffs(bits) - 1; bits &= ~(1 << prot); (void)netisr_process_workstream_proto(nwsp, prot); }