Module Name: src Committed By: ozaki-r Date: Wed Jul 21 06:47:33 UTC 2021
Modified Files: src/sys/altq: altq_cbq.h altq_rmclass.c altq_rmclass.h Log Message: altq, cbq: change long to uint64_t for ILP32 archs PR kern/56319 To generate a diff of this commit: cvs rdiff -u -r1.10 -r1.11 src/sys/altq/altq_cbq.h cvs rdiff -u -r1.26 -r1.27 src/sys/altq/altq_rmclass.c cvs rdiff -u -r1.11 -r1.12 src/sys/altq/altq_rmclass.h Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
Modified files: Index: src/sys/altq/altq_cbq.h diff -u src/sys/altq/altq_cbq.h:1.10 src/sys/altq/altq_cbq.h:1.11 --- src/sys/altq/altq_cbq.h:1.10 Wed Jul 21 06:41:22 2021 +++ src/sys/altq/altq_cbq.h Wed Jul 21 06:47:33 2021 @@ -1,4 +1,4 @@ -/* $NetBSD: altq_cbq.h,v 1.10 2021/07/21 06:41:22 ozaki-r Exp $ */ +/* $NetBSD: altq_cbq.h,v 1.11 2021/07/21 06:47:33 ozaki-r Exp $ */ /* $KAME: altq_cbq.h,v 1.12 2003/10/03 05:05:15 kjc Exp $ */ /* @@ -81,15 +81,15 @@ typedef struct _cbq_class_stats_ { /* other static class parameters useful for debugging */ int priority; - long maxidle; - long minidle; - long offtime; + int64_t maxidle; + int64_t minidle; + int64_t offtime; int qmax; - u_long ps_per_byte; + uint64_t ps_per_byte; int wrr_allot; int qcnt; /* # packets in queue */ - long avgidle; + int64_t avgidle; /* red and rio related info */ int qtype; @@ -112,7 +112,7 @@ struct cbq_interface { typedef struct cbq_class_spec { u_int priority; - u_long pico_sec_per_byte; + uint64_t pico_sec_per_byte; u_int maxq; u_int maxidle; int minidle; Index: src/sys/altq/altq_rmclass.c diff -u src/sys/altq/altq_rmclass.c:1.26 src/sys/altq/altq_rmclass.c:1.27 --- src/sys/altq/altq_rmclass.c:1.26 Wed Jul 21 06:41:22 2021 +++ src/sys/altq/altq_rmclass.c Wed Jul 21 06:47:33 2021 @@ -1,4 +1,4 @@ -/* $NetBSD: altq_rmclass.c,v 1.26 2021/07/21 06:41:22 ozaki-r Exp $ */ +/* $NetBSD: altq_rmclass.c,v 1.27 2021/07/21 06:47:33 ozaki-r Exp $ */ /* $KAME: altq_rmclass.c,v 1.19 2005/04/13 03:44:25 suz Exp $ */ /* @@ -38,7 +38,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: altq_rmclass.c,v 1.26 2021/07/21 06:41:22 ozaki-r Exp $"); +__KERNEL_RCSID(0, "$NetBSD: altq_rmclass.c,v 1.27 2021/07/21 06:47:33 ozaki-r Exp $"); /* #ident "@(#)rm_class.c 1.48 97/12/05 SMI" */ @@ -194,7 +194,7 @@ static void rmc_root_overlimit(struct rm * offtime = offtime * (8.0 / nsecPerByte); */ struct rm_class * -rmc_newclass(int pri, struct rm_ifdat *ifd, u_long psecPerByte, +rmc_newclass(int pri, struct rm_ifdat *ifd, uint64_t psecPerByte, void (*action)(rm_class_t *, rm_class_t *), int maxq, struct rm_class *parent, struct rm_class *borrow, u_int maxidle, int minidle, u_int offtime, int pktsize, int flags) @@ -253,18 +253,18 @@ rmc_newclass(int pri, struct rm_ifdat *i cl->flags_ = flags; #if 1 /* minidle is also scaled in ALTQ */ - cl->minidle_ = ((long)minidle * (long)psecPerByte) / 8; + cl->minidle_ = ((int64_t)minidle * (int64_t)psecPerByte) / 8; if (cl->minidle_ > 0) cl->minidle_ = 0; #else cl->minidle_ = minidle; #endif - cl->maxidle_ = ((long)maxidle * (long)psecPerByte) / 8; + cl->maxidle_ = ((int64_t)maxidle * (int64_t)psecPerByte) / 8; if (cl->maxidle_ == 0) cl->maxidle_ = 1; #if 1 /* offtime is also scaled in ALTQ */ cl->avgidle_ = cl->maxidle_; - cl->offtime_ = (((long)offtime * (long)psecPerByte) / 8) >> RM_FILTER_GAIN; + cl->offtime_ = (((int64_t)offtime * (int64_t)psecPerByte) / 8) >> RM_FILTER_GAIN; if (cl->offtime_ == 0) cl->offtime_ = 1; #else @@ -347,7 +347,7 @@ rmc_newclass(int pri, struct rm_ifdat *i } int -rmc_modclass(struct rm_class *cl, u_long psecPerByte, int maxq, u_int maxidle, +rmc_modclass(struct rm_class *cl, uint64_t psecPerByte, int maxq, u_int maxidle, int minidle, u_int offtime, int pktsize) { struct rm_ifdat *ifd; @@ -365,18 +365,18 @@ rmc_modclass(struct rm_class *cl, u_long qlimit(cl->q_) = maxq; #if 1 /* minidle is also scaled in ALTQ */ - cl->minidle_ = ((long)minidle * (long)psecPerByte) / 8; + cl->minidle_ = ((int64_t)minidle * (int64_t)psecPerByte) / 8; if (cl->minidle_ > 0) cl->minidle_ = 0; #else cl->minidle_ = minidle; #endif - cl->maxidle_ = ((long)maxidle * (long)psecPerByte) / 8; + cl->maxidle_ = ((int64_t)maxidle * (int64_t)psecPerByte) / 8; if (cl->maxidle_ == 0) cl->maxidle_ = 1; #if 1 /* offtime is also scaled in ALTQ */ cl->avgidle_ = cl->maxidle_; - cl->offtime_ = (((long)offtime * (long)psecPerByte) / 8) >> RM_FILTER_GAIN; + cl->offtime_ = (((int64_t)offtime * (int64_t)psecPerByte) / 8) >> RM_FILTER_GAIN; if (cl->offtime_ == 0) cl->offtime_ = 1; #else @@ -661,7 +661,7 @@ rmc_delete_class(struct rm_ifdat *ifd, s */ int -rmc_init(struct ifaltq *ifq, struct rm_ifdat *ifd, u_long psecPerByte, +rmc_init(struct ifaltq *ifq, struct rm_ifdat *ifd, uint64_t psecPerByte, void (*restart)(struct ifaltq *), int maxq, int maxqueued, u_int maxidle, int minidle, u_int offtime, int flags) { @@ -689,7 +689,7 @@ rmc_init(struct ifaltq *ifq, struct rm_i ifd->efficient_ = (flags & RMCF_EFFICIENT) ? 1 : 0; #if 1 ifd->maxiftime_ = mtu * psecPerByte / 1000 / 1000 * 16; - if ((long)mtu * psecPerByte > (long)10 * 1000000000) + if ((int64_t)mtu * psecPerByte > (int64_t)10 * 1000000000) ifd->maxiftime_ /= 4; #endif @@ -1253,9 +1253,9 @@ rmc_dequeue_next(struct rm_ifdat *ifd, i void rmc_update_class_util(struct rm_ifdat *ifd) { - long idle, avgidle, pktlen; - long pkt_time; - long tidle; + int64_t idle, avgidle, pktlen; + int64_t pkt_time; + int64_t tidle; rm_class_t *cl, *cl0, *borrowed; rm_class_t *borrows; struct timespec *nowp; @@ -1267,7 +1267,7 @@ rmc_update_class_util(struct rm_ifdat *i return; cl0 = cl; - pktlen = (long)ifd->curlen_[ifd->qo_]; + pktlen = (int64_t)ifd->curlen_[ifd->qo_]; borrowed = ifd->borrowed_[ifd->qo_]; borrows = borrowed; @@ -1286,7 +1286,7 @@ rmc_update_class_util(struct rm_ifdat *i nowp = &ifd->now_[ifd->qo_]; /* get pkt_time (for link) in usec */ #if 1 /* use approximation */ - pkt_time = (long)ifd->curlen_[ifd->qo_] * (long)ifd->ps_per_byte_; + pkt_time = (int64_t)ifd->curlen_[ifd->qo_] * (int64_t)ifd->ps_per_byte_; pkt_time = PSEC_TO_NSEC(pkt_time); #else pkt_time = ifd->curlen_[ifd->qo_] * ifd->ns_per_byte_ / 1000; @@ -1329,7 +1329,7 @@ rmc_update_class_util(struct rm_ifdat *i /* get pkt_time (for class) in usec */ #if 1 /* use approximation */ - pkt_time = pktlen * (long)cl->ps_per_byte_; + pkt_time = pktlen * (int64_t)cl->ps_per_byte_; pkt_time = PSEC_TO_NSEC(pkt_time); #else pkt_time = pktlen * cl->ns_per_byte_ / 1000; @@ -1485,7 +1485,7 @@ void rmc_delay_action(struct rm_class *cl, struct rm_class *borrow) { int t; - long ndelay, extradelay; + int64_t ndelay, extradelay; cl->stats_.overactions++; if (borrow != NULL) Index: src/sys/altq/altq_rmclass.h diff -u src/sys/altq/altq_rmclass.h:1.11 src/sys/altq/altq_rmclass.h:1.12 --- src/sys/altq/altq_rmclass.h:1.11 Wed Jul 21 06:41:22 2021 +++ src/sys/altq/altq_rmclass.h Wed Jul 21 06:47:33 2021 @@ -1,4 +1,4 @@ -/* $NetBSD: altq_rmclass.h,v 1.11 2021/07/21 06:41:22 ozaki-r Exp $ */ +/* $NetBSD: altq_rmclass.h,v 1.12 2021/07/21 06:47:33 ozaki-r Exp $ */ /* $KAME: altq_rmclass.h,v 1.10 2003/08/20 23:30:23 itojun Exp $ */ /* @@ -126,16 +126,16 @@ struct rm_class { rm_ifdat_t *ifdat_; int pri_; /* Class priority. */ int depth_; /* Class depth */ - u_long ps_per_byte_; /* PicoSeconds per byte. */ + uint64_t ps_per_byte_; /* PicoSeconds per byte. */ u_int maxrate_; /* Bytes per second for this class. */ u_int allotment_; /* Fraction of link bandwidth. */ u_int w_allotment_; /* Weighted allotment for WRR */ int bytes_alloc_; /* Allocation for round of WRR */ - long avgidle_; - long maxidle_; - long minidle_; - long offtime_; + int64_t avgidle_; + int64_t maxidle_; + int64_t minidle_; + int64_t offtime_; int sleeping_; /* != 0 if delaying */ int qthresh_; /* Queue threshold for formal link sharing */ int leaf_; /* Note whether leaf class or not.*/ @@ -154,7 +154,7 @@ struct rm_class { struct altq_pktattr *pktattr_; /* saved hdr used by RED/ECN */ int flags_; - long last_pkttime_; /* saved pkt_time */ + int64_t last_pkttime_; /* saved pkt_time */ struct timespec undertime_; /* time can next send */ struct timespec last_; /* time last packet sent */ struct timespec overtime_; @@ -170,7 +170,7 @@ struct rm_ifdat { int queued_; /* # pkts queued downstream */ int efficient_; /* Link Efficency bit */ int wrr_; /* Enable Weighted Round-Robin */ - u_long ps_per_byte_; /* Link byte speed. */ + uint64_t ps_per_byte_; /* Link byte speed. */ int maxqueued_; /* Max packets to queue */ int maxpkt_; /* Max packet size. */ int qi_; /* In/out pointers for downstream */ @@ -226,14 +226,14 @@ struct rm_ifdat { #define is_a_parent_class(cl) ((cl)->children_ != NULL) -extern rm_class_t *rmc_newclass(int, struct rm_ifdat *, u_long, +extern rm_class_t *rmc_newclass(int, struct rm_ifdat *, uint64_t, void (*)(struct rm_class *, struct rm_class *), int, struct rm_class *, struct rm_class *, u_int, int, u_int, int, int); extern void rmc_delete_class(struct rm_ifdat *, struct rm_class *); -extern int rmc_modclass(struct rm_class *, u_long, int, +extern int rmc_modclass(struct rm_class *, uint64_t, int, u_int, int, u_int, int); -extern int rmc_init(struct ifaltq *, struct rm_ifdat *, u_long, +extern int rmc_init(struct ifaltq *, struct rm_ifdat *, uint64_t, void (*)(struct ifaltq *), int, int, u_int, int, u_int, int); extern int rmc_queue_packet(struct rm_class *, mbuf_t *);