RE: [PATCH v2 net-next 2/3] net: change sysctl_net_ll_poll into anunsigned int

From: Avner Ben Hanoch
Date: Wed Jun 12 2013 - 08:06:18 EST


Hi,

Please make sure to include sockperf-dev@xxxxxxxxxxxxxxxx among the recipients of this thread (I just added).
Maybe better, I suggest opening an issue in sockperf issue system - https://code.google.com/p/sockperf/issues/list . Then anyone can add notes or read/receive them.

You can see an example for similar issue (patch for supporting IP_TOS) here: https://code.google.com/p/sockperf/issues/detail?id=44
Cheers,
Avner

-----Original Message-----
From: Eliezer Tamir [mailto:eliezer.tamir@xxxxxxxxxxxxxxx]
Sent: Wednesday, June 12, 2013 14:20
To: David Miller
Cc: linux-kernel@xxxxxxxxxxxxxxx; netdev@xxxxxxxxxxxxxxx; Jesse Brandeburg; Don Skidmore; e1000-devel@xxxxxxxxxxxxxxxxxxxxx; Willem de Bruijn; Eric Dumazet; Ben Hutchings; Andi Kleen; HPA; Eilon Greenstien; Or Gerlitz; Amir Vadai; Alex Rosenbaum; Avner Ben Hanoch; Or Kehati; Eliezer Tamir
Subject: [PATCH v2 net-next 2/3] net: change sysctl_net_ll_poll into an unsigned int

There is no reason for sysctl_net_ll_poll to be an unsigned long.
Change it into an unsigned int.
Fix the proc handler.
Add a cast in ll_end_time()

Signed-off-by: Eliezer Tamir <eliezer.tamir@xxxxxxxxxxxxxxx>
---

include/net/ll_poll.h | 5 +++--
net/core/sysctl_net_core.c | 4 ++--
net/socket.c | 2 +-
3 files changed, 6 insertions(+), 5 deletions(-)

diff --git a/include/net/ll_poll.h b/include/net/ll_poll.h index bc262f8..d20508d 100644
--- a/include/net/ll_poll.h
+++ b/include/net/ll_poll.h
@@ -34,7 +34,7 @@
#ifdef CONFIG_NET_LL_RX_POLL

struct napi_struct;
-extern unsigned long sysctl_net_ll_poll __read_mostly;
+extern unsigned int sysctl_net_ll_poll __read_mostly;

/* return values from ndo_ll_poll */
#define LL_FLUSH_FAILED -1
@@ -45,7 +45,8 @@ extern unsigned long sysctl_net_ll_poll __read_mostly;

static inline cycles_t ll_end_time(void) {
- return TSC_MHZ * ACCESS_ONCE(sysctl_net_ll_poll) + get_cycles();
+ return (cycles_t)TSC_MHZ * ACCESS_ONCE(sysctl_net_ll_poll)
+ + get_cycles();
}

static inline bool sk_valid_ll(struct sock *sk) diff --git a/net/core/sysctl_net_core.c b/net/core/sysctl_net_core.c index 4b48f39..3c78b75 100644
--- a/net/core/sysctl_net_core.c
+++ b/net/core/sysctl_net_core.c
@@ -289,9 +289,9 @@ static struct ctl_table net_core_table[] = {
{
.procname = "low_latency_poll",
.data = &sysctl_net_ll_poll,
- .maxlen = sizeof(unsigned long),
+ .maxlen = sizeof(unsigned int),
.mode = 0644,
- .proc_handler = proc_doulongvec_minmax
+ .proc_handler = proc_dointvec
},
#endif
#endif /* CONFIG_NET */
diff --git a/net/socket.c b/net/socket.c index 21fd29f..caaffa1 100644
--- a/net/socket.c
+++ b/net/socket.c
@@ -107,7 +107,7 @@
#include <net/ll_poll.h>

#ifdef CONFIG_NET_LL_RX_POLL
-unsigned long sysctl_net_ll_poll __read_mostly;
+unsigned int sysctl_net_ll_poll __read_mostly;
EXPORT_SYMBOL_GPL(sysctl_net_ll_poll);
#endif


¢éì®&Þ~º&¶¬–+-±éÝ¥Šw®žË±Êâmébžìdz¹Þ)í…æèw*jg¬±¨¶‰šŽŠÝj/êäz¹ÞŠà2ŠÞ¨è­Ú&¢)ß«a¶Úþø®G«éh®æj:+v‰¨Šwè†Ù>Wš±êÞiÛaxPjØm¶Ÿÿà -»+ƒùdš_