logo       

Re: PSCHED_TDIFF_SAFE bug introduced in 2.4.19-pre5: msg#00023

Subject: Re: PSCHED_TDIFF_SAFE bug introduced in 2.4.19-pre5
Hello!

> I think you are responsible for the change.

Yes.


> even if tv1<tv2 which can be true when time wraps (which is true
> at least with PSCHED_TIME_SOURCE == JIFFIES)

No, psched_time_t cannot wrap for our life.


> one HTB user switched to 2.4.19-pre7.

I think this discipline simply calls the function with tv1 < tv2.
In this case the function is supposed to return a negative number
and used to do this. Actually, invalid behaviour with unsigned bound
was one of bugs fixed.


> Here the return value will be always positive and < bound.

It must not be positive when tv1 < tv2, psched_diff_t is signed.
Well, taking into account that it is not used in current kernel
with tv1 < tv2, it can be changed to return 0, but surely not to "bound".

I did not see HTB qdisc, but plain logic tells me that otherwise
you will see a delay ~bound, when an immediate send is expected instead.

Alexey



<Prev in Thread] Current Thread [Next in Thread>