netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 2.5.68] [BRIDGE] More user hz conversions
@ 2003-04-28 20:48 Stephen Hemminger
  2003-04-29  8:31 ` David S. Miller
  0 siblings, 1 reply; 2+ messages in thread
From: Stephen Hemminger @ 2003-04-28 20:48 UTC (permalink / raw)
  To: David S. Miller; +Cc: netdev

Several more places need USER/KERNEL HZ conversion.  Without these the timer
values in 'brctl showmacs' and 'brctl showstp' are off.

diff -Nru a/net/bridge/br_fdb.c b/net/bridge/br_fdb.c
--- a/net/bridge/br_fdb.c	Mon Apr 28 13:42:51 2003
+++ b/net/bridge/br_fdb.c	Mon Apr 28 13:42:51 2003
@@ -41,15 +41,15 @@
 	return 0;
 }
 
-static __inline__ void copy_fdb(struct __fdb_entry *ent, struct net_bridge_fdb_entry *f)
+static __inline__ void copy_fdb(struct __fdb_entry *ent, 
+				const struct net_bridge_fdb_entry *f)
 {
 	memset(ent, 0, sizeof(struct __fdb_entry));
 	memcpy(ent->mac_addr, f->addr.addr, ETH_ALEN);
 	ent->port_no = f->dst?f->dst->port_no:0;
 	ent->is_local = f->is_local;
-	ent->ageing_timer_value = 0;
-	if (!f->is_static)
-		ent->ageing_timer_value = jiffies - f->ageing_timer;
+	ent->ageing_timer_value = f->is_static ? 0 
+		: ((jiffies - f->ageing_timer) * USER_HZ) / HZ;
 }
 
 static __inline__ int br_mac_hash(unsigned char *mac)
diff -Nru a/net/bridge/br_ioctl.c b/net/bridge/br_ioctl.c
--- a/net/bridge/br_ioctl.c	Mon Apr 28 13:43:08 2003
+++ b/net/bridge/br_ioctl.c	Mon Apr 28 13:43:08 2003
@@ -19,19 +19,22 @@
 #include <asm/uaccess.h>
 #include "br_private.h"
 
+/* import values in USER_HZ  */
+static inline unsigned long user_to_ticks(unsigned long utick)
+{
+	return (utick * HZ) / USER_HZ;
+}
 
-/* Report time remaining in user HZ for compatibility. */
-static inline unsigned long timer_residue(const struct br_timer *timer)
+/* export values in USER_HZ */
+static inline unsigned long ticks_to_user(unsigned long tick)
 {
-	return timer->running 
-		? ((jiffies - timer->expires) * USER_HZ)/HZ 
-		: 0;
+	return (tick * USER_HZ) / HZ;
 }
 
-/* Convert API times in USER_HZ to kernel */
-static inline unsigned long user_to_ticks(unsigned long utick)
+/* Report time remaining in user HZ  */
+static unsigned long timer_residue(const struct br_timer *timer)
 {
-	return (utick * HZ) / USER_HZ;
+	return ticks_to_user(timer->running ? (jiffies - timer->expires) : 0);
 }
 
 static int br_ioctl_device(struct net_bridge *br,
@@ -73,18 +76,18 @@
 		memcpy(&b.designated_root, &br->designated_root, 8);
 		memcpy(&b.bridge_id, &br->bridge_id, 8);
 		b.root_path_cost = br->root_path_cost;
-		b.max_age = br->max_age;
-		b.hello_time = br->hello_time;
+		b.max_age = ticks_to_user(br->max_age);
+		b.hello_time = ticks_to_user(br->hello_time);
 		b.forward_delay = br->forward_delay;
 		b.bridge_max_age = br->bridge_max_age;
 		b.bridge_hello_time = br->bridge_hello_time;
-		b.bridge_forward_delay = br->bridge_forward_delay;
+		b.bridge_forward_delay = ticks_to_user(br->bridge_forward_delay);
 		b.topology_change = br->topology_change;
 		b.topology_change_detected = br->topology_change_detected;
 		b.root_port = br->root_port;
 		b.stp_enabled = br->stp_enabled;
-		b.ageing_time = br->ageing_time;
-		b.gc_interval = br->gc_interval;
+		b.ageing_time = ticks_to_user(br->ageing_time);
+		b.gc_interval = ticks_to_user(br->gc_interval);
 		b.hello_timer_value = timer_residue(&br->hello_timer);
 		b.tcn_timer_value = timer_residue(&br->tcn_timer);
 		b.topology_change_timer_value = timer_residue(&br->topology_change_timer);

^ permalink raw reply	[flat|nested] 2+ messages in thread

* Re: [PATCH 2.5.68] [BRIDGE] More user hz conversions
  2003-04-28 20:48 [PATCH 2.5.68] [BRIDGE] More user hz conversions Stephen Hemminger
@ 2003-04-29  8:31 ` David S. Miller
  0 siblings, 0 replies; 2+ messages in thread
From: David S. Miller @ 2003-04-29  8:31 UTC (permalink / raw)
  To: shemminger; +Cc: netdev

   From: Stephen Hemminger <shemminger@osdl.org>
   Date: Mon, 28 Apr 2003 13:48:54 -0700

   Several more places need USER/KERNEL HZ conversion.  Without these
   the timer values in 'brctl showmacs' and 'brctl showstp' are off.

Applied, thanks.

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2003-04-29  8:31 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2003-04-28 20:48 [PATCH 2.5.68] [BRIDGE] More user hz conversions Stephen Hemminger
2003-04-29  8:31 ` David S. Miller

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).