PERFORCE change 180621 for review

Gabor Pali pgj at FreeBSD.org
Wed Jul 7 23:54:42 UTC 2010


http://p4web.freebsd.org/@@180621?ac=10

Change 180621 by pgj at csupor on 2010/07/07 23:54:22

	- Use counter_t in struct pimstat as a test

Affected files ...

.. //depot/projects/soc2009/pgj_libstat/src/sys/netinet/ip_mroute.c#10 edit
.. //depot/projects/soc2009/pgj_libstat/src/sys/netinet/pim_var.h#5 edit

Differences ...

==== //depot/projects/soc2009/pgj_libstat/src/sys/netinet/ip_mroute.c#10 (text+ko) ====

@@ -2991,6 +2991,17 @@
 	callout_init(&V_expire_upcalls_ch, CALLOUT_MPSAFE);
 	callout_init(&V_bw_upcalls_ch, CALLOUT_MPSAFE);
 	callout_init(&V_bw_meter_ch, CALLOUT_MPSAFE);
+	PIMSTAT_INIT(pims_rcv_total_msgs);
+	PIMSTAT_INIT(pims_rcv_total_bytes);
+	PIMSTAT_INIT(pims_rcv_tooshort);
+	PIMSTAT_INIT(pims_rcv_badsum);
+	PIMSTAT_INIT(pims_rcv_badversion);
+	PIMSTAT_INIT(pims_rcv_registers_msgs);
+	PIMSTAT_INIT(pims_rcv_registers_bytes);
+	PIMSTAT_INIT(pims_rcv_registers_wrongiif);
+	PIMSTAT_INIT(pims_rcv_badregisters);
+	PIMSTAT_INIT(pims_snd_registers_msgs);
+	PIMSTAT_INIT(pims_snd_registers_bytes);
 }
 
 VNET_SYSINIT(vnet_mroute_init, SI_SUB_PSEUDO, SI_ORDER_MIDDLE, vnet_mroute_init,
@@ -3002,6 +3013,17 @@
 
 	FREE(V_nexpire, M_MRTABLE);
 	V_nexpire = NULL;
+	PIMSTAT_DESTROY(pims_rcv_total_msgs);
+	PIMSTAT_DESTROY(pims_rcv_total_bytes);
+	PIMSTAT_DESTROY(pims_rcv_tooshort);
+	PIMSTAT_DESTROY(pims_rcv_badsum);
+	PIMSTAT_DESTROY(pims_rcv_badversion);
+	PIMSTAT_DESTROY(pims_rcv_registers_msgs);
+	PIMSTAT_DESTROY(pims_rcv_registers_bytes);
+	PIMSTAT_DESTROY(pims_rcv_registers_wrongiif);
+	PIMSTAT_DESTROY(pims_rcv_badregisters);
+	PIMSTAT_DESTROY(pims_snd_registers_msgs);
+	PIMSTAT_DESTROY(pims_snd_registers_bytes);
 }
 
 VNET_SYSUNINIT(vnet_mroute_uninit, SI_SUB_PSEUDO, SI_ORDER_MIDDLE, 

==== //depot/projects/soc2009/pgj_libstat/src/sys/netinet/pim_var.h#5 (text+ko) ====

@@ -33,6 +33,8 @@
 #ifndef _NETINET_PIM_VAR_H_
 #define _NETINET_PIM_VAR_H_
 
+#include <sys/counter.h>
+
 /*
  * Protocol Independent Multicast (PIM),
  * kernel variables and implementation-specific definitions.
@@ -49,22 +51,24 @@
 #define	PIMSTAT_VERSION	    0x00000001
  
 struct pimstat {
-	uint64_t pims_rcv_total_msgs;	   /* total PIM messages received    */
-	uint64_t pims_rcv_total_bytes;	   /* total PIM bytes received	     */
-	uint64_t pims_rcv_tooshort;	   /* rcvd with too few bytes	     */
-	uint64_t pims_rcv_badsum;	   /* rcvd with bad checksum	     */
-	uint64_t pims_rcv_badversion;	   /* rcvd bad PIM version	     */
-	uint64_t pims_rcv_registers_msgs;  /* rcvd regs. msgs (data only)    */
-	uint64_t pims_rcv_registers_bytes; /* rcvd regs. bytes (data only)   */
-	uint64_t pims_rcv_registers_wrongiif; /* rcvd regs. on wrong iif     */
-	uint64_t pims_rcv_badregisters;	   /* rcvd invalid registers  */
-	uint64_t pims_snd_registers_msgs;  /* sent regs. msgs (data only)    */
-	uint64_t pims_snd_registers_bytes; /* sent regs. bytes (data only)   */
+	counter_t pims_rcv_total_msgs;	   /* total PIM messages received    */
+	counter_t pims_rcv_total_bytes;	   /* total PIM bytes received	     */
+	counter_t pims_rcv_tooshort;	   /* rcvd with too few bytes	     */
+	counter_t pims_rcv_badsum;	   /* rcvd with bad checksum	     */
+	counter_t pims_rcv_badversion;	   /* rcvd bad PIM version	     */
+	counter_t pims_rcv_registers_msgs;  /* rcvd regs. msgs (data only)    */
+	counter_t pims_rcv_registers_bytes; /* rcvd regs. bytes (data only)   */
+	counter_t pims_rcv_registers_wrongiif; /* rcvd regs. on wrong iif     */
+	counter_t pims_rcv_badregisters;	/* rcvd invalid registers  */
+	counter_t pims_snd_registers_msgs;	/* sent regs. msgs (data only)    */
+	counter_t pims_snd_registers_bytes;	/* sent regs. bytes (data only)   */
 };
 
 #ifdef _KERNEL
-#define	PIMSTAT_ADD(name, val)	V_pimstat.name += (val)
-#define	PIMSTAT_INC(name)	PIMSTAT_ADD(name, 1)
+#define PIMSTAT_INIT(name)	ctr_init(&V_pimstat.name, 0)
+#define PIMSTAT_DESTROY(name)	ctr_destroy(&V_pimstat.name)
+#define	PIMSTAT_ADD(name, val)	ctr_add(&V_pimstat.name, val)
+#define	PIMSTAT_INC(name)	ctr_inc(&V_pimstat.name)
 #endif
 
 /*


More information about the p4-projects mailing list