From: Oliver Hartkopp <oliver@hartkopp.net>
To: Arnaldo Carvalho de Melo <acme@ghostprotocols.net>,
Eric Dumazet <dada1@cosmosbay.com>,
David Miller <davem@davemloft.net>
Cc: netdev@vger.kernel.org
Subject: Patch: [NET]: Remove CONFIG_PROC_FS depency for pcounter inuse
Date: Sat, 01 Mar 2008 06:19:51 +0100 [thread overview]
Message-ID: <47C8E777.5050804@hartkopp.net> (raw)
[-- Attachment #1: Type: text/plain, Size: 1091 bytes --]
Hi all,
attached you'll find a patch that fixes the depency that has been
introduced in commit 65f7651788e18fadb2fbb7276af935d7871e1803 ([NET]:
prot_inuse cleanups and optimizations).
As the inuse counters are only used by internet protocols right now,
using CONFIG_INET would have been more obvious to recognize this illegal
optimization here. Going a bit deeper into this problem we can see, that
the pcounters are ONLY used for the internet protocols BUT initialized
for ALL protocols in proto_[un|]register() in net/core/sock.c.
This forces all network protocols to initialize the pcounters and
therefore request dynamic percpu memory even when it is not used at all.
I would suggest to
1. move the ..._inuse_[init|free]() stuff from sock.c to af_inet[|6].c
and his friends
OR
2. add new parameters to proto_[un|]register() like 'alloc_inuse' and
'free_inuse'
My favourite sollution would be the second one but before creating a
patch for one of these suggestions, i wanted to ask for your opinion or
if there is any 'even nicer' idea from your side.
Regards,
Oliver
[-- Attachment #2: remove_config_proc_fs_depency_for_pcounter_inuse.patch --]
[-- Type: text/x-patch, Size: 644 bytes --]
[NET]: Remove CONFIG_PROC_FS depency for pcounter inuse
The pcounters are initialized for each protocol and could also be used outside
CONFIG_INET context which forces CONFIG_PROC_FS to be set.
Signed-off-by: Oliver Hartkopp <oliver@hartkopp.net>
diff --git a/include/net/sock.h b/include/net/sock.h
index fd98760..505ac6f 100644
--- a/include/net/sock.h
+++ b/include/net/sock.h
@@ -552,9 +552,7 @@ struct proto {
int (*get_port)(struct sock *sk, unsigned short snum);
/* Keeping track of sockets in use */
-#ifdef CONFIG_PROC_FS
struct pcounter inuse;
-#endif
/* Memory pressure */
void (*enter_memory_pressure)(void);
next reply other threads:[~2008-03-01 5:52 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-03-01 5:19 Oliver Hartkopp [this message]
2008-03-01 9:03 ` Patch: [NET]: Remove CONFIG_PROC_FS depency for pcounter inuse Eric Dumazet
2008-03-01 11:22 ` Oliver Hartkopp
2008-03-01 12:02 ` Eric Dumazet
2008-03-01 12:48 ` Oliver Hartkopp
2008-03-01 13:45 ` Eric Dumazet
2008-03-01 13:52 ` Oliver Hartkopp
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=47C8E777.5050804@hartkopp.net \
--to=oliver@hartkopp.net \
--cc=acme@ghostprotocols.net \
--cc=dada1@cosmosbay.com \
--cc=davem@davemloft.net \
--cc=netdev@vger.kernel.org \
/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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.