openvswitch: Correctly report flow used times for first 5 minutes after boot.
authorBen Pfaff <blp@nicira.com>
Thu, 20 Mar 2014 17:45:21 +0000 (10:45 -0700)
committerJesse Gross <jesse@nicira.com>
Thu, 20 Mar 2014 17:45:21 +0000 (10:45 -0700)
commitf9b8c4c8baded129535d82d74df8e87a7a369f54
tree4aed195337b2b768ba4206935eaa47900b037281
parent42ee19e2939277a5277c307e517ce2d7ba5f0703
openvswitch: Correctly report flow used times for first 5 minutes after boot.

The kernel starts out its "jiffies" timer as 5 minutes below zero, as
shown in include/linux/jiffies.h:

  /*
   * Have the 32 bit jiffies value wrap 5 minutes after boot
   * so jiffies wrap bugs show up earlier.
   */
  #define INITIAL_JIFFIES ((unsigned long)(unsigned int) (-300*HZ))

The loop in ovs_flow_stats_get() starts out with 'used' set to 0, then
takes any "later" time.  This means that for the first five minutes after
boot, flows will always be reported as never used, since 0 is greater than
any time already seen.

Signed-off-by: Ben Pfaff <blp@nicira.com>
Acked-by: Pravin B Shelar <pshelar@nicira.com>
Signed-off-by: Jesse Gross <jesse@nicira.com>
net/openvswitch/flow.c