On November 30, 2018 10:40:49 AM GMT+13:00, Arnd Bergmann <arnd@xxxxxxxx> wrote: >On Thu, Nov 29, 2018 at 10:35 PM Christian Brauner ><christian@xxxxxxxxxx> wrote: >> On Thu, Nov 29, 2018 at 10:02:13PM +0100, Arnd Bergmann wrote: >> > On Thu, Nov 29, 2018 at 9:14 PM Andy Lutomirski ><luto@xxxxxxxxxxxxxx> wrote: >> > >> > Is the current procfd_signal() proposal (under whichever name) >sufficient >> > to correctly implement both sys_rt_sigqueueinfo() and >sys_rt_tgsigqueueinfo()? >> >> Yes, I see no reason why not. My idea is to extend it - after we have >a >> basic version in - to also work with: >> /proc/<pid>/task/<tid> >> If I'm not mistaken this should be sufficient to get >rt_tgsigqueueinfo. >> The thread will be uniquely identified by the tid descriptor and no >> combination of /proc/<pid> and /proc/<pid>/task/<tid> is needed. Does >> that sound reasonable? > >Yes. So it would currently replace rt_gsigqueueinfo() but >not rt_tgsigqueueinfo(), and could be extended to do both >afterwards, without making the interface ugly in any form? Yes. :) > >I suppose we can always add more flags if needed, and you >already ensure that flags is zero for the moment. Yep. > >> > Can we implement sys_rt_sigtimedwait() based on signalfd()? >> > >> > If yes, that would leave waitid(), which already needs a >replacement >> > for y2038, and that should then also return a signalfd_siginfo. >> > My current preference for waitid() would be to do a version that >> > closely resembles the current interface, but takes a >signalfd_siginfo >> > and a __kernel_timespec based rusage replacement (possibly >> > two of them to let us map wait6), but does not operate on procfd or >> > take a signal mask. That would require yet another syscall, but I >> > don't think I can do that before we want to have the set of y2038 >> > safe syscalls. >> >> All sounds reasonable to me but that's not a blocker for the current >> syscall though, is it? > >I'd like to at least understand about sys_rt_sigtimedwait() before >we go on, so we all know what's coming, and document the >plans in the changelog. > >waitid() probably remains on my plate anyway, and I hope understand >where we're at with it. > > Arnd