Skip to content

Commit

Permalink
pie: rearrange structure members and their initializations
Browse files Browse the repository at this point in the history
Rearrange the members of the structure such that closely
referenced members appear together and/or fit in the same
cacheline. Also, change the order of their initializations to
match the order in which they appear in the structure.

Signed-off-by: Mohit P. Tahiliani <tahiliani@nitk.edu.in>
Signed-off-by: Leslie Monis <lesliemonis@gmail.com>
Signed-off-by: Gautam Ramakrishnan <gautamramk@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
  • Loading branch information
Mohit P. Tahiliani authored and David S. Miller committed Jan 23, 2020
1 parent 1dbfc5e commit 2dfb195
Show file tree
Hide file tree
Showing 2 changed files with 11 additions and 11 deletions.
20 changes: 10 additions & 10 deletions include/net/pie.h
Original file line number Diff line number Diff line change
Expand Up @@ -28,13 +28,13 @@ struct pie_params {

/* variables used */
struct pie_vars {
u64 prob; /* probability but scaled by u64 limit. */
psched_time_t burst_time;
psched_time_t qdelay;
psched_time_t qdelay_old;
u64 dq_count; /* measured in bytes */
psched_time_t burst_time;
psched_time_t dq_tstamp; /* drain rate */
u64 prob; /* probability but scaled by u64 limit. */
u64 accu_prob; /* accumulated drop probability */
u64 dq_count; /* measured in bytes */
u32 avg_dq_rate; /* bytes per pschedtime tick,scaled */
u32 qlen_old; /* in bytes */
u8 accu_prob_overflows; /* overflows of accu_prob */
Expand All @@ -45,8 +45,8 @@ struct pie_stats {
u32 packets_in; /* total number of packets enqueued */
u32 dropped; /* packets dropped due to pie_action */
u32 overlimit; /* dropped due to lack of space in queue */
u32 maxq; /* maximum queue size */
u32 ecn_mark; /* packets marked with ECN */
u32 maxq; /* maximum queue size */
};

/* private skb vars */
Expand All @@ -56,24 +56,24 @@ struct pie_skb_cb {

static inline void pie_params_init(struct pie_params *params)
{
params->alpha = 2;
params->beta = 20;
params->target = PSCHED_NS2TICKS(15 * NSEC_PER_MSEC); /* 15 ms */
params->tupdate = usecs_to_jiffies(15 * USEC_PER_MSEC); /* 15 ms */
params->limit = 1000; /* default of 1000 packets */
params->target = PSCHED_NS2TICKS(15 * NSEC_PER_MSEC); /* 15 ms */
params->alpha = 2;
params->beta = 20;
params->ecn = false;
params->bytemode = false;
params->dq_rate_estimator = false;
}

static inline void pie_vars_init(struct pie_vars *vars)
{
vars->dq_count = DQCOUNT_INVALID;
/* default of 150 ms in pschedtime */
vars->burst_time = PSCHED_NS2TICKS(150 * NSEC_PER_MSEC);
vars->dq_tstamp = DTIME_INVALID;
vars->accu_prob = 0;
vars->dq_count = DQCOUNT_INVALID;
vars->avg_dq_rate = 0;
/* default of 150 ms in pschedtime */
vars->burst_time = PSCHED_NS2TICKS(150 * NSEC_PER_MSEC);
vars->accu_prob_overflows = 0;
}

Expand Down
2 changes: 1 addition & 1 deletion net/sched/sch_pie.c
Original file line number Diff line number Diff line change
Expand Up @@ -23,8 +23,8 @@

/* private data for the Qdisc */
struct pie_sched_data {
struct pie_params params;
struct pie_vars vars;
struct pie_params params;
struct pie_stats stats;
struct timer_list adapt_timer;
struct Qdisc *sch;
Expand Down

0 comments on commit 2dfb195

Please sign in to comment.