On Thu, Feb 14, 2013 at 8:18 AM, Pavel Emelyanov <xemul@xxxxxxxxxxxxx> wrote: > Hi. > > I'm working on the checkpoint-restore project (http://criu.org), briefly > it's aim is to collect information about process' state and saving it so > that later it is possible to recreate the processes in the very same state > as they were, using the collected information. > > One part of the task's state is the posix timers that this task has created. > Currently kernel doesn't provide any API for getting information about > what timers are currently created by process and in which state they are. > I'd like to extend the posix timers API to provide more information about > timers. > > Another problem with timers is the timer ID. Currently IDs are generated > from global IDR and this makes it impossible to restore a timer from > the saved state in general, as the required ID may be already busy at the > time of restore. > > That said, I propose to > > 1. Change the way timer IDs are generated. This was done some time ago, so > I'm just re-sending this patch; Seems fine in principle. Aside: I noticed there were some important-looking patches to the idr usage in timer id allocation today... > 2. Add a system call that will list timer IDs created by the calling process; If timers were listed in /proc like fds then you wouldn't need this syscall. If we keep adding new syscalls like this CRIU will be needlessly x86-specific when it could have been written more portably. > 3. Add a system call that will allow to get the sigevent information about > particular timer in the sigaction-like manner. You mentioned "extending the POSIX timer API". Isn't that something best left to standards bodies lest your changes conflict with theirs? Again, if this were a /proc interface you wouldn't have that issue (you'll have others ;)). > > This is actually an RFC to start discussion about how the described problems > can be addressed. Thus, if the approach with new system calls is not acceptable, > I'm OK to implement this in any other form. My preference is for "other form" for the reasons above. Cheers, -Matt Helsley -- To unsubscribe from this list: send the line "unsubscribe linux-api" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html