Re: [patch 38/44] posix-cpu-timers: Respect INFINITY for hard RTTIME limit

Thomas Gleixner
2019-08-19T20:29:19Z

On Mon, 19 Aug 2019, Ingo Molnar wrote:
> * Thomas Gleixner <tglx@linutronix.de> wrote:
>
> > The RTIME limit expiry code does not check the hard RTTIME limit for
> > INFINITY, i.e. being disabled. Add it.
> >
> > Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
> > ---
> > kernel/time/posix-cpu-timers.c | 2 +-
> > 1 file changed, 1 insertion(+), 1 deletion(-)
> >
> > --- a/kernel/time/posix-cpu-timers.c
> > +++ b/kernel/time/posix-cpu-timers.c
> > @@ -905,7 +905,7 @@ static void check_process_timers(struct
> > u64 softns, ptime = samples[CPUCLOCK_PROF];
> > unsigned long psecs = div_u64(ptime, NSEC_PER_SEC);
> >
> > - if (psecs >= hard) {
> > + if (hard != RLIM_INFINITY && psecs >= hard) {
> > /*
> > * At the hard limit, we just die.
> > * No need to calculate anything else now.
>
> Might make sense to mark this as a possible ABI change in the changelog:
> if some weird code learned to rely on this (arguably broken) behavior
> then the bug turned into an ABI.

Will do, though that would be really interesting to see the offending
case. That limit is in seconds and RLIM_INFINITY is at least INT_MAX which
means 68 years. :)

I stumbled over it when I tried to consolidate that duplicated code in that
area. I'll amend the changelog to be more clear.

Thanks,

tglx