On Sat, Nov 16, 2024 at 07:41:28AM +0100, Mateusz Guzik wrote: > Suppose a thread sharing the table started a resize, while > sysctl_nr_open got lowered to a value which prohibits it. This is still > going to go through with and without the patch, which is fine. > > Further suppose another thread shows up to do a matching expansion while > resize_in_progress == true. It is going to error out since it performs > the sysctl_nr_open check *before* finding out if there is an expansion > in progress. But the aformentioned thread is going to succeded, so the > error is spurious (and it would not happen if the thread showed up a > little bit later). > > Checking the sysctl *after* we know there are no pending updates sorts > it out. What for? No, seriously - what's the point? What could possibly observe an inconsistent situation? How would that look like?