Patchwork [net-next,1/2] net: fix a compile error when CONFIG_NET_LL_RX_POLL is not set

login
register
mail settings
Submitter Amerigo Wang
Date Aug. 1, 2013, 3:10 a.m.
Message ID <1375326625-21427-1-git-send-email-amwang@redhat.com>
Download mbox | patch
Permalink /patch/263882/
State Accepted
Delegated to: David Miller
Headers show

Comments

Amerigo Wang - Aug. 1, 2013, 3:10 a.m.
From: Cong Wang <amwang@redhat.com>

When CONFIG_NET_LL_RX_POLL is not set, I got:

net/socket.c: In function ‘sock_poll’:
net/socket.c:1165:4: error: implicit declaration of function ‘sk_busy_loop’ [-Werror=implicit-function-declaration]

Fix this by adding a nop when !CONFIG_NET_LL_RX_POLL.

Cc: Eliezer Tamir <eliezer.tamir@linux.intel.com>
Cc: David S. Miller <davem@davemloft.net>
Signed-off-by: Cong Wang <amwang@redhat.com>
---
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Eliezer Tamir - Aug. 1, 2013, 6:54 a.m.
On 01/08/2013 06:10, Cong Wang wrote:
> From: Cong Wang <amwang@redhat.com>
> 
> When CONFIG_NET_LL_RX_POLL is not set, I got:
> 
> net/socket.c: In function ‘sock_poll’:
> net/socket.c:1165:4: error: implicit declaration of function ‘sk_busy_loop’ [-Werror=implicit-function-declaration]
> 
> Fix this by adding a nop when !CONFIG_NET_LL_RX_POLL.
> 

Good catch!

There is a placeholder function, but it has a typo in the name.
With all the renaming I made a mistake and called the do-nothing
function sk_busy_poll while the implemented function is called sk_busy_loop.

so what we need is to rename sk_busy_loop() into sk_busy_poll.

(sorry I'm out of the office so I can't do much more than look at the
code at the moment.)

Thanks,
Eliezer
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Eliezer Tamir - Aug. 1, 2013, 7:29 a.m.
On 01/08/2013 10:18, David Miller wrote:
>> net/socket.c: In function ‘sock_poll’:
>> net/socket.c:1165:4: error: implicit declaration of function ‘sk_busy_loop’ [-Werror=implicit-function-declaration]
>>
>> Fix this by adding a nop when !CONFIG_NET_LL_RX_POLL.
>>
>> Cc: Eliezer Tamir <eliezer.tamir@linux.intel.com>
>> Cc: David S. Miller <davem@davemloft.net>
>> Signed-off-by: Cong Wang <amwang@redhat.com>
> 
> Is this really a net-next specific problem?  Doesn't it happen in
> 'net' too?
> 
> If so, it should be fixed in 'net', not just 'net-next'.

Both issues are present in net.
And since these are bug fixes, IMHO both patches should go to net.
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Amerigo Wang - Aug. 1, 2013, 8:08 a.m.
On Thu, 2013-08-01 at 09:54 +0300, Eliezer Tamir wrote:
> On 01/08/2013 06:10, Cong Wang wrote:
> > From: Cong Wang <amwang@redhat.com>
> > 
> > When CONFIG_NET_LL_RX_POLL is not set, I got:
> > 
> > net/socket.c: In function ‘sock_poll’:
> > net/socket.c:1165:4: error: implicit declaration of function ‘sk_busy_loop’ [-Werror=implicit-function-declaration]
> > 
> > Fix this by adding a nop when !CONFIG_NET_LL_RX_POLL.
> > 
> 
> Good catch!
> 
> There is a placeholder function, but it has a typo in the name.
> With all the renaming I made a mistake and called the do-nothing
> function sk_busy_poll while the implemented function is called sk_busy_loop.
> 
> so what we need is to rename sk_busy_loop() into sk_busy_poll.
> 

Ok.

Thinking about it again, what is the point of your commit commit
89bf1b5a683df497c572c4d3bd3f9c9aa919d773 (net: remove NET_LL_RX_POLL
config menue)? After that commit, CONFIG_NET_LL_RX_POLL is not visible
by user and no other configs select it, also since it defaults to y, it
will be _always_ enabled. If this is really what you want, we can simply
remove all !CONFIG_NET_LL_RX_POLL code.


--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
David Miller - Aug. 1, 2013, 8:03 p.m.
From: Cong Wang <amwang@redhat.com>
Date: Thu, 01 Aug 2013 16:08:07 +0800

> Thinking about it again, what is the point of your commit commit
> 89bf1b5a683df497c572c4d3bd3f9c9aa919d773 (net: remove NET_LL_RX_POLL
> config menue)? After that commit, CONFIG_NET_LL_RX_POLL is not visible
> by user and no other configs select it, also since it defaults to y, it
> will be _always_ enabled. If this is really what you want, we can simply
> remove all !CONFIG_NET_LL_RX_POLL code.

Yes we could do that, it has no dependencies which is the usual reason
to have a hidden Kconfig var like this.
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Eliezer Tamir - Aug. 2, 2013, 3:04 a.m.
On 01/08/2013 23:03, David Miller wrote:
> From: Cong Wang <amwang@redhat.com>
> Date: Thu, 01 Aug 2013 16:08:07 +0800
> 
>> Thinking about it again, what is the point of your commit commit
>> 89bf1b5a683df497c572c4d3bd3f9c9aa919d773 (net: remove NET_LL_RX_POLL
>> config menue)? After that commit, CONFIG_NET_LL_RX_POLL is not visible
>> by user and no other configs select it, also since it defaults to y, it
>> will be _always_ enabled. If this is really what you want, we can simply
>> remove all !CONFIG_NET_LL_RX_POLL code.
> 
> Yes we could do that, it has no dependencies which is the usual reason
> to have a hidden Kconfig var like this.

I think we still need a config option that depends on net and the
placeholder code.
What happens then if someone does not configure networking?
Won't this break select and poll?
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
David Miller - Aug. 2, 2013, 5:51 a.m.
From: Eliezer Tamir <eliezer.tamir@linux.intel.com>
Date: Fri, 02 Aug 2013 06:04:11 +0300

> On 01/08/2013 23:03, David Miller wrote:
>> From: Cong Wang <amwang@redhat.com>
>> Date: Thu, 01 Aug 2013 16:08:07 +0800
>> 
>>> Thinking about it again, what is the point of your commit commit
>>> 89bf1b5a683df497c572c4d3bd3f9c9aa919d773 (net: remove NET_LL_RX_POLL
>>> config menue)? After that commit, CONFIG_NET_LL_RX_POLL is not visible
>>> by user and no other configs select it, also since it defaults to y, it
>>> will be _always_ enabled. If this is really what you want, we can simply
>>> remove all !CONFIG_NET_LL_RX_POLL code.
>> 
>> Yes we could do that, it has no dependencies which is the usual reason
>> to have a hidden Kconfig var like this.
> 
> I think we still need a config option that depends on net and the
> placeholder code.
> What happens then if someone does not configure networking?
> Won't this break select and poll?

Good point.
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Patch

diff --git a/include/net/busy_poll.h b/include/net/busy_poll.h
index a14339c..6cd8848 100644
--- a/include/net/busy_poll.h
+++ b/include/net/busy_poll.h
@@ -181,5 +181,10 @@  static inline bool busy_loop_timeout(unsigned long end_time)
 	return true;
 }
 
+static inline bool sk_busy_loop(struct sock *sk, int nonblock)
+{
+	return false;
+}
+
 #endif /* CONFIG_NET_LL_RX_POLL */
 #endif /* _LINUX_NET_BUSY_POLL_H */