diff options
author | Eric W. Biederman <ebiederm@xmission.com> | 2006-11-08 20:44:51 -0500 |
---|---|---|
committer | Linus Torvalds <torvalds@g5.osdl.org> | 2006-11-08 21:29:24 -0500 |
commit | 13bb7e37e5081d03643e2bd64f3f5d21f32e7221 (patch) | |
tree | d7dc30aa8b7f852a3a8b264eb1822140d32f564c | |
parent | 6c33eb39976b67628452ebc791834c7d590e545e (diff) |
[PATCH] sysctl: Undeprecate sys_sysctl
The basic issue is that despite have been deprecated and warned about as a
very bad thing in the man pages since its inception there are a few real
users of sys_sysctl. It was my assumption that because sysctl had been
deprecated for all of 2.6 there would be no user space users by this point,
so I initially gave sys_sysctl a very short deprecation period.
Now that I know there are a few real users the only sane way to proceed
with deprecation is to push the time limit out to a year or two work and
work with distributions that have big testing pools like fedora core to
find these last remaining users.
Which means that the sys_sysctl interface needs to be maintained in the
meantime.
Since I have provided a technical measure that allows us to add new sysctl
entries without reserving more binary numbers I believe that is enough to
fix the sys_sysctl binary interface maintenance problems, because there is
no longer a need to change the binary interface at all.
Since the sys_sysctl implementation needs to stay around for a while and
the worst of the maintenance issues that caused us to occasionally break
the ABI have been addressed I don't see any advantage in continuing with
the removal of sys_sysctl.
So instead of merely increasing the deprecation period this patch removes
the deprecation of sys_sysctl and modifies the kernel to compile the code
in by default.
With committing to maintain sys_sysctl we get all of the advantages of a
fast interface for anything that needs it. Currently sys_sysctl is about
5x faster than /proc/sys, for the same string data.
Signed-off-by: Eric W. Biederman <ebiederm@xmission.com>
Acked-by: Alan Cox <alan@redhat.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-rw-r--r-- | Documentation/feature-removal-schedule.txt | 12 | ||||
-rw-r--r-- | init/Kconfig | 19 |
2 files changed, 9 insertions, 22 deletions
diff --git a/Documentation/feature-removal-schedule.txt b/Documentation/feature-removal-schedule.txt index 1ac3c74646e3..d52c4aaaf17f 100644 --- a/Documentation/feature-removal-schedule.txt +++ b/Documentation/feature-removal-schedule.txt | |||
@@ -53,18 +53,6 @@ Who: Mauro Carvalho Chehab <mchehab@brturbo.com.br> | |||
53 | 53 | ||
54 | --------------------------- | 54 | --------------------------- |
55 | 55 | ||
56 | What: sys_sysctl | ||
57 | When: January 2007 | ||
58 | Why: The same information is available through /proc/sys and that is the | ||
59 | interface user space prefers to use. And there do not appear to be | ||
60 | any existing user in user space of sys_sysctl. The additional | ||
61 | maintenance overhead of keeping a set of binary names gets | ||
62 | in the way of doing a good job of maintaining this interface. | ||
63 | |||
64 | Who: Eric Biederman <ebiederm@xmission.com> | ||
65 | |||
66 | --------------------------- | ||
67 | |||
68 | What: PCMCIA control ioctl (needed for pcmcia-cs [cardmgr, cardctl]) | 56 | What: PCMCIA control ioctl (needed for pcmcia-cs [cardmgr, cardctl]) |
69 | When: November 2005 | 57 | When: November 2005 |
70 | Files: drivers/pcmcia/: pcmcia_ioctl.c | 58 | Files: drivers/pcmcia/: pcmcia_ioctl.c |
diff --git a/init/Kconfig b/init/Kconfig index c8b2624af176..176f7e5136c7 100644 --- a/init/Kconfig +++ b/init/Kconfig | |||
@@ -304,20 +304,19 @@ config UID16 | |||
304 | 304 | ||
305 | config SYSCTL_SYSCALL | 305 | config SYSCTL_SYSCALL |
306 | bool "Sysctl syscall support" if EMBEDDED | 306 | bool "Sysctl syscall support" if EMBEDDED |
307 | default n | 307 | default y |
308 | select SYSCTL | 308 | select SYSCTL |
309 | ---help--- | 309 | ---help--- |
310 | Enable the deprecated sysctl system call. sys_sysctl uses | 310 | sys_sysctl uses binary paths that have been found challenging |
311 | binary paths that have been found to be a major pain to maintain | 311 | to properly maintain and use. The interface in /proc/sys |
312 | and use. The interface in /proc/sys is now the primary and what | 312 | using paths with ascii names is now the primary path to this |
313 | everyone uses. | 313 | information. |
314 | 314 | ||
315 | Nothing has been using the binary sysctl interface for some | 315 | Almost nothing using the binary sysctl interface so if you are |
316 | time now so nothing should break if you disable sysctl syscall | 316 | trying to save some space it is probably safe to disable this, |
317 | support, and your kernel will get marginally smaller. | 317 | making your kernel marginally smaller. |
318 | 318 | ||
319 | Unless you have an application that uses the sys_sysctl interface | 319 | If unsure say Y here. |
320 | you should probably say N here. | ||
321 | 320 | ||
322 | config KALLSYMS | 321 | config KALLSYMS |
323 | bool "Load all symbols for debugging/kksymoops" if EMBEDDED | 322 | bool "Load all symbols for debugging/kksymoops" if EMBEDDED |