On Wed, Sep 14, 2016 at 04:46:54PM -0400, Nicolas Pitre wrote: > Many embedded systems typically don't need them. This removes about > 22KB from the kernel binary size on ARM when configured out. > > Corresponding syscalls are routed to a stub logging the attempt to > use those syscalls which should be enough of a clue if they were > disabled without proper consideration. They are: timer_create, > timer_gettime: timer_getoverrun, timer_settime, timer_delete, > clock_adjtime. > > The clock_settime, clock_gettime, clock_getres and clock_nanosleep syscalls > are replaced by simple wrappers compatible with CLOCK_REALTIME, > CLOCK_MONOTONIC and CLOCK_BOOTTIME only. > > Signed-off-by: Nicolas Pitre <n...@linaro.org> > --- > > Changes from RFC/v1: > > - Stubbed-out functions moved to static inlines. > - The timer signal handling code is now removed. > - The list of removed syscalls is explicitly documented. > - The clock_settime, clock_gettime, clock_getres and clock_nanosleep > syscalls are minimally preserved as this required very little code. > > I'm now able to boot a copy of Fedora 21 with this patch and > CONFIG_POSIX_TIMERS=n with no apparent issues.
This looks quite reasonable. Does booting a standard distro really require providing clock_settime? I'd still prefer to see the special-case sys_ni support dropped, especially since the most common syscalls now remain. However, if others want to see it kept, I won't object too strongly; whoever ends up implementing a common (and optional) version of that infrastructure for all syscalls can fold this into it. - Josh Triplett