Segher Boessenkool <seg...@kernel.crashing.org> writes: > On Thu, Jan 17, 2019 at 11:13:26PM +1100, Michael Ellerman wrote: >> The recent rewrite of the SLB code into C included the assumption that >> all CPUs we run on have at least 32 SLB entries. This is currently >> true but a bit fragile as the SLB size is actually defined by the >> device tree and so could theoretically change at any time. > > It also is guaranteed by the architecture, since at least 2.02, FWIW.
True. Actually 2.00 says at least 32. Unfortunately we don't live in a world where "the architecture guarantees it" has any bearing on reality :) But given it *should* always be at least 32 maybe I should optimise for that case. We could use a static key to skip the U32_MAX comparison and go down the else path. cheers