On Wed, 2017-11-08 at 13:09 -0800, Dave Taht wrote:
> Upgrade the internal netem scheduler to use nanoseconds rather than
> ticks throughout.
>
...
> -static psched_time_t packet_len_2_sched_time(unsigned int len, struct
> netem_sched_data *q)
> +static s64 packet_len_2_sched_time(unsigned int len,
> + struct netem_sched_data *q)
> {
> - u64 ticks;
> -
> + s64 offset;
> len += q->packet_overhead;
>
> if (q->cell_size) {
> @@ -345,11 +345,9 @@ static psched_time_t packet_len_2_sched_time(unsigned
> int len, struct netem_sche
> cells++;
> len = cells * (q->cell_size + q->cell_overhead);
> }
> -
> - ticks = (u64)len * NSEC_PER_SEC;
> -
> - do_div(ticks, q->rate);
> - return PSCHED_NS2TICKS(ticks);
> + offset = (s64)len * NSEC_PER_SEC;
> + do_div(offset, q->rate);
> + return offset;
> }
do_div() first argument being u64, I do not see why you chose
's64 offset'
packet_len_2_sched_time() should return u64, because I do not see how we
could return a negative value, since a packet length is positive.