Hmm, while scanning through the code, there were some things that
looked a little odd to me...
---
chedule_own_packet() (/ schedule_forward_packet() )
  -> send_time = own_global_send_time(bat_priv) (/forward_send_time(bat_priv))
     <- returns current jiffies + orig_interval(in ms!) from bat_priv + 
jitter(in ms?)

  -> can_aggregate_with(send_time)
     -> converts MAX_AGGREGATION_MS to jiffies, seems to expect send_time to be 
in jiffies format

  -> new_aggregated_packet(send_time)
     -> queue_delayed_work(send_time - jiffies), 
        -> so, queue_delayed_work(orig_interval + jitter - time_diff_in_jiffies 
+ MAX_AGGREGATION(in jiffies))?
---

Looks like we'd have some portions in the send_time still in
jiffies format, though it should be a time purely in msecs for
queue_delayed_work if I'm not mistaken.
If this is really a bug, would it be better to deal with jiffies
in these places (so converting orig_interval to jiffies) and
convert it back when queueing the work, or better convert the
jiffies variable to msecs and skipping all the other
msecs_to_jiffies conversions?

Cheers, Linus

Reply via email to