diff options
author | Sven Eckelmann <sven@narfation.org> | 2012-07-08 12:33:51 -0400 |
---|---|---|
committer | Antonio Quartulli <ordex@autistici.org> | 2012-08-23 08:20:21 -0400 |
commit | c67893d17a6bbd16328a1ee38ab0cb460511014a (patch) | |
tree | 4bf7c241b31200f0dfb2c0c41b2852b47d42921f /net/batman-adv/gateway_client.c | |
parent | bbb1f90efba89b31fc5e329d5fcaf10aca99212b (diff) |
batman-adv: Reduce accumulated length of simple statements
Signed-off-by: Sven Eckelmann <sven@narfation.org>
Signed-off-by: Antonio Quartulli <ordex@autistici.org>
Diffstat (limited to 'net/batman-adv/gateway_client.c')
-rw-r--r-- | net/batman-adv/gateway_client.c | 21 |
1 files changed, 13 insertions, 8 deletions
diff --git a/net/batman-adv/gateway_client.c b/net/batman-adv/gateway_client.c index eef7cc739397..15d67abc10a4 100644 --- a/net/batman-adv/gateway_client.c +++ b/net/batman-adv/gateway_client.c | |||
@@ -117,10 +117,15 @@ batadv_gw_get_best_gw_node(struct batadv_priv *bat_priv) | |||
117 | struct hlist_node *node; | 117 | struct hlist_node *node; |
118 | struct batadv_gw_node *gw_node, *curr_gw = NULL; | 118 | struct batadv_gw_node *gw_node, *curr_gw = NULL; |
119 | uint32_t max_gw_factor = 0, tmp_gw_factor = 0; | 119 | uint32_t max_gw_factor = 0, tmp_gw_factor = 0; |
120 | uint32_t gw_divisor; | ||
120 | uint8_t max_tq = 0; | 121 | uint8_t max_tq = 0; |
121 | int down, up; | 122 | int down, up; |
123 | uint8_t tq_avg; | ||
122 | struct batadv_orig_node *orig_node; | 124 | struct batadv_orig_node *orig_node; |
123 | 125 | ||
126 | gw_divisor = BATADV_TQ_LOCAL_WINDOW_SIZE * BATADV_TQ_LOCAL_WINDOW_SIZE; | ||
127 | gw_divisor *= 64; | ||
128 | |||
124 | rcu_read_lock(); | 129 | rcu_read_lock(); |
125 | hlist_for_each_entry_rcu(gw_node, node, &bat_priv->gw.list, list) { | 130 | hlist_for_each_entry_rcu(gw_node, node, &bat_priv->gw.list, list) { |
126 | if (gw_node->deleted) | 131 | if (gw_node->deleted) |
@@ -134,19 +139,19 @@ batadv_gw_get_best_gw_node(struct batadv_priv *bat_priv) | |||
134 | if (!atomic_inc_not_zero(&gw_node->refcount)) | 139 | if (!atomic_inc_not_zero(&gw_node->refcount)) |
135 | goto next; | 140 | goto next; |
136 | 141 | ||
142 | tq_avg = router->tq_avg; | ||
143 | |||
137 | switch (atomic_read(&bat_priv->gw_sel_class)) { | 144 | switch (atomic_read(&bat_priv->gw_sel_class)) { |
138 | case 1: /* fast connection */ | 145 | case 1: /* fast connection */ |
139 | batadv_gw_bandwidth_to_kbit(orig_node->gw_flags, | 146 | batadv_gw_bandwidth_to_kbit(orig_node->gw_flags, |
140 | &down, &up); | 147 | &down, &up); |
141 | 148 | ||
142 | tmp_gw_factor = (router->tq_avg * router->tq_avg * | 149 | tmp_gw_factor = tq_avg * tq_avg * down * 100 * 100; |
143 | down * 100 * 100) / | 150 | tmp_gw_factor /= gw_divisor; |
144 | (BATADV_TQ_LOCAL_WINDOW_SIZE * | ||
145 | BATADV_TQ_LOCAL_WINDOW_SIZE * 64); | ||
146 | 151 | ||
147 | if ((tmp_gw_factor > max_gw_factor) || | 152 | if ((tmp_gw_factor > max_gw_factor) || |
148 | ((tmp_gw_factor == max_gw_factor) && | 153 | ((tmp_gw_factor == max_gw_factor) && |
149 | (router->tq_avg > max_tq))) { | 154 | (tq_avg > max_tq))) { |
150 | if (curr_gw) | 155 | if (curr_gw) |
151 | batadv_gw_node_free_ref(curr_gw); | 156 | batadv_gw_node_free_ref(curr_gw); |
152 | curr_gw = gw_node; | 157 | curr_gw = gw_node; |
@@ -161,7 +166,7 @@ batadv_gw_get_best_gw_node(struct batadv_priv *bat_priv) | |||
161 | * soon as a better gateway appears which has | 166 | * soon as a better gateway appears which has |
162 | * $routing_class more tq points) | 167 | * $routing_class more tq points) |
163 | */ | 168 | */ |
164 | if (router->tq_avg > max_tq) { | 169 | if (tq_avg > max_tq) { |
165 | if (curr_gw) | 170 | if (curr_gw) |
166 | batadv_gw_node_free_ref(curr_gw); | 171 | batadv_gw_node_free_ref(curr_gw); |
167 | curr_gw = gw_node; | 172 | curr_gw = gw_node; |
@@ -170,8 +175,8 @@ batadv_gw_get_best_gw_node(struct batadv_priv *bat_priv) | |||
170 | break; | 175 | break; |
171 | } | 176 | } |
172 | 177 | ||
173 | if (router->tq_avg > max_tq) | 178 | if (tq_avg > max_tq) |
174 | max_tq = router->tq_avg; | 179 | max_tq = tq_avg; |
175 | 180 | ||
176 | if (tmp_gw_factor > max_gw_factor) | 181 | if (tmp_gw_factor > max_gw_factor) |
177 | max_gw_factor = tmp_gw_factor; | 182 | max_gw_factor = tmp_gw_factor; |