On Fri, Mar 15, 2024 at 12:13:22PM +0000, Andrew Cooper wrote: > The use of __clear_bit() forces dmask to be spilled to the stack, and > interferes with the compiler heuristcs for some upcoming improvements to the > ffs() code generation. > > First, shrink dmask to just the active vectors by making out the upper bits. > This replaces the "i < msi->vectors" part of the loop condition. > > Next, use a simple while() loop with "clear bottom bit" expressed in plane C, > which affords the optimiser a far better understanding of what the loop is > doing. > > Signed-off-by: Andrew Cooper <andrew.coop...@citrix.com>
Reviewed-by: Roger Pau Monné <roger....@citrix.com> Thanks, Roger.