From: Saeed Mahameed <saeedm@mellanox.com>
To: "David S. Miller" <davem@davemloft.net>,
Doug Ledford <dledford@redhat.com>,
Jason Gunthorpe <jgg@mellanox.com>
Cc: Leon Romanovsky <leonro@mellanox.com>,
Or Gerlitz <ogerlitz@mellanox.com>,
Sagi Grimberg <sagi@grimberg.me>, Tal Gilboa <talgi@mellanox.com>,
"netdev@vger.kernel.org" <netdev@vger.kernel.org>,
"linux-rdma@vger.kernel.org" <linux-rdma@vger.kernel.org>,
Saeed Mahameed <saeedm@mellanox.com>
Subject: [for-next V2 02/10] linux/dim: Remove "net" prefix from internal DIM members
Date: Tue, 25 Jun 2019 20:57:33 +0000 [thread overview]
Message-ID: <20190625205701.17849-3-saeedm@mellanox.com> (raw)
In-Reply-To: <20190625205701.17849-1-saeedm@mellanox.com>
From: Tal Gilboa <talgi@mellanox.com>
Only renaming functions and structs which aren't used by an external code.
Signed-off-by: Tal Gilboa <talgi@mellanox.com>
Signed-off-by: Saeed Mahameed <saeedm@mellanox.com>
---
include/linux/dim.h | 86 ++++++++++++++++++++--------------------
include/linux/net_dim.h | 87 ++++++++++++++++++++---------------------
2 files changed, 86 insertions(+), 87 deletions(-)
diff --git a/include/linux/dim.h b/include/linux/dim.h
index 67d7ca40f3dd..6ee991681d62 100644
--- a/include/linux/dim.h
+++ b/include/linux/dim.h
@@ -6,7 +6,7 @@
#include <linux/module.h>
-#define NET_DIM_NEVENTS 64
+#define DIM_NEVENTS 64
/* more than 10% difference */
#define IS_SIGNIFICANT_DIFF(val, ref) \
@@ -27,7 +27,7 @@ struct net_dim_sample {
u16 event_ctr;
};
-struct net_dim_stats {
+struct dim_stats {
int ppms; /* packets per msec */
int bpms; /* bytes per msec */
int epms; /* events per msec */
@@ -35,7 +35,7 @@ struct net_dim_stats {
struct net_dim { /* Dynamic Interrupt Moderation */
u8 state;
- struct net_dim_stats prev_stats;
+ struct dim_stats prev_stats;
struct net_dim_sample start_sample;
struct work_struct work;
u8 profile_ix;
@@ -59,67 +59,67 @@ enum {
};
enum {
- NET_DIM_PARKING_ON_TOP,
- NET_DIM_PARKING_TIRED,
- NET_DIM_GOING_RIGHT,
- NET_DIM_GOING_LEFT,
+ DIM_PARKING_ON_TOP,
+ DIM_PARKING_TIRED,
+ DIM_GOING_RIGHT,
+ DIM_GOING_LEFT,
};
enum {
- NET_DIM_STATS_WORSE,
- NET_DIM_STATS_SAME,
- NET_DIM_STATS_BETTER,
+ DIM_STATS_WORSE,
+ DIM_STATS_SAME,
+ DIM_STATS_BETTER,
};
enum {
- NET_DIM_STEPPED,
- NET_DIM_TOO_TIRED,
- NET_DIM_ON_EDGE,
+ DIM_STEPPED,
+ DIM_TOO_TIRED,
+ DIM_ON_EDGE,
};
-static inline bool net_dim_on_top(struct net_dim *net_dim)
+static inline bool dim_on_top(struct net_dim *dim)
{
- switch (net_dim->tune_state) {
- case NET_DIM_PARKING_ON_TOP:
- case NET_DIM_PARKING_TIRED:
+ switch (dim->tune_state) {
+ case DIM_PARKING_ON_TOP:
+ case DIM_PARKING_TIRED:
return true;
- case NET_DIM_GOING_RIGHT:
- return (net_dim->steps_left > 1) && (net_dim->steps_right == 1);
- default: /* NET_DIM_GOING_LEFT */
- return (net_dim->steps_right > 1) && (net_dim->steps_left == 1);
+ case DIM_GOING_RIGHT:
+ return (dim->steps_left > 1) && (dim->steps_right == 1);
+ default: /* DIM_GOING_LEFT */
+ return (dim->steps_right > 1) && (dim->steps_left == 1);
}
}
-static inline void net_dim_turn(struct net_dim *net_dim)
+static inline void dim_turn(struct net_dim *dim)
{
- switch (net_dim->tune_state) {
- case NET_DIM_PARKING_ON_TOP:
- case NET_DIM_PARKING_TIRED:
+ switch (dim->tune_state) {
+ case DIM_PARKING_ON_TOP:
+ case DIM_PARKING_TIRED:
break;
- case NET_DIM_GOING_RIGHT:
- net_dim->tune_state = NET_DIM_GOING_LEFT;
- net_dim->steps_left = 0;
+ case DIM_GOING_RIGHT:
+ dim->tune_state = DIM_GOING_LEFT;
+ dim->steps_left = 0;
break;
- case NET_DIM_GOING_LEFT:
- net_dim->tune_state = NET_DIM_GOING_RIGHT;
- net_dim->steps_right = 0;
+ case DIM_GOING_LEFT:
+ dim->tune_state = DIM_GOING_RIGHT;
+ dim->steps_right = 0;
break;
}
}
-static inline void net_dim_park_on_top(struct net_dim *net_dim)
+static inline void dim_park_on_top(struct net_dim *dim)
{
- net_dim->steps_right = 0;
- net_dim->steps_left = 0;
- net_dim->tired = 0;
- net_dim->tune_state = NET_DIM_PARKING_ON_TOP;
+ dim->steps_right = 0;
+ dim->steps_left = 0;
+ dim->tired = 0;
+ dim->tune_state = DIM_PARKING_ON_TOP;
}
-static inline void net_dim_park_tired(struct net_dim *net_dim)
+static inline void dim_park_tired(struct net_dim *dim)
{
- net_dim->steps_right = 0;
- net_dim->steps_left = 0;
- net_dim->tune_state = NET_DIM_PARKING_TIRED;
+ dim->steps_right = 0;
+ dim->steps_left = 0;
+ dim->tune_state = DIM_PARKING_TIRED;
}
static inline void
@@ -132,8 +132,8 @@ net_dim_sample(u16 event_ctr, u64 packets, u64 bytes, struct net_dim_sample *s)
}
static inline void
-net_dim_calc_stats(struct net_dim_sample *start, struct net_dim_sample *end,
- struct net_dim_stats *curr_stats)
+dim_calc_stats(struct net_dim_sample *start, struct net_dim_sample *end,
+ struct dim_stats *curr_stats)
{
/* u32 holds up to 71 minutes, should be enough */
u32 delta_us = ktime_us_delta(end->time, start->time);
@@ -146,7 +146,7 @@ net_dim_calc_stats(struct net_dim_sample *start, struct net_dim_sample *end,
curr_stats->ppms = DIV_ROUND_UP(npkts * USEC_PER_MSEC, delta_us);
curr_stats->bpms = DIV_ROUND_UP(nbytes * USEC_PER_MSEC, delta_us);
- curr_stats->epms = DIV_ROUND_UP(NET_DIM_NEVENTS * USEC_PER_MSEC,
+ curr_stats->epms = DIV_ROUND_UP(DIM_NEVENTS * USEC_PER_MSEC,
delta_us);
}
diff --git a/include/linux/net_dim.h b/include/linux/net_dim.h
index 373cda74b167..f89fa4fdfb46 100644
--- a/include/linux/net_dim.h
+++ b/include/linux/net_dim.h
@@ -128,67 +128,67 @@ net_dim_get_def_tx_moderation(u8 cq_period_mode)
static inline int net_dim_step(struct net_dim *dim)
{
if (dim->tired == (NET_DIM_PARAMS_NUM_PROFILES * 2))
- return NET_DIM_TOO_TIRED;
+ return DIM_TOO_TIRED;
switch (dim->tune_state) {
- case NET_DIM_PARKING_ON_TOP:
- case NET_DIM_PARKING_TIRED:
+ case DIM_PARKING_ON_TOP:
+ case DIM_PARKING_TIRED:
break;
- case NET_DIM_GOING_RIGHT:
+ case DIM_GOING_RIGHT:
if (dim->profile_ix == (NET_DIM_PARAMS_NUM_PROFILES - 1))
- return NET_DIM_ON_EDGE;
+ return DIM_ON_EDGE;
dim->profile_ix++;
dim->steps_right++;
break;
- case NET_DIM_GOING_LEFT:
+ case DIM_GOING_LEFT:
if (dim->profile_ix == 0)
- return NET_DIM_ON_EDGE;
+ return DIM_ON_EDGE;
dim->profile_ix--;
dim->steps_left++;
break;
}
dim->tired++;
- return NET_DIM_STEPPED;
+ return DIM_STEPPED;
}
static inline void net_dim_exit_parking(struct net_dim *dim)
{
- dim->tune_state = dim->profile_ix ? NET_DIM_GOING_LEFT :
- NET_DIM_GOING_RIGHT;
+ dim->tune_state = dim->profile_ix ? DIM_GOING_LEFT :
+ DIM_GOING_RIGHT;
net_dim_step(dim);
}
-static inline int net_dim_stats_compare(struct net_dim_stats *curr,
- struct net_dim_stats *prev)
+static inline int net_dim_stats_compare(struct dim_stats *curr,
+ struct dim_stats *prev)
{
if (!prev->bpms)
- return curr->bpms ? NET_DIM_STATS_BETTER :
- NET_DIM_STATS_SAME;
+ return curr->bpms ? DIM_STATS_BETTER :
+ DIM_STATS_SAME;
if (IS_SIGNIFICANT_DIFF(curr->bpms, prev->bpms))
- return (curr->bpms > prev->bpms) ? NET_DIM_STATS_BETTER :
- NET_DIM_STATS_WORSE;
+ return (curr->bpms > prev->bpms) ? DIM_STATS_BETTER :
+ DIM_STATS_WORSE;
if (!prev->ppms)
- return curr->ppms ? NET_DIM_STATS_BETTER :
- NET_DIM_STATS_SAME;
+ return curr->ppms ? DIM_STATS_BETTER :
+ DIM_STATS_SAME;
if (IS_SIGNIFICANT_DIFF(curr->ppms, prev->ppms))
- return (curr->ppms > prev->ppms) ? NET_DIM_STATS_BETTER :
- NET_DIM_STATS_WORSE;
+ return (curr->ppms > prev->ppms) ? DIM_STATS_BETTER :
+ DIM_STATS_WORSE;
if (!prev->epms)
- return NET_DIM_STATS_SAME;
+ return DIM_STATS_SAME;
if (IS_SIGNIFICANT_DIFF(curr->epms, prev->epms))
- return (curr->epms < prev->epms) ? NET_DIM_STATS_BETTER :
- NET_DIM_STATS_WORSE;
+ return (curr->epms < prev->epms) ? DIM_STATS_BETTER :
+ DIM_STATS_WORSE;
- return NET_DIM_STATS_SAME;
+ return DIM_STATS_SAME;
}
-static inline bool net_dim_decision(struct net_dim_stats *curr_stats,
+static inline bool net_dim_decision(struct dim_stats *curr_stats,
struct net_dim *dim)
{
int prev_state = dim->tune_state;
@@ -197,44 +197,44 @@ static inline bool net_dim_decision(struct net_dim_stats *curr_stats,
int step_res;
switch (dim->tune_state) {
- case NET_DIM_PARKING_ON_TOP:
+ case DIM_PARKING_ON_TOP:
stats_res = net_dim_stats_compare(curr_stats, &dim->prev_stats);
- if (stats_res != NET_DIM_STATS_SAME)
+ if (stats_res != DIM_STATS_SAME)
net_dim_exit_parking(dim);
break;
- case NET_DIM_PARKING_TIRED:
+ case DIM_PARKING_TIRED:
dim->tired--;
if (!dim->tired)
net_dim_exit_parking(dim);
break;
- case NET_DIM_GOING_RIGHT:
- case NET_DIM_GOING_LEFT:
+ case DIM_GOING_RIGHT:
+ case DIM_GOING_LEFT:
stats_res = net_dim_stats_compare(curr_stats, &dim->prev_stats);
- if (stats_res != NET_DIM_STATS_BETTER)
- net_dim_turn(dim);
+ if (stats_res != DIM_STATS_BETTER)
+ dim_turn(dim);
- if (net_dim_on_top(dim)) {
- net_dim_park_on_top(dim);
+ if (dim_on_top(dim)) {
+ dim_park_on_top(dim);
break;
}
step_res = net_dim_step(dim);
switch (step_res) {
- case NET_DIM_ON_EDGE:
- net_dim_park_on_top(dim);
+ case DIM_ON_EDGE:
+ dim_park_on_top(dim);
break;
- case NET_DIM_TOO_TIRED:
- net_dim_park_tired(dim);
+ case DIM_TOO_TIRED:
+ dim_park_tired(dim);
break;
}
break;
}
- if ((prev_state != NET_DIM_PARKING_ON_TOP) ||
- (dim->tune_state != NET_DIM_PARKING_ON_TOP))
+ if (prev_state != DIM_PARKING_ON_TOP ||
+ dim->tune_state != DIM_PARKING_ON_TOP)
dim->prev_stats = *curr_stats;
return dim->profile_ix != prev_ix;
@@ -243,7 +243,7 @@ static inline bool net_dim_decision(struct net_dim_stats *curr_stats,
static inline void net_dim(struct net_dim *dim,
struct net_dim_sample end_sample)
{
- struct net_dim_stats curr_stats;
+ struct dim_stats curr_stats;
u16 nevents;
switch (dim->state) {
@@ -251,10 +251,9 @@ static inline void net_dim(struct net_dim *dim,
nevents = BIT_GAP(BITS_PER_TYPE(u16),
end_sample.event_ctr,
dim->start_sample.event_ctr);
- if (nevents < NET_DIM_NEVENTS)
+ if (nevents < DIM_NEVENTS)
break;
- net_dim_calc_stats(&dim->start_sample, &end_sample,
- &curr_stats);
+ dim_calc_stats(&dim->start_sample, &end_sample, &curr_stats);
if (net_dim_decision(&curr_stats, dim)) {
dim->state = NET_DIM_APPLY_NEW_PROFILE;
schedule_work(&dim->work);
--
2.21.0
next prev parent reply other threads:[~2019-06-25 20:57 UTC|newest]
Thread overview: 33+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-06-25 20:57 [pull request][for-next V2 0/7] Generic DIM lib for netdev and RDMA Saeed Mahameed
2019-06-25 20:57 ` [for-next V2 01/10] linux/dim: Move logic to dim.h Saeed Mahameed
2019-06-25 21:53 ` Sagi Grimberg
2019-06-25 20:57 ` Saeed Mahameed [this message]
2019-06-25 21:53 ` [for-next V2 02/10] linux/dim: Remove "net" prefix from internal DIM members Sagi Grimberg
2019-06-25 20:57 ` [for-next V2 03/10] linux/dim: Rename externally exposed macros Saeed Mahameed
2019-06-25 21:54 ` Sagi Grimberg
2019-06-25 20:57 ` [for-next V2 04/10] linux/dim: Rename net_dim_sample() to net_dim_update_sample() Saeed Mahameed
2019-06-25 21:55 ` Sagi Grimberg
2019-06-25 20:57 ` [for-next V2 05/10] linux/dim: Rename externally used net_dim members Saeed Mahameed
2019-06-25 21:57 ` Sagi Grimberg
2019-06-26 6:38 ` Tal Gilboa
2019-06-25 20:57 ` [for-next V2 06/10] linux/dim: Move implementation to .c files Saeed Mahameed
2019-07-02 16:15 ` Geert Uytterhoeven
2019-06-25 20:57 ` [for-next V2 07/10] linux/dim: Add completions count to dim_sample Saeed Mahameed
2019-06-25 20:57 ` [for-next V2 08/10] linux/dim: Implement rdma_dim Saeed Mahameed
2019-06-25 22:02 ` Sagi Grimberg
2019-06-26 11:57 ` Or Gerlitz
2019-06-27 5:25 ` Yamin Friedman
2019-06-25 20:57 ` [for-next V2 09/10] RDMA/nldev: Added configuration of RDMA dynamic interrupt moderation to netlink Saeed Mahameed
2019-06-25 21:15 ` Sagi Grimberg
2019-06-27 5:29 ` Yamin Friedman
2019-06-25 20:57 ` [for-next V2 10/10] RDMA/core: Provide RDMA DIM support for ULPs Saeed Mahameed
2019-06-25 21:14 ` Sagi Grimberg
2019-06-26 7:56 ` Idan Burstein
2019-07-02 5:36 ` Sagi Grimberg
2019-07-02 6:41 ` Leon Romanovsky
2019-07-03 18:56 ` Sagi Grimberg
2019-07-04 7:51 ` Leon Romanovsky
2019-07-04 12:30 ` Idan Burstein
2019-06-27 5:28 ` Yamin Friedman
2019-06-25 21:07 ` [pull request][for-next V2 0/7] Generic DIM lib for netdev and RDMA Saeed Mahameed
2019-06-27 19:43 ` David Miller
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20190625205701.17849-3-saeedm@mellanox.com \
--to=saeedm@mellanox.com \
--cc=davem@davemloft.net \
--cc=dledford@redhat.com \
--cc=jgg@mellanox.com \
--cc=leonro@mellanox.com \
--cc=linux-rdma@vger.kernel.org \
--cc=netdev@vger.kernel.org \
--cc=ogerlitz@mellanox.com \
--cc=sagi@grimberg.me \
--cc=talgi@mellanox.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
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).