On Tuesday, 20 February 2024 01:01:59 CST Arnd Bergmann wrote: > On Mon, Feb 19, 2024, at 23:38, Elizabeth Figura wrote: > > NtWaitForMultipleObjects() can receive a timeout in two forms, relative or > > absolute. Relative timeouts are unaffected by changes to the system time and do > > not count down while the system suspends; for absolute timeouts the opposite is > > true. > > > > In order to make the interface and implementation simpler, the ntsync driver > > only deals in absolute timeouts. However, we need to be able to emulate both > > behaviours apropos suspension and time adjustment, which is achieved by allowing > > either the MONOTONIC or REALTIME clock to be used. > > > > Signed-off-by: Elizabeth Figura <zfigura@xxxxxxxxxxxxxxx> > > I understand that there is no practical problem in building > up the API one patch at a time in the initial merge, but > it still feels wrong to have an incompatible ABI change in > the middle of the series: > > > @@ -35,6 +37,8 @@ struct ntsync_wait_args { > > __u32 owner; > > __u32 index; > > __u32 alert; > > + __u32 flags; > > + __u32 pad; > > }; > > If this was patch to get merged at any later point, you'd have > to support both the shorter and the longer structure layout > with their distinct ioctl command codes. > > If you do a v3 series, maybe just merge this patch into the > one that introduces the struct ntsync_wait_args. Overall, > you could probably have fewer but larger patches anyway > without harming the review process, but other than this > one that is not a problem. Oops, yes, that does feel wrong now that you point it out. I'll squash this in v3, assuming there's a need for one. --Zeb