summaryrefslogtreecommitdiffstats
path: root/sys/miscfs/procfs (follow)
Commit message (Collapse)AuthorAgeFilesLines
* Actually remove the procfs filesguenther2014-09-087-2121/+0
|
* add a size argument to free. will be used soon, but for now default to 0.tedu2014-07-124-10/+10
| | | | after discussions with beck deraadt kettenis.
* decouple struct uvmexp into a new file, so that uvm_extern.h and sysctl.hderaadt2014-07-084-11/+4
| | | | | don't need to be married. ok guenther miod beck jsing kettenis
* Track whether a process is a zombie or not yet fully built via flagsguenther2014-07-041-4/+5
| | | | | | | | | | | PS_{ZOMBIE,EMBRYO} on the process instead of peeking into the process's thread data. This eliminates the need for the thread-level SDEAD state. Change kvm_getprocs() (both the sysctl() and kvm backends) to report the "most active" scheduler state for the process's threads. tweaks kettenis@ feedback and ok matthew@
* Include <sys/vmmeter.h> directly instead of relying on it beingmpi2014-05-061-6/+3
| | | | | | | | | | | | | | pulled by <uvm/uvm_extern.h> and turn uvm_total() into a private function. The preferred way to get memory stats is through the VM_UVMEXP sysctl(3) since VM_METER is just a wrapper on top of it. In the kernel, use `uvmexp' directly instead of uvm_total(). This change does not remove <sys/vmmeter.h> from <uvm/uvm_extern.h> to give some more time to port maintainers to fix their ports. ok guenther@ as part of a larger diff.
* naughty guenther didn't compiletedu2014-01-211-3/+1
|
* Threads can't be zombies, only processes, so change zombproc to zombprocess,guenther2014-01-201-21/+10
| | | | | | | | make it a list of processes, and change P_NOZOMBIE and P_STOPPED from thread flags to process flags. Add allprocess list for the code that just wants to see processes. ok tedu@
* Move p_textvp from struct proc to struct process so that the exit codeguenther2014-01-201-3/+3
| | | | | | can be further simplified. ok kettenis@
* Format string fixes: Cast time_t to long longsf2013-10-011-3/+4
| | | | and mnt_stat.f_ctime is long long, too
* cast time_t to long long, time_t is signed, tv_nsec is longsf2013-07-031-3/+3
| | | | ok deraadt@
* Convert some internal APIs to use timespecs instead of timevalsguenther2013-06-031-2/+2
| | | | ok matthew@ deraadt@
* Add an f_mntfromspec member to struct statfs, which specifies the name ofjsing2013-04-151-1/+4
| | | | | | | | | | | | | the special provided when the mount was requested. This may be the same as the special that was actually used for the mount (e.g. in the case of a device node) or it may be different (e.g. in the case of a DUID). Whilst here, change f_ctime to a 64 bit type and remove the pointless f_spare members. Compatibility goo courtesy of guenther@ ok krw@ millert@
* Handle the pathconf _PC_PATH_MAX, _PC_PIPE_BUF, _PC_ASYNC_IO,guenther2013-03-281-13/+1
| | | | | | | | | | | _PC_PRIO_IO, and _PC_SYNC_IO names in VOP_PATHCONF(), as they're fs-independent for us. Since we don't support latter three on any fs, we can also define the related _POSIX_{ASYNC,PRIO,SYNC}_IO symbols in <unistd.h> (via sys/unistd.h) with value -1. Also, zap pointless tty-only values from procfs(!). ok beck@, deraadt@
* Cleanup VFS mount string handling:jsing2012-09-101-5/+4
| | | | | | | | | | | - Avoid using copyinstr() without checking the return value. - sys_mount() has already copied the path in, so pass this to the filesystem mount code so that it does not have to copy it in again. - Avoid copyinstr()/bzero() dance when we can simply bzero() and strlcpy(). ok krw@
* Cleanup our filesystem pathconf() code a little bit to make it easiermatthew2012-06-201-9/+12
| | | | | | to diff against FreeBSD's. From Brad; no object file change on amd64.
* Make the KERN_NPROCS and KERN_MAXPROC sysctl()s and the RLIMIT_NPROC rlimitguenther2012-04-101-3/+3
| | | | | | | | count processes instead of threads. New sysctl()s KERN_NTHREADS and KERN_MAXTHREAD count and limit threads. The nprocs and maxproc kernel variables are replaced by nprocess, maxprocess, nthreads, and maxthread. ok tedu@ mikeb@
* Make rusage totals, itimers, and profile settings per-process insteadguenther2012-03-231-3/+3
| | | | | | | of per-rthread. Handling of per-thread tick and runtime counters inspired by how FreeBSD does it. ok kettenis@
* Add PS_EXITING to better differentiate between the process exiting andguenther2012-03-101-2/+2
| | | | the main thread exiting. c.f. regress/sys/kern/main-thread-exited/
* First steps for making ptrace work with rthreads:guenther2012-02-201-2/+2
| | | | | | | | | | - move the P_TRACED and P_INEXEC flags, and p_oppid, p_ptmask, and p_ptstat member from struct proc to struct process - sort the PT_* requests into those that take a PID vs those that can also take a TID - stub in PT_GET_THREAD_FIRST and PT_GET_THREAD_NEXT ok kettenis@
* Remove the ability to ptrace via procfs, as no one is using it, so fixingguenther2011-12-245-409/+17
| | | | | | | | and extending it to support rthreads would be a waste of time. Also, don't show rthreads in the process listing in procfs. Reassurances that compat_linux doesn't need this from ajacoutot@ ok kettenis@
* Every single vop_default is set to eopnotsupp, so retire itthib2011-04-051-2/+1
| | | | | | | | and return EOPNOTSUPP directly from the VOP_* functions. Filesystems should, at some point fill in every function in the vop_default struct so we can get rid of the 'if' statements in VOP_*.
* Move P_SUGID and P_SUGIDEXEC from struct proc to struct process, soguenther2011-04-021-2/+2
| | | | | | that you can't evade the checks by doing the dirty work in an rthread ok blambert@, deraadt@
* Bring back the "End the VOP experiment." diff, naddy's issues wherethib2010-12-213-43/+39
| | | | | | unrelated, and his alpha is much happier now. OK deraadt@
* In procfs_root(), while the vn_lock on a newly-allocated vnode can notoga2010-09-231-2/+2
| | | | | | | | | | | | fail it is still good practise to either check the return value or to provide a flag that won't (to avoid copy pasted code that gets it wrong). So change LK_EXCLUSIVE to LK_EXCLUSIVE | LK_RETRY, removing the one caller of vn_lock in the tree that doesn't either pass LK_RETRY or check the return value. ok thib@, jsing@ as part of a larger diff.
* Backout the VOP diff until the issues naddy was seeing on alpha (gcc3)thib2010-09-103-39/+43
| | | | have been resolved.
* End the VOP experiment. Instead of the ridicolusly complicated operationthib2010-09-063-43/+39
| | | | | | | | | | | | | | | | | | | vector setup that has questionable features (that have, as far as I can tell never been used in practice, atleast not in OpenBSD), remove all the gunk and favor a simple struct full of function pointers that get set directly by each of the filesystems. Removes gobs of ugly code and makes things simpler by a magnitude. The only downside of this is that we loose the vnoperate feature so the spec/fifo operations of the filesystems need to be kept in sync with specfs and fifofs, this is no big deal as the API it self is pretty static. Many thanks to armani@ who pulled an earlier version of this diff to current after c2k10 and Gabriel Kihlman on tech@ for testing. Liked by many. "come on, find your balls" deraadt@.
* Correct the links between threads, processes, pgrps, and sessions,guenther2010-07-262-19/+20
| | | | | | | | | so that the process-level stuff is to/from struct process and not struct proc. This fixes a bunch of problem cases in rthreads. Based on earlier work by blambert and myself, but mostly written at c2k10. Tested by many: deraadt, sthen, krw, ray, and in snapshots
* remove crappy old README filestedu2010-07-011-128/+0
|
* - remove super-obvious comments from $fs_vnodeop_entries[]jasper2009-08-131-33/+33
| | | | | prodded by and ok thib@ agreed by art@ and blambert@
* lockmgr -> rwlockoga2009-08-101-8/+6
| | | | | | same diff as before, with the uninitalized variable fixed. ok toby@
* Remove the VREF() macro and replaces all instances with a call to verf(),thib2009-07-091-3/+3
| | | | | | | | | | | which is exactly what the macro does. Macro's that are nothing more then: #define FUNCTION(arg) function(arg) are almost always pointless and should go away. OK blambert@ Agreed by many.
* this rwlock conversion breaks procfs (in linux compat), as found outderaadt2009-04-221-5/+7
| | | | | by Antoine Jacoutot. back out for oga to look at when he gets back in touch with earth.
* Convert lockmgr to rwlock. Been in snaps for a while.oga2009-04-021-7/+5
| | | | ok deraadt@
* same vmspace song and dance as in kern_sysctl.c 1.167; ok kurtderaadt2008-11-101-6/+8
|
* Update access(2) to have modern semantics with respect to X_OK andmillert2008-06-091-3/+3
| | | | | | the superuser. access(2) will now only indicate success for X_OK on non-directories if there is at least one execute bit set on the file. OK deraadt@ thib@ otto@
* procfs can use vop_generic_bmap too;thib2008-05-091-25/+2
|
* retire vn_default_error() and replace all instancesthib2008-05-081-2/+2
| | | | | | with eopnotsupp() instead; ok blambert@
* remove useless defines for the vnode operations, and insteadthib2008-04-241-29/+15
| | | | | | | init the op array functions with whatever the define was set too. ok dlg@,blambert@
* MALLOC/FREE -> malloc/freehshoexer2007-12-091-3/+3
| | | | ok gilles
* replace the machine dependant bytes-to-clicks macro by the MI ptoa()martin2007-09-011-2/+2
| | | | | | | | version for i386 more architectures and ctob() replacement is being worked on prodded by and ok miod
* declare "pid" as pid_t instead of long, and remove unneeded cast to pid_tjasper2007-06-222-5/+5
| | | | ok pedro@ thib@
* ansify/de-register.jasper2007-06-188-126/+49
| | | | no binary change
* pedro ok'd this ~3500 line diff which removes the vop argumentderaadt2007-06-011-75/+15
| | | | | "ap = v" comments in under 8 seconds, so it must be ok. and it compiles too.
* Since p_flag is often manipulated in interrupts and without biglockart2007-03-151-4/+4
| | | | | | | | | | | | it's a good idea to use atomic.h operations on it. This mechanic change updates all bit operations on p_flag to atomic_{set,clear}bits_int. Only exception is that P_OWEUPC is set by MI code before calling need_proftick and it's automatically cleared by ADDUPC. There's no reason for MD handling of that flag since everyone handles it the same way. kettenis@ ok
* Allow reads of /proc/meminfo to be correctly terminated, okay thib@pedro2007-01-011-2/+2
|
* Kernel stack can be swapped. This means that stuff that's on the stackmiod2006-11-293-12/+5
| | | | | | | | | | should never be referenced outside the context of the process to which this stack belongs unless we do the PHOLD/PRELE dance. Loads of code doesn't follow the rules here. Instead of trying to track down all offenders and fix this hairy situation, it makes much more sense to not swap kernel stacks. From art@, tested by many some time ago.
* Allow building procfs on systems that don't #define PT_STEP (such as sparc64).tsi2006-08-281-1/+5
| | | | ok pedro@, miod@
* Use more queue macros rather than doing it by hand; ok otto@ krw@miod2006-03-052-5/+5
|
* Replace procfs_domem() with a similar interface, process_domem(), which livesmiod2005-12-116-143/+10
| | | | | | | out of procfs and gets a ptrace request PT_{READ,WRITE}_{I,D} as argument; also procfs_checkioperm() becomes process_checkioperm(). From art@ some time ago; ok kettenis@ pedro@
* Remove unnecessary lockmgr() archaism that was costing too much in termspedro2005-11-191-3/+3
| | | | | | of panics and bugfixes. Access curproc directly, do not expect a process pointer as an argument. Should fix many "process context required" bugs. Incentive and okay millert@, okay marc@. Various testing, thanks.