DragonFly BSD

CVS log for src/sys/kern/kern_sysctl.c

[BACK] Up to [dragonfly] / src / sys / kern

Request diff between arbitrary revisions


Default branch: MAIN


Revision 1.30 / (download) - annotate - [select for diffs], Sun Aug 3 11:00:32 2008 UTC (3 years, 6 months ago) by sephe
Branch: MAIN
CVS Tags: HEAD
Changes since 1.29: +14 -0 lines
Diff to previous 1.29 (colored)

Promote sysctl_int_range()

Revision 1.29 / (download) - annotate - [select for diffs], Sun Jan 6 16:55:51 2008 UTC (4 years, 1 month ago) by swildner
Branch: MAIN
CVS Tags: DragonFly_RELEASE_2_0_Slip, DragonFly_RELEASE_2_0, DragonFly_RELEASE_1_12_Slip, DragonFly_RELEASE_1_12, DragonFly_Preview
Changes since 1.28: +1 -2 lines
Diff to previous 1.28 (colored)

Remove bogus checks after kmalloc(M_WAITOK) which never returns NULL.

Reviewed-by: hasso

Revision 1.28 / (download) - annotate - [select for diffs], Mon Sep 3 17:32:32 2007 UTC (4 years, 5 months ago) by dillon
Branch: MAIN
Changes since 1.27: +1 -1 lines
Diff to previous 1.27 (colored)

Bring in FreeBSD/1.177 - fix a bug in a call made to useracc().  This
permissions check is redundant since copyin/copyout also perform a
validation so there is no known security issue.

Reported-by: "Constantine A. Murenin" <cnst@FreeBSD.org>
Obtained-from: FreeBSD

Revision 1.27 / (download) - annotate - [select for diffs], Mon Apr 30 07:18:54 2007 UTC (4 years, 9 months ago) by dillon
Branch: MAIN
CVS Tags: DragonFly_RELEASE_1_10_Slip, DragonFly_RELEASE_1_10
Changes since 1.26: +1 -1 lines
Diff to previous 1.26 (colored)

Revamp SYSINIT ordering.  Relabel sysinit IDs (SI_* in sys/kernel.h) to
make them less confusing, particularly with regard to the relative order
init routines are called in.

Reorder many sysinits.  Reorder the SMP and CLOCK code to bring all the
cpus up far earlier in the boot sequence and to make the full threading and
clocking subsystems available for device config.

Revision 1.26 / (download) - annotate - [select for diffs], Sat Dec 23 23:47:54 2006 UTC (5 years, 1 month ago) by swildner
Branch: MAIN
CVS Tags: DragonFly_RELEASE_1_8_Slip, DragonFly_RELEASE_1_8
Changes since 1.25: +2 -1 lines
Diff to previous 1.25 (colored)

Ansify function declarations and fix some minor style issues.

In-collaboration-with: Alexey Slynko <slynko@tronet.ru>

Revision 1.25 / (download) - annotate - [select for diffs], Sat Dec 23 00:35:04 2006 UTC (5 years, 1 month ago) by swildner
Branch: MAIN
Changes since 1.24: +16 -16 lines
Diff to previous 1.24 (colored)

Rename printf -> kprintf in sys/ and add some defines where necessary
(files which are used in userland, too).

Revision 1.24 / (download) - annotate - [select for diffs], Wed Dec 20 18:14:41 2006 UTC (5 years, 1 month ago) by dillon
Branch: MAIN
Changes since 1.23: +1 -1 lines
Diff to previous 1.23 (colored)

Rename sprintf  -> ksprintf
Rename snprintf -> knsprintf

Make allowances for source files that are compiled for both userland and
the kernel.

Revision 1.23 / (download) - annotate - [select for diffs], Tue Sep 5 00:55:45 2006 UTC (5 years, 5 months ago) by dillon
Branch: MAIN
Changes since 1.22: +14 -14 lines
Diff to previous 1.22 (colored)

Rename malloc->kmalloc, free->kfree, and realloc->krealloc.  Pass 1

Revision 1.22 / (download) - annotate - [select for diffs], Mon Jun 5 07:26:10 2006 UTC (5 years, 8 months ago) by dillon
Branch: MAIN
CVS Tags: DragonFly_RELEASE_1_6_Slip, DragonFly_RELEASE_1_6
Changes since 1.21: +1 -1 lines
Diff to previous 1.21 (colored)

Modify kern/makesyscall.sh to prefix all kernel system call procedures
with "sys_".  Modify all related kernel procedures to use the new naming
convention.  This gets rid of most of the namespace overloading between
the kernel and standard header files.

Revision 1.21 / (download) - annotate - [select for diffs], Fri May 5 20:15:01 2006 UTC (5 years, 9 months ago) by dillon
Branch: MAIN
Changes since 1.20: +5 -4 lines
Diff to previous 1.20 (colored)

Remove the thread pointer argument to lockmgr().  All lockmgr() ops use the
current thread.

Move the lockmgr code in BUF_KERNPROC to lockmgr_kernproc().  This code
allows the lock owner to be set to a special value so any thread can unlock
the lock and is required for B_ASYNC I/O so biodone() can release the lock.

Revision 1.20 / (download) - annotate - [select for diffs], Sun Apr 23 03:08:02 2006 UTC (5 years, 9 months ago) by dillon
Branch: MAIN
Changes since 1.19: +4 -4 lines
Diff to previous 1.19 (colored)

Remove the now unused interlock argument to the lockmgr() procedure.
This argument has been abused over the years by kernel programmers
attempting to optimize certain locking and data modification sequences,
resulting in a virtually unreadable code in some cases.  The interlock
also made porting between BSDs difficult as each BSD implemented their
interlock differently.  DragonFly has slowly removed use of the interlock
argument and we can now finally be rid of it entirely.

Revision 1.19 / (download) - annotate - [select for diffs], Thu Mar 2 19:07:59 2006 UTC (5 years, 11 months ago) by dillon
Branch: MAIN
Changes since 1.18: +2 -2 lines
Diff to previous 1.18 (colored)

Pass LK_PCATCH instead of trying to store tsleep flags in the lock
structure, so multiple entities competing for the same lock do not
use unexpected flags when sleeping.

Only NFS really uses PCATCH with lockmgr locks.

Revision 1.18 / (download) - annotate - [select for diffs], Sat Feb 5 23:04:28 2005 UTC (7 years ago) by joerg
Branch: MAIN
CVS Tags: DragonFly_Stable, DragonFly_RELEASE_1_4_Slip, DragonFly_RELEASE_1_4, DragonFly_RELEASE_1_2_Slip, DragonFly_RELEASE_1_2
Changes since 1.17: +5 -3 lines
Diff to previous 1.17 (colored)

Add a macro SYSCTL_SET_CHILDREN. Use it to avoid lhs cast.

Revision 1.17 / (download) - annotate - [select for diffs], Mon May 10 10:51:31 2004 UTC (7 years, 9 months ago) by hmp
Branch: MAIN
CVS Tags: DragonFly_Snap29Sep2004, DragonFly_Snap13Sep2004, DragonFly_1_0_REL, DragonFly_1_0_RC1, DragonFly_1_0A_REL
Changes since 1.16: +1 -1 lines
Diff to previous 1.16 (colored)

Remove newline from panic(9) message, it is redundant.

Revision 1.16 / (download) - annotate - [select for diffs], Mon Mar 29 14:08:09 2004 UTC (7 years, 10 months ago) by joerg
Branch: MAIN
Changes since 1.15: +0 -0 lines
Diff to previous 1.15 (colored)

Remove the old locking based on memory flags by lockmgr based code.

Initial effort by Eirik Nygaard.

Revision 1.15 / (download) - annotate - [select for diffs], Mon Mar 29 14:06:31 2004 UTC (7 years, 10 months ago) by joerg
Branch: MAIN
Changes since 1.14: +185 -99 lines
Diff to previous 1.14 (colored)

kern_sysctl.c

Revision 1.14 / (download) - annotate - [select for diffs], Sun Nov 23 22:15:22 2003 UTC (8 years, 2 months ago) by dillon
Branch: MAIN
Changes since 1.13: +11 -5 lines
Diff to previous 1.13 (colored)

Fix the OID_AUTO collision with static sysctl numbers.  This can occur
when things like DIVERT are turned on, because they use static oid's
larger then 100.  Change the minimum OID_AUTO oid from 100 to 256 (taken
from FreeBSD-5.x), and add the assignment scan code from FreeBSD-4.x
rather then using a static variable.

Revision 1.13 / (download) - annotate - [select for diffs], Fri Nov 14 02:54:52 2003 UTC (8 years, 2 months ago) by daver
Branch: MAIN
Changes since 1.12: +0 -202 lines
Diff to previous 1.12 (colored)


Move ogetkerninfo() to the compat tree without any changes.

Revision 1.12 / (download) - annotate - [select for diffs], Mon Nov 10 06:12:13 2003 UTC (8 years, 3 months ago) by dillon
Branch: MAIN
Changes since 1.11: +4 -21 lines
Diff to previous 1.11 (colored)

Fully synchronize sys/boot from FreeBSD-5.x, but add / to the module path
so /kernel will be found and loaded instead of /boot/kernel.  This will
give us all the capabilities of the FreeBSD-5 boot code including AMD64 and
ELF64 support.

As part of this work, rather then try to adjust ufs/fs.h and friends to get
UFS2 info I instead copied the fs.h and friends from FreeBSD-5 into the
sys/boot subtree

Additionally, import Peter Wemm's linker set improvements from FreeBSD-5.x.
They happen to be compatible with GCC 2.95.x and it allows very few changes
to be made to the boot code.

Additionally import a number of other elements from FreeBSD-5 including
sys/diskmbr.h separation.

Revision 1.11 / (download) - annotate - [select for diffs], Wed Jul 30 00:19:14 2003 UTC (8 years, 6 months ago) by dillon
Branch: MAIN
Changes since 1.10: +1 -1 lines
Diff to previous 1.10 (colored)

syscall messaging 3: Expand the 'header' that goes in front of the syscall
arguments in the kernel copy.  The header was previously just an lwkt_msg.
The header is now a 'union sysmsg'.  'union sysmsg' contains an lwkt_msg
plus space for the additional meta data required to asynchronize various
system calls.   We haven't actually asynchronized anything yet and will not
be able to until the reply port and abort processing infrastructure is
in place.  See sys/sysmsg.h for more information on the new header.

Also cleanup syscall generation somewhat and add some ibcs2 stuff I missed.

Revision 1.10 / (download) - annotate - [select for diffs], Sat Jul 26 18:12:44 2003 UTC (8 years, 6 months ago) by dillon
Branch: MAIN
Changes since 1.9: +1 -1 lines
Diff to previous 1.9 (colored)

syscall messaging 2: Change the standard return value storage for system
calls from proc->p_retval[] to the message structure embedded in the syscall.
System calls used to set their non-error return value in p_retval[] but
must now set it in the message structure.  This is a necessary precursor to
any sort of asynchronizatino, for obvious reasons.

This work was particularly annoying because all the emualtion code declares
and manually fills in syscall argument structures.

This commit could potentially destabilize some of the emulation code but I
went through the most important Linux emulation code three times and tested it
with linux-mozilla, so I am fairly confident that I got it right.

Note: proper linux emulation requires setting the fallback elf brand to 3 or
it will default to SVR4.  It really ought to default to linux (3), not SVR4.

    sysctl -w kern.fallback_elf_brand=3

Revision 1.9 / (download) - annotate - [select for diffs], Thu Jul 24 01:41:25 2003 UTC (8 years, 6 months ago) by dillon
Branch: MAIN
Changes since 1.8: +0 -20 lines
Diff to previous 1.8 (colored)

Preliminary syscall messaging work.  Adjust all <syscall>_args structures
to include an lwkt_msg at their base which will eventually allow syscalls
to run asynch.  Note that this is for the kernel copy of the arguments, the
userland argument format has not changed for the standard syscall entry
point.

Begin abstracting a messaging syscall interface (#if 0'd out at the moment).

Change the syscall2 entry point to take the new expanded argument structure
into account.  Change sysent argument calculation (AS macro) to take the
new expanded argument structure into account.

Note: existing linux, svr4, and ibcs2 emulation may break with this commit,
though it is not intentional.

Revision 1.8 / (download) - annotate - [select for diffs], Wed Jul 23 07:14:18 2003 UTC (8 years, 6 months ago) by dillon
Branch: MAIN
Changes since 1.7: +40 -19 lines
Diff to previous 1.7 (colored)

2003-07-22 Hiten Pandya <hmp@nxad.com>

        * MFC FreeBSD rev. 1.189 of kern_exit.c (DONE)
          (shmexit to take vmspace instead of proc)
          (sort the sys/lock.h include in vm_map.c too)

        * MFC FreeBSD rev. 1.143 of kern_sysctl.c (DONE)
          (don't panic if sysctl is unregistrable)

        * Don't panic when enumerating SYSCTL_NODE()
          without children nodes. (DONE)

        * MFC FreeBSD rev. 1.113 of kern_sysctl.c (DONE)
          (Fix ogetkerninfo() handling  for KINFO_BSD_SYSINFO)

        * MFC FreeBSD rev. 1.103 of kern_sysctl.c (DONE)
          (Never reuse AUTO_OID values)

        * MFC FreeBSD rev 1.21 of i386/include/bus_dma.h
          (BUS_DMAMEM_NOSYNC -> BUS_DMA_COHERENT)

        * MFC FreeBSD rev. 1.19 of i386/include/bus_dma.h (DONE)
          (Implement real read/write barriers for i386)

Submitted by: Hiten Pandya <hmp@FreeBSD.ORG>

Revision 1.7 / (download) - annotate - [select for diffs], Sat Jul 19 21:14:38 2003 UTC (8 years, 6 months ago) by dillon
Branch: MAIN
Changes since 1.6: +3 -3 lines
Diff to previous 1.6 (colored)

Remove the priority part of the priority|flags argument to tsleep().  Only
flags are passed now.  The priority was a user scheduler thingy that is not
used by the LWKT subsystem.  For process statistics assume sleeps without
P_SINTR set to be disk-waits, and sleeps with it set to be normal sleeps.

This commit should not contain any operational changes.

Revision 1.6 / (download) - annotate - [select for diffs], Mon Jun 30 19:50:31 2003 UTC (8 years, 7 months ago) by dillon
Branch: MAIN
CVS Tags: PRE_MP
Changes since 1.5: +2 -2 lines
Diff to previous 1.5 (colored)

Misc interrupts/LWKT 1/2: threaded interrupts 2: Major work on the
user scheduler, separate it completely from the LWKT scheduler and make
user priorities, including idprio, normal, and rtprio, work properly.
This includes fixing the priority inversion problem that 4.x had.
Also complete the work on interrupt preemption.  There were a few things
I wasn't doing correctly including not protecting the initial call
to cpu_heavy_restore when a process is just starting up.  Enhance DDB a
bit (threads don't show up in PS yet).

This is a major milestone.

Revision 1.5 / (download) - annotate - [select for diffs], Sun Jun 29 06:48:31 2003 UTC (8 years, 7 months ago) by dillon
Branch: MAIN
Changes since 1.4: +22 -1 lines
Diff to previous 1.4 (colored)

Add 64 bit display output support to sysctl plus convenient macros.

Revision 1.4 / (download) - annotate - [select for diffs], Wed Jun 25 03:55:57 2003 UTC (8 years, 7 months ago) by dillon
Branch: MAIN
Changes since 1.3: +6 -5 lines
Diff to previous 1.3 (colored)

proc->thread stage 4: rework the VFS and DEVICE subsystems to take thread
pointers instead of process pointers as arguments, similar to what FreeBSD-5
did.  Note however that ultimately both APIs are going to be message-passing
which means the current thread context will not be useable for creds and
descriptor access.

Revision 1.3 / (download) - annotate - [select for diffs], Mon Jun 23 17:55:41 2003 UTC (8 years, 7 months ago) by dillon
Branch: MAIN
Changes since 1.2: +25 -27 lines
Diff to previous 1.2 (colored)

proc->thread stage 2: MAJOR revamping of system calls, ucred, jail API,
and some work on the low level device interface (proc arg -> thread arg).
As -current did, I have removed p_cred and incorporated its functions
into p_ucred.  p_prison has also been moved into p_ucred and adjusted
accordingly.  The jail interface tests now uses ucreds rather then processes.

The syscall(p,uap) interface has been changed to just (uap).  This is inclusive
of the emulation code.  It makes little sense to pass a proc pointer around
which confuses the MP readability of the code, because most system call code
will only work with the current process anyway.  Note that eventually
*ALL* syscall emulation code will be moved to a kernel-protected userland
layer because it really makes no sense whatsoever to implement these
emulations in the kernel.

suser() now takes no arguments and only operates with the current process.
The process argument has been removed from suser_xxx() so it now just takes
a ucred and flags.

The sysctl interface was adjusted somewhat.

Revision 1.2 / (download) - annotate - [select for diffs], Tue Jun 17 04:28:41 2003 UTC (8 years, 7 months ago) by dillon
Branch: MAIN
Changes since 1.1: +1 -0 lines
Diff to previous 1.1 (colored)

Add the DragonFly cvs id and perform general cleanups on cvs/rcs/sccs ids.  Most
ids have been removed from !lint sections and moved into comment sections.

Revision 1.1 / (download) - annotate - [select for diffs], Tue Jun 17 02:55:01 2003 UTC (8 years, 7 months ago) by dillon
Branch: MAIN
CVS Tags: FREEBSD_4_FORK

import from FreeBSD RELENG_4 1.92.2.9

This form allows you to request diff's between any two revisions of a file. You may select a symbolic revision name using the selection box or you may type in a numeric name using the type-in text box.