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

Reply via email to