#
dc36d6f9 |
|
23-Nov-2023 |
Warner Losh <imp@FreeBSD.org> |
lib: Remove ancient SCCS tags. Remove ancient SCCS tags from the tree, automated scripting, with two minor fixup to keep things compiling. All the common forms in the tree were removed with a perl script. Sponsored by: Netflix
|
#
1d386b48 |
|
16-Aug-2023 |
Warner Losh <imp@FreeBSD.org> |
Remove $FreeBSD$: one-line .c pattern Remove /^[\s*]*__FBSDID\("\$FreeBSD\$"\);?\s*\n/
|
#
bb53dd56 |
|
21-Mar-2022 |
firk <firk@cantconnect.ru> |
kern_tc.c/cputick2usec() (which is used to calculate cputime from cpu ticks) has some imprecision and, worse, huge timestep (about 20 minutes on 4GHz CPU) near 53.4 days of elapsed time. kern_time.c/cputick2timespec() (it is used for clock_gettime() for querying process or thread consumed cpu time) Uses cputick2usec() and then needlessly converting usec to nsec, obviously losing precision even with fixed cputick2usec(). kern_time.c/kern_clock_getres() uses some weird (anyway wrong) formula for getting cputick resolution. PR: 262215 Reviewed by: gnn Differential Revision: https://reviews.freebsd.org/D34558
|
#
e67ef6ce |
|
22-May-2021 |
Konstantin Belousov <kib@FreeBSD.org> |
libkvm: Fix build after removeal of p_tracevp Sponsored by: The FreeBSD Foundation MFC after: 1 week
|
#
fa2528ac |
|
18-Feb-2021 |
Alex Richardson <arichardson@FreeBSD.org> |
Use atomic loads/stores when updating td->td_state KCSAN complains about racy accesses in the locking code. Those races are fine since they are inside a TD_SET_RUNNING() loop that expects the value to be changed by another CPU. Use relaxed atomic stores/loads to indicate that this variable can be written/read by multiple CPUs at the same time. This will also prevent the compiler from doing unexpected re-ordering. Reported by: GENERIC-KCSAN Test Plan: KCSAN no longer complains, kernel still runs fine. Reviewed By: markj, mjg (earlier version) Differential Revision: https://reviews.freebsd.org/D28569
|
#
5844bd05 |
|
28-Dec-2020 |
Konstantin Belousov <kib@FreeBSD.org> |
jobc: rework detection of orphaned groups. Instead of trying to maintain pg_jobc counter on each process group update (and sometimes before), just calculate the counter when needed. Still, for the benefit of the signal delivery code, explicitly mark orphaned groups as such with the new process group flag. This way we prevent bugs in the corner cases where updates to the counter were missed due to complicated configuration of p_pptr/p_opptr/real_parent (debugger). Since we need to iterate over all children of the process on exit, this change mostly affects the process group entry and leave, where we need to iterate all process group members to detect orpaned status. (For MFC, keep pg_jobc around but unused). Reported by: jhb Reviewed by: jilles Tested by: pho MFC after: 2 weeks Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D27871
|
#
85078b85 |
|
17-Nov-2020 |
Conrad Meyer <cem@FreeBSD.org> |
Split out cwd/root/jail, cmask state from filedesc table No functional change intended. Tracking these structures separately for each proc enables future work to correctly emulate clone(2) in linux(4). __FreeBSD_version is bumped (to 1300130) for consumption by, e.g., lsof. Reviewed by: kib Discussed with: markj, mjg Differential Revision: https://reviews.freebsd.org/D27037
|
#
789f4e26 |
|
22-Sep-2019 |
Mike Karels <karels@FreeBSD.org> |
Add support for ps -H on corefiles in libkvm Add support for kernel threads in kvm_getprocs() and the underlying kvm_proclist() in libkvm when fetching from a kernel core file. This has been missing/needed for several releases, when kernel threads became normal threads. The loop over the processes now contains a sub-loop for threads, which iterates beyond the first thread only when threads are requested. Also set some fields such as tid that were previously uninitialized. Reviewed by: vangyzen jhb(earlier revision) MFC after: 4 days Sponsored by: Forcepoint LLC Differential Revision: https://reviews.freebsd.org/D21461
|
#
993d074b |
|
22-May-2018 |
John Baldwin <jhb@FreeBSD.org> |
Use __SCCSID for SCCS IDs in libkvm sources. Rather than using #ifdef's around a static char array, use the existing helper macro from <sys/cdefs.h> for SCCS IDs. To preserve existing behavior, add -DNO__SCCSID to CFLAGS to not include SCCS IDs in the built library by default. Reviewed by: brooks, dab (older version) Reviewed by: rgrimes Differential Revision: https://reviews.freebsd.org/D15459
|
#
8a16b7a1 |
|
20-Nov-2017 |
Pedro F. Giffuni <pfg@FreeBSD.org> |
General further adoption of SPDX licensing ID tags. Mainly focus on files that use BSD 3-Clause license. The Software Package Data Exchange (SPDX) group provides a specification to make it easier for automated tools to detect and summarize well known opensource licenses. We are gradually adopting the specification, noting that the tags are considered only advisory and do not, in any way, superceed or replace the license texts. Special thanks to Wind River for providing access to "The Duke of Highlander" tool: an older (2014) run over FreeBSD tree was useful as a starting point.
|
#
69921123 |
|
23-May-2017 |
Konstantin Belousov <kib@FreeBSD.org> |
Commit the 64-bit inode project. Extend the ino_t, dev_t, nlink_t types to 64-bit ints. Modify struct dirent layout to add d_off, increase the size of d_fileno to 64-bits, increase the size of d_namlen to 16-bits, and change the required alignment. Increase struct statfs f_mntfromname[] and f_mntonname[] array length MNAMELEN to 1024. ABI breakage is mitigated by providing compatibility using versioned symbols, ingenious use of the existing padding in structures, and by employing other tricks. Unfortunately, not everything can be fixed, especially outside the base system. For instance, third-party APIs which pass struct stat around are broken in backward and forward incompatible ways. Kinfo sysctl MIBs ABI is changed in backward-compatible way, but there is no general mechanism to handle other sysctl MIBS which return structures where the layout has changed. It was considered that the breakage is either in the management interfaces, where we usually allow ABI slip, or is not important. Struct xvnode changed layout, no compat shims are provided. For struct xtty, dev_t tty device member was reduced to uint32_t. It was decided that keeping ABI compat in this case is more useful than reporting 64-bit dev_t, for the sake of pstat. Update note: strictly follow the instructions in UPDATING. Build and install the new kernel with COMPAT_FREEBSD11 option enabled, then reboot, and only then install new world. Credits: The 64-bit inode project, also known as ino64, started life many years ago as a project by Gleb Kurtsou (gleb). Kirk McKusick (mckusick) then picked up and updated the patch, and acted as a flag-waver. Feedback, suggestions, and discussions were carried by Ed Maste (emaste), John Baldwin (jhb), Jilles Tjoelker (jilles), and Rick Macklem (rmacklem). Kris Moore (kris) performed an initial ports investigation followed by an exp-run by Antoine Brodin (antoine). Essential and all-embracing testing was done by Peter Holm (pho). The heavy lifting of coordinating all these efforts and bringing the project to completion were done by Konstantin Belousov (kib). Sponsored by: The FreeBSD Foundation (emaste, kib) Differential revision: https://reviews.freebsd.org/D10439
|
#
fbbd9655 |
|
28-Feb-2017 |
Warner Losh <imp@FreeBSD.org> |
Renumber copyright clause 4 Renumber cluase 4 to 3, per what everybody else did when BSD granted them permission to remove clause 3. My insistance on keeping the same numbering for legal reasons is too pedantic, so give up on that point. Submitted by: Jan Schaumann <jschauma@stevens.edu> Pull Request: https://github.com/freebsd/freebsd/pull/96
|
#
3d32d4a7 |
|
07-Dec-2016 |
Eric van Gyzen <vangyzen@FreeBSD.org> |
Export the whole thread name in kinfo_proc kinfo_proc::ki_tdname is three characters shorter than thread::td_name. Add a ki_moretdname field for these three extra characters. Add the new field to kinfo_proc32, as well. Update all in-tree consumers to read the new field and assemble the full name, except for lldb's HostThreadFreeBSD.cpp, which I will handle separately. Bump __FreeBSD_version. Reviewed by: kib MFC after: 1 week Relnotes: yes Sponsored by: Dell EMC Differential Revision: https://reviews.freebsd.org/D8722
|
#
68b68bf5 |
|
30-Apr-2016 |
Enji Cooper <ngie@FreeBSD.org> |
Fix memory allocation edgecases in kvm_argv(..) - Don't leak nbufp on realloc failure in kvm_argv - Catch malloc errors with bufp - Set buflen last in the "buflen == 0" case to ensure that bufp/nbufp is properly reallocated on the next go around Differential Revision: https://reviews.freebsd.org/D6051 MFC after: 1 week Reviewed by: jhb, markj Reported by: cppcheck Sponsored by: EMC / Isilon Storage Division
|
#
fb0e1892 |
|
22-Apr-2016 |
Enji Cooper <ngie@FreeBSD.org> |
Fix up pointer issues with lib/libkvm In particular, - avoid dereferencing NULL pointers - test pointers against NULL, not 0 - test for errout == NULL in the top-level functions (kvm_open, kvm_openfiles, kvm_open2, etc) - Replace a realloc and free on failure with reallocf Found with: devel/cocchinelle Differential Revision: https://reviews.freebsd.org/D5954 MFC after: 1 week Reviewed by: jhb Sponsored by: EMC / Isilon Storage Division
|
#
7f911abe |
|
27-Nov-2015 |
John Baldwin <jhb@FreeBSD.org> |
Add support to libkvm for reading vmcores from other architectures. - Add a kvaddr_type to represent kernel virtual addresses instead of unsigned long. - Add a struct kvm_nlist which is a stripped down version of struct nlist that uses kvaddr_t for n_value. - Add a kvm_native() routine that returns true if an open kvm descriptor is for a native kernel and memory image. - Add a kvm_open2() function similar to kvm_openfiles(). It drops the unused 'swapfile' argument and adds a new function pointer argument for a symbol resolving function. Native kernels still use _fdnlist() from libc to resolve symbols if a resolver function is not supplied, but cross kernels require a resolver. - Add a kvm_nlist2() function similar to kvm_nlist() except that it uses struct kvm_nlist instead of struct nlist. - Add a kvm_read2() function similar to kvm_read() except that it uses kvaddr_t instead of unsigned long for the kernel virtual address. - Add a new kvm_arch switch of routines needed by a vmcore backend. Each backend is responsible for implementing kvm_read2() for a given vmcore format. - Use libelf to read headers from ELF kernels and cores (except for powerpc cores). - Add internal helper routines for the common page offset hash table used by the minidump backends. - Port all of the existing kvm backends to implement a kvm_arch switch and to be cross-friendly by using private constants instead of ones that vary by platform (e.g. PAGE_SIZE). Static assertions are present when a given backend is compiled natively to ensure the private constants match the real ones. - Enable all of the existing vmcore backends on all platforms. This means that libkvm on any platform should be able to perform KVA translation and read data from a vmcore of any platform. Tested on: amd64, i386, sparc64 (marius) Differential Revision: https://reviews.freebsd.org/D3341
|
#
9789cd30 |
|
26-Nov-2015 |
John Baldwin <jhb@FreeBSD.org> |
Remove trailing whitespace.
|
#
b4490c6e |
|
18-Jul-2015 |
Konstantin Belousov <kib@FreeBSD.org> |
The si_status field of the siginfo_t, provided by the waitid(2) and SIGCHLD signal, should keep full 32 bits of the status passed to the _exit(2). Split the combined p_xstat of the struct proc into the separate exit status p_xexit for normal process exit, and signalled termination information p_xsig. Kernel-visible macro KW_EXITCODE() reconstructs old p_xstat from p_xexit and p_xsig. p_xexit contains complete status and copied out into si_status. Requested by: Joerg Schilling Reviewed by: jilles (previous version), pho Tested by: pho Sponsored by: The FreeBSD Foundation
|
#
e77f9fed |
|
18-Oct-2014 |
Adrian Chadd <adrian@FreeBSD.org> |
Update the ULE scheduler + thread and kinfo structs to use int for cpuid rather than u_char. To try and play nice with the ABI, the u_char CPU ID values are clamped at 254. The new fields now contain the full CPU ID, or -1 for no cpu. Differential Revision: D955 Reviewed by: jhb, kib Sponsored by: Norse Corp, Inc.
|
#
ca895af3 |
|
06-Oct-2012 |
Andriy Gapon <avg@FreeBSD.org> |
kvm_getprocs: gracefully handle errors from kvm_deadprocs and don't confuse callers with incorrect return value MFC after: 9 days
|
#
9fb9ea1c |
|
06-Oct-2012 |
Andriy Gapon <avg@FreeBSD.org> |
kvm_proclist: ignore processes in larvae state Reviewed by: jhb MFC after: 8 days
|
#
767993ec |
|
01-Feb-2012 |
Mikolaj Golub <trociny@FreeBSD.org> |
Try to avoid ambiguity when sysctl returns ENOMEM additionally checking the returned oldlen: when ENOMEM is due to the supplied buffer being too short the return oldlen is equal to buffer size. Without this additional check kvm_getprocs() gets stuck in loop if the returned ENOMEM was due the exceeded memorylocked limit. This is easily can be observed running `limits -l 1k top'. Submitted by: Andrey Zonov <andrey zonov org> MFC after: 1 week
|
#
952a0c3e |
|
15-Jan-2012 |
Mikolaj Golub <trociny@FreeBSD.org> |
In kvm_argv(), the case when the supplied buffer was too short to hold the requested value was handled incorrectly, and the function retuned NULL instead of the truncated result. Fix this and also remove unnecessary check for buf != NULL, which alway retuns true. MFC after: 3 days
|
#
ee5169dc |
|
22-Nov-2011 |
Mikolaj Golub <trociny@FreeBSD.org> |
Now kvm_getenvv() and kvm_getargv() don't need procfs(5). MFC after: 2 weeks
|
#
925af544 |
|
18-Jul-2011 |
Bjoern A. Zeeb <bz@FreeBSD.org> |
Rename ki_ocomm to ki_tdname and OCOMMLEN to TDNAMLEN. Provide backward compatibility defines under BURN_BRIDGES. Suggested by: jhb Reviewed by: emaste Sponsored by: Sandvine Incorporated Approved by: re (kib)
|
#
de788839 |
|
23-Jan-2011 |
Ulrich Spörlein <uqs@FreeBSD.org> |
libkvm: fix process runtime calculation on crashdumps Fix a long standing bug, where the procs ticks where assumed to be in us. Instead, read cpu_tick_frequency from the kernel and use the same logic to convert runtime. This is still too optimistic in that it assumes cpu_tick_frequency is available and fixed. Since this function is only called on crashdumps, I think we can live with that. Testing has shown the values to be correct for different kern.hz inside Virtualbox. Bump WARNS. Alignment issues on some archs mean this is still at 3. Reviewed by: bde
|
#
c10970dd |
|
23-Jan-2011 |
Ulrich Spörlein <uqs@FreeBSD.org> |
libkvm code janitoring - make WARNS=6 clean for archs w/o strict alignment requirments - add const, ANSIfy, remove unused vars, cast types for comparison - thanks to differing definitions of VM_MIN_ADDRESS across our archs, we need to trick the compiler to not complain about signedness. We could either fix VM_MIN_ADDRESS to always be a simple integer or make the check conditional on $ARCH. Closes PRs: kern/42386, kern/83364 Reviewed by: bde
|
#
a7d5f7eb |
|
19-Oct-2010 |
Jamie Gritton <jamie@FreeBSD.org> |
A new jail(8) with a configuration file, to replace the work currently done by /etc/rc.d/jail.
|
#
5f494640 |
|
17-Jun-2010 |
Sean Bruno <sbruno@FreeBSD.org> |
Much closer approximation of the kernel's calculation of this value. Reviewed by: alc Obtained from: Yahoo Inc.
|
#
fe0506d7 |
|
09-Mar-2010 |
Marcel Moolenaar <marcel@FreeBSD.org> |
Create the altix project branch. The altix project will add support for the SGI Altix 350 to FreeBSD/ia64. The hardware used for porting is a two-module system, consisting of a base compute module and a CPU expansion module. SGI's NUMAFlex architecture can be an excellent platform to test CPU affinity and NUMA-aware features in FreeBSD.
|
#
c1dde08c |
|
17-Dec-2009 |
Brooks Davis <brooks@FreeBSD.org> |
MFC r200366 Add a missing else that negated the truncation of ki_ngroups to NGROUPS. Submitted by: Dmitry Pryanishnikov <lynx dot ripe at gmail dot com>
|
#
68a5cc39 |
|
10-Dec-2009 |
Brooks Davis <brooks@FreeBSD.org> |
Add a missing else that negated the truncation of ki_ngroups to NGROUPS. Submitted by: Dmitry Pryanishnikov <lynx dot ripe at gmail dot com>
|
#
ad007490 |
|
24-Sep-2009 |
Brooks Davis <brooks@FreeBSD.org> |
MFC r196990: cr_groups is no longer embedded in struct ucred and is instead stored in a seperate array. As such we need to use kvm_read rather than bcopy to populate the ki_groups field. This fixes a crash when running ps -ax on a coredump. Reported by: brucec Tested by: brucec MFC after: 3 days Approved by: re@ (kib)
|
#
d534b0c2 |
|
08-Sep-2009 |
Brooks Davis <brooks@FreeBSD.org> |
cr_groups is no longer embedded in struct ucred and is instead stored in a seperate array. As such we need to use kvm_read rather than bcopy to populate the ki_groups field. This fixes a crash when running ps -ax on a coredump. Reported by: brucec Tested by: brucec MFC after: 3 days
|
#
1b5768be |
|
24-Jul-2009 |
Brooks Davis <brooks@FreeBSD.org> |
Revert the changes to struct kinfo_proc in r194498. Instead, fill in up to 16 (KI_NGROUPS) values and steal a bit from ki_cr_flags (all bits currently unused) to indicate overflow with the new flag KI_CRF_GRP_OVERFLOW. This fixes procstat -s. Approved by: re (kib)
|
#
838d9858 |
|
19-Jun-2009 |
Brooks Davis <brooks@FreeBSD.org> |
Rework the credential code to support larger values of NGROUPS and NGROUPS_MAX, eliminate ABI dependencies on them, and raise the to 1024 and 1023 respectively. (Previously they were equal, but under a close reading of POSIX, NGROUPS_MAX was defined to be too large by 1 since it is the number of supplemental groups, not total number of groups.) The bulk of the change consists of converting the struct ucred member cr_groups from a static array to a pointer. Do the equivalent in kinfo_proc. Introduce new interfaces crcopysafe() and crsetgroups() for duplicating a process credential before modifying it and for setting group lists respectively. Both interfaces take care for the details of allocating groups array. crsetgroups() takes care of truncating the group list to the current maximum (NGROUPS) if necessary. In the future, crsetgroups() may be responsible for insuring invariants such as sorting the supplemental groups to allow groupmember() to be implemented as a binary search. Because we can not change struct xucred without breaking application ABIs, we leave it alone and introduce a new XU_NGROUPS value which is always 16 and is to be used or NGRPS as appropriate for things such as NFS which need to use no more than 16 groups. When feasible, truncate the group list rather than generating an error. Minor changes: - Reduce the number of hand rolled versions of groupmember(). - Do not assign to both cr_gid and cr_groups[0]. - Modify ipfw to cache ucreds instead of part of their contents since they are immutable once referenced by more than one entity. Submitted by: Isilon Systems (initial implementation) X-MFC after: never PR: bin/113398 kern/133867
|
#
413628a7 |
|
29-Nov-2008 |
Bjoern A. Zeeb <bz@FreeBSD.org> |
MFp4: Bring in updated jail support from bz_jail branch. This enhances the current jail implementation to permit multiple addresses per jail. In addtion to IPv4, IPv6 is supported as well. Due to updated checks it is even possible to have jails without an IP address at all, which basically gives one a chroot with restricted process view, no networking,.. SCTP support was updated and supports IPv6 in jails as well. Cpuset support permits jails to be bound to specific processor sets after creation. Jails can have an unrestricted (no duplicate protection, etc.) name in addition to the hostname. The jail name cannot be changed from within a jail and is considered to be used for management purposes or as audit-token in the future. DDB 'show jails' command was added to aid debugging. Proper compat support permits 32bit jail binaries to be used on 64bit systems to manage jails. Also backward compatibility was preserved where possible: for jail v1 syscalls, as well as with user space management utilities. Both jail as well as prison version were updated for the new features. A gap was intentionally left as the intermediate versions had been used by various patches floating around the last years. Bump __FreeBSD_version for the afore mentioned and in kernel changes. Special thanks to: - Pawel Jakub Dawidek (pjd) for his multi-IPv4 patches and Olivier Houchard (cognet) for initial single-IPv6 patches. - Jeff Roberson (jeff) and Randall Stewart (rrs) for their help, ideas and review on cpuset and SCTP support. - Robert Watson (rwatson) for lots and lots of help, discussions, suggestions and review of most of the patch at various stages. - John Baldwin (jhb) for his help. - Simon L. Nielsen (simon) as early adopter testing changes on cluster machines as well as all the testers and people who provided feedback the last months on freebsd-jail and other channels. - My employer, CK Software GmbH, for the support so I could work on this. Reviewed by: (see above) MFC after: 3 months (this is just so that I get the mail) X-MFC Before: 7.2-RELEASE if possible
|
#
d7f03759 |
|
19-Oct-2008 |
Ulf Lilleengen <lulf@FreeBSD.org> |
- Import the HEAD csup code which is the basis for the cvsmode work.
|
#
1e71e49d |
|
12-Mar-2008 |
Jeff Roberson <jeff@FreeBSD.org> |
- Don't inspect the P_SA flag. It's being removed.
|
#
cfe127f5 |
|
26-Oct-2007 |
Julian Elischer <julian@FreeBSD.org> |
Aparrently MACXOCOMLEN exisrts only on my machine
|
#
7ab24ea3 |
|
26-Oct-2007 |
Julian Elischer <julian@FreeBSD.org> |
Introduce a way to make pure kernal threads. kthread_add() takes the same parameters as the old kthread_create() plus a pointer to a process structure, and adds a kernel thread to that process. kproc_kthread_add() takes the parameters for kthread_add, plus a process name and a pointer to a pointer to a process instead of just a pointer, and if the proc * is NULL, it creates the process to the specifications required, before adding the thread to it. All other old kthread_xxx() calls return, but act on (struct thread *) instead of (struct proc *). One reason to change the name is so that any old kernel modules that are lying around and expect kthread_create() to make a process will not just accidentally link. fix top to show kernel threads by their thread name in -SH mode add a tdnam formatting option to ps to show thread names. make all idle threads actual kthreads and put them into their own idled process. make all interrupt threads kthreads and put them in an interd process (mainly for aesthetic and accounting reasons) rename proc 0 to be 'kernel' and it's swapper thread is now 'swapper' man page fixes to follow.
|
#
84a0b303 |
|
20-Sep-2007 |
Jeff Roberson <jeff@FreeBSD.org> |
- When using kvm use the new conversion method to derive swtime. Approved by: re
|
#
b61ce5b0 |
|
16-Sep-2007 |
Jeff Roberson <jeff@FreeBSD.org> |
- Move all of the PS_ flags into either p_flag or td_flags. - p_sflag was mostly protected by PROC_LOCK rather than the PROC_SLOCK or previously the sched_lock. These bugs have existed for some time. - Allow swapout to try each thread in a process individually and then swapin the whole process if any of these fail. This allows us to move most scheduler related swap flags into td_flags. - Keep ki_sflag for backwards compat but change all in source tools to use the new and more correct location of P_INMEM. Reported by: pho Reviewed by: attilio, kib Approved by: re (kensmith)
|
#
8ef6b142 |
|
31-May-2007 |
Jeff Roberson <jeff@FreeBSD.org> |
- Work-around the already partially broken rusage support in kvm by completely disabling it until a full solution is agreed upon. Pointy hat to: me
|
#
67e40531 |
|
08-Jan-2007 |
Warner Losh <imp@FreeBSD.org> |
Remove the advertising clause. UCB did this some time ago, but these files were never updated to reflect that. MFC After: 2 days
|
#
2d2f0b92 |
|
05-Dec-2006 |
Julian Elischer <julian@FreeBSD.org> |
remove already commented out code
|
#
8460a577 |
|
26-Oct-2006 |
John Birrell <jb@FreeBSD.org> |
Make KSE a kernel option, turned on by default in all GENERIC kernel configs except sun4v (which doesn't process signals properly with KSE). Reviewed by: davidxu@
|
#
42e43591 |
|
25-Jul-2006 |
Yaroslav Tykhiy <ytykhiy@gmail.com> |
Rev. 1.44 of this file didn't introduce a right solution, but we don't seem to have one yet, so just add an XXX comment on passing rux_runtime to bintime2timeval() wrongly. Spotted by: gcc(1) (warning)
|
#
2cfe3fda |
|
23-Jun-2005 |
Peter Wemm <peter@FreeBSD.org> |
Set ki_tdev to NODEV rather than NULL. Approved by: re
|
#
f8197bf0 |
|
20-Mar-2005 |
Pawel Jakub Dawidek <pjd@FreeBSD.org> |
Make kvm(3) aware of ki_jid field. Reviewed by: gad MFC after: 3 days
|
#
9c4fb661 |
|
15-Mar-2005 |
Poul-Henning Kamp <phk@FreeBSD.org> |
Dike out unwarranted reference to si_udev.
|
#
7a62aa8a |
|
19-Nov-2004 |
David Schultz <das@FreeBSD.org> |
In preparation to remove U areas, don't refer to p_uarea in libkvm. Reviewed by: arch@
|
#
668e800b |
|
13-Nov-2004 |
Christian S.J. Peron <csjp@FreeBSD.org> |
Remove un-needed call to close(2). The fd that close is being called on is invalid and has no use. Reviewed by: smkelly
|
#
2bdd5609 |
|
11-Oct-2004 |
Peter Wemm <peter@FreeBSD.org> |
Belatedly catch up with the dev_t/cdev changes from a few months back. Extract the struct cdev pointer and the tty device from inside rather than incorrectly casting the 'struct cdev *' pointer to a 'dev_t' int. Not that this was particularly important since it was only used for reading vmcore files.
|
#
09ff687c |
|
06-Oct-2004 |
John Baldwin <jhb@FreeBSD.org> |
- Fix the compile to chase the p_rux changes. - Add a comment noting that the ru_[us]times values being read aren't actually valid and need to be computed from the raw values. Submitted by: many (1)
|
#
ed062c8d |
|
04-Sep-2004 |
Julian Elischer <julian@FreeBSD.org> |
Refactor a bunch of scheduler code to give basically the same behaviour but with slightly cleaned up interfaces. The KSE structure has become the same as the "per thread scheduler private data" structure. In order to not make the diffs too great one is #defined as the other at this time. The KSE (or td_sched) structure is now allocated per thread and has no allocation code of its own. Concurrency for a KSEGRP is now kept track of via a simple pair of counters rather than using KSE structures as tokens. Since the KSE structure is different in each scheduler, kern_switch.c is now included at the end of each scheduler. Nothing outside the scheduler knows the contents of the KSE (aka td_sched) structure. The fields in the ksegrp structure that are to do with the scheduler's queueing mechanisms are now moved to the kg_sched structure. (per ksegrp scheduler private data structure). In other words how the scheduler queues and keeps track of threads is no-one's business except the scheduler's. This should allow people to write experimental schedulers with completely different internal structuring. A scheduler call sched_set_concurrency(kg, N) has been added that notifies teh scheduler that no more than N threads from that ksegrp should be allowed to be on concurrently scheduled. This is also used to enforce 'fainess' at this time so that a ksegrp with 10000 threads can not swamp a the run queue and force out a process with 1 thread, since the current code will not set the concurrency above NCPU, and both schedulers will not allow more than that many onto the system run queue at a time. Each scheduler should eventualy develop their own methods to do this now that they are effectively separated. Rejig libthr's kernel interface to follow the same code paths as linkse for scope system threads. This has slightly hurt libthr's performance but I will work to recover as much of it as I can. Thread exit code has been cleaned up greatly. exit and exec code now transitions a process back to 'standard non-threaded mode' before taking the next step. Reviewed by: scottl, peter MFC after: 1 week
|
#
e1f91dbd |
|
27-Jul-2004 |
Alexander Kabaev <kan@FreeBSD.org> |
Remove stale code protected by #ifdef sparc. GCC 3.4.x adds sparc to predefined symbols on all SPARC platforms and FreeBSD follows the crowd.
|
#
1566329b |
|
23-Jun-2004 |
Garance A Drosehn <gad@FreeBSD.org> |
Fix a test of bit-flag "P_SA" by adding parenthesis around the expression. Submitted by: Cyrille Lefevre
|
#
b7e7c21a |
|
23-Jun-2004 |
Garance A Drosehn <gad@FreeBSD.org> |
Replace a call to strncpy() with a call to strlcpy() Submitted by: Cyrille Lefevre
|
#
276de18c |
|
19-Jun-2004 |
Garance A Drosehn <gad@FreeBSD.org> |
Fill in the some new fields 'struct kinfo_proc', namely ki_childstime, ki_childutime, and ki_emul. Also uses the timeradd() macro to correct the calculation of ki_childtime. That will correct the value returned when ki_childtime.tv_usec > 1,000,000. This also implements a new KERN_PROC_GID option for kvm_getprocs(). It also implements the KERN_PROC_RGID and KERN_PROC_SESSION options which were added to sys/kern/kern_proc.c revision 1.203. PR: bin/65803 (a very tiny piece of the PR) Submitted by: Cyrille Lefevre
|
#
f3732fd1 |
|
17-Jun-2004 |
Poul-Henning Kamp <phk@FreeBSD.org> |
Second half of the dev_t cleanup. The big lines are: NODEV -> NULL NOUDEV -> NODEV udev_t -> dev_t udev2dev() -> findcdev() Various minor adjustments including handling of userland access to kernel space struct cdev etc.
|
#
30105366 |
|
15-Jun-2004 |
Julian Elischer <julian@FreeBSD.org> |
This library has to change whenever the kernel process structure changes.
|
#
5aaa432d |
|
28-Mar-2004 |
Jens Schweikhardt <schweikh@FreeBSD.org> |
Fix a warning: compare u_long ps_strings to 0 instead of NULL.
|
#
694127f8 |
|
22-Feb-2004 |
Daniel Eischen <deischen@FreeBSD.org> |
Teach kvm_getprocs() to recognize a sysctl flag for including threads.
|
#
f2dd06ab |
|
27-Sep-2003 |
Tim J. Robbins <tjr@FreeBSD.org> |
Use the 3-component version of the KERN_PROC_PROC sysctl.
|
#
8d2fd95b |
|
31-Jul-2003 |
Poul-Henning Kamp <phk@FreeBSD.org> |
Remove unnecssary <vm/swap_pager.h> includes. These were probably not cleaned up back in whatever murky past these files were split into separate files.
|
#
d8406ada |
|
14-Jun-2003 |
David Xu <davidxu@FreeBSD.org> |
P_THREADED was renamed to P_SA, follow up.
|
#
840558b9 |
|
14-May-2003 |
John Baldwin <jhb@FreeBSD.org> |
s/procsig/sigacts/ to catch up to procsig and sigacts changes in the kernel. Approved by: re (scottl)
|
#
e472fbee |
|
14-May-2003 |
Peter Wemm <peter@FreeBSD.org> |
Bandaid for world. jhb gets the pointy hat here and he needs to look at this. Approved by: re (scottl)
|
#
a0ddbf49 |
|
10-Apr-2003 |
Julian Elischer <julian@FreeBSD.org> |
Catch up with the kernel. Move the current cpu indicator to the thread.
|
#
42d3ad71 |
|
31-Mar-2003 |
Jeff Roberson <jeff@FreeBSD.org> |
- Spell SIGSETOR correctly.
|
#
31a9779e |
|
31-Mar-2003 |
Jeff Roberson <jeff@FreeBSD.org> |
- Catch up with kernel signal changes.
|
#
8b7a975e |
|
13-Mar-2003 |
John Baldwin <jhb@FreeBSD.org> |
Catch up to p_tracep -> p_tracevp rename to unbreak world. Pointy hat to: jhb
|
#
ac2e4153 |
|
26-Feb-2003 |
Julian Elischer <julian@FreeBSD.org> |
Change the process flags P_KSES to be P_THREADED. This is just a cosmetic change but I've been meaning to do it for about a year.
|
#
0d632649 |
|
02-Oct-2002 |
John Baldwin <jhb@FreeBSD.org> |
Catch up to SMTX -> SLOCK changes.
|
#
e8a58a83 |
|
01-Oct-2002 |
Juli Mallett <jmallett@FreeBSD.org> |
Ressurect libkvm use of the bitmasked signal list in the kernel, now that reliable signal queues are gone.
|
#
13405443 |
|
30-Sep-2002 |
Juli Mallett <jmallett@FreeBSD.org> |
Fix typo, should zero the kinfo_proc's siglist, not the real one's - the real one doesn't have one. Submitted by: jake, scottl Big pointed hat that lands one in the badcommitters box to: jmallett
|
#
fc256ea4 |
|
30-Sep-2002 |
Juli Mallett <jmallett@FreeBSD.org> |
The list of queued signals is not, can not, and will not be exported to the userland. If someone wants to implement a backup p_siglist in the kernel for compatability and to export one could. For now, just tell KVM to hand an empty signal set off to the userland.
|
#
f86e3350 |
|
16-Sep-2002 |
Bruce Evans <bde@FreeBSD.org> |
Fixed messes involving $FreeBSD$ starting with one left in the copyright after adding __FBSDID(). Garbage-collected kvm_readswap(). This was once used by kvm_uread(), but kvm_uread() now just reads /proc/<pid>/mem and procfs hopefully handles swapped out pages.
|
#
4f0db5e0 |
|
15-Sep-2002 |
Julian Elischer <julian@FreeBSD.org> |
Allocate KSEs and KSEGRPs separatly and remove them from the proc structure. next step is to allow > 1 to be allocated per process. This would give multi-processor threads. (when the rest of the infrastructure is in place) While doing this I noticed libkvm and sys/kern/kern_proc.c:fill_kinfo_proc are diverging more than they should.. corrective action needed soon.
|
#
71fad9fd |
|
11-Sep-2002 |
Julian Elischer <julian@FreeBSD.org> |
Completely redo thread states. Reviewed by: davidxu@freebsd.org
|
#
0d8293f4 |
|
29-Aug-2002 |
Peter Wemm <peter@FreeBSD.org> |
Hopefully unbreak world. ke_slptime is gone. It should really have been looking at p_ksegrp.kg_slptime anyway.
|
#
b20ea179 |
|
28-Aug-2002 |
Alfred Perlstein <alfred@FreeBSD.org> |
Allow one to grab the definition of struct ucred by defining _WANT_UCRED instead of forcing _KERNEL. Move the include of sys/_label.h in ucred.h under the _KERNEL || _WANT_UCRED case.
|
#
d3cf4981 |
|
24-Aug-2002 |
Kris Kennaway <kris@FreeBSD.org> |
&x is not a format string
|
#
aa22cbfe |
|
16-Aug-2002 |
Alfred Perlstein <alfred@FreeBSD.org> |
Hide 'struct ucred' behind '#ifdef _KERNEL', this should stop userland from attempting to use it for good. There is a catch, kvm_proc.c needs to '#define _KERNEL' to get at the ucred. Requested by: rwatson
|
#
58551c03 |
|
30-Jun-2002 |
Julian Elischer <julian@FreeBSD.org> |
Don't even read in the thread if it is a zombie process.
|
#
bff4151c |
|
30-Jun-2002 |
Julian Elischer <julian@FreeBSD.org> |
grow a brain and do this right.
|
#
6143c383 |
|
30-Jun-2002 |
Julian Elischer <julian@FreeBSD.org> |
Don't follow non existant thread pointers (e.g. for zombies)
|
#
e602ba25 |
|
29-Jun-2002 |
Julian Elischer <julian@FreeBSD.org> |
Part 1 of KSE-III The ability to schedule multiple threads per process (one one cpu) by making ALL system calls optionally asynchronous. to come: ia64 and power-pc patches, patches for gdb, test program (in tools) Reviewed by: Almost everyone who counts (at various times, peter, jhb, matt, alfred, mini, bernd, and a cast of thousands) NOTE: this is still Beta code, and contains lots of debugging stuff. expect slight instability in signals..
|
#
21687047 |
|
06-Apr-2002 |
Dima Dorfman <dd@FreeBSD.org> |
Fix (for the second time) kvm_getprocs() for the case where no processes match the given criteria. Since revision 1.60 of malloc.c, malloc() and friends return an invalid pointer when given a size of 0. kvm_getprocs() uses sysctl() with a NULL oldp argument to get an initial size, but does not check whether it's 0 before passing it to realloc() (via _kvm_realloc()). Before the aforementioned malloc() change, this resulted in a minimal allocation made and a valid poitner returned, but now results in an invalid, but non-NULL, pointer being returned. When this is passed to sysctl(), the latter returns EFAULT (as it should).
|
#
be04b6d1 |
|
21-Mar-2002 |
David E. O'Brien <obrien@FreeBSD.org> |
Remove 'register' keyword.
|
#
49b33de8 |
|
22-Feb-2002 |
Brian Feldman <green@FreeBSD.org> |
Also blindly attempt to fix broken world with respect to proc.p_runtime changes.
|
#
65e4542f |
|
12-Feb-2002 |
Julian Elischer <julian@FreeBSD.org> |
I THINK this fixes 'make world' I'll know as soon as I re-import it and compile it.. :-) There is no longer a 'pri' strict in the proc struct. the fields are scattered between the ksegrp and thread in question.
|
#
3daf63fc |
|
07-Feb-2002 |
Julian Elischer <julian@FreeBSD.org> |
pre-emptively fix a KSE/M3 problem. Make a slight change so that libkvm reaches the main thread via the linked list, rather than assuming it is in the proc structure. Both conditions are true in -current but only the first will be true in the KSE M3 world.
|
#
15d2f5f0 |
|
07-Nov-2001 |
Peter Wemm <peter@FreeBSD.org> |
kern.ps_arg_max_cache is a long, not an int. I believe this is half of what broke ps on ia64. It probably also broke on alpha, but the fallback method of using lseek/read on /proc/*/mem to read ps_strings seems to work there. It doesn't on ia64 yet.
|
#
6eabd845 |
|
10-Oct-2001 |
Bruce Evans <bde@FreeBSD.org> |
Compensate for "Compensate for header dethreading" by backing it out.
|
#
e67f5b9f |
|
16-Sep-2001 |
Matthew Dillon <dillon@FreeBSD.org> |
Implement __FBSDID()
|
#
b40ce416 |
|
12-Sep-2001 |
Julian Elischer <julian@FreeBSD.org> |
KSE Milestone 2 Note ALL MODULES MUST BE RECOMPILED make the kernel aware that there are smaller units of scheduling than the process. (but only allow one thread per process at this time). This is functionally equivalent to teh previousl -current except that there is a thread associated with each process. Sorry john! (your next MFC will be a doosie!) Reviewed by: peter@freebsd.org, dillon@freebsd.org X-MFC after: ha ha ha ha
|
#
6f8c6a69 |
|
24-Aug-2001 |
Peter Wemm <peter@FreeBSD.org> |
Make ps -M corefile work again. This has been broken for quite some time. kvm_proclist() was aborting when it saw the ithreads with no pgrp.
|
#
b1fc0ec1 |
|
25-May-2001 |
Robert Watson <rwatson@FreeBSD.org> |
o Merge contents of struct pcred into struct ucred. Specifically, add the real uid, saved uid, real gid, and saved gid to ucred, as well as the pcred->pc_uidinfo, which was associated with the real uid, only rename it to cr_ruidinfo so as not to conflict with cr_uidinfo, which corresponds to the effective uid. o Remove p_cred from struct proc; add p_ucred to struct proc, replacing original macro that pointed. p->p_ucred to p->p_cred->pc_ucred. o Universally update code so that it makes use of ucred instead of pcred, p->p_ucred instead of p->p_pcred, cr_ruidinfo instead of p_uidinfo, cr_{r,sv}{u,g}id instead of p_*, etc. o Remove pcred0 and its initialization from init_main.c; initialize cr_ruidinfo there. o Restruction many credential modification chunks to always crdup while we figure out locking and optimizations; generally speaking, this means moving to a structure like this: newcred = crdup(oldcred); ... p->p_ucred = newcred; crfree(oldcred); It's not race-free, but better than nothing. There are also races in sys_process.c, all inter-process authorization, fork, exec, and exit. o Remove sigio->sio_ruid since sigio->sio_ucred now contains the ruid; remove comments indicating that the old arrangement was a problem. o Restructure exec1() a little to use newcred/oldcred arrangement, and use improved uid management primitives. o Clean up exit1() so as to do less work in credential cleanup due to pcred removal. o Clean up fork1() so as to do less work in credential cleanup and allocation. o Clean up ktrcanset() to take into account changes, and move to using suser_xxx() instead of performing a direct uid==0 comparision. o Improve commenting in various kern_prot.c credential modification calls to better document current behavior. In a couple of places, current behavior is a little questionable and we need to check POSIX.1 to make sure it's "right". More commenting work still remains to be done. o Update credential management calls, such as crfree(), to take into account new ruidinfo reference. o Modify or add the following uid and gid helper routines: change_euid() change_egid() change_ruid() change_rgid() change_svuid() change_svgid() In each case, the call now acts on a credential not a process, and as such no longer requires more complicated process locking/etc. They now assume the caller will do any necessary allocation of an exclusive credential reference. Each is commented to document its reference requirements. o CANSIGIO() is simplified to require only credentials, not processes and pcreds. o Remove lots of (p_pcred==NULL) checks. o Add an XXX to authorization code in nfs_lock.c, since it's questionable, and needs to be considered carefully. o Simplify posix4 authorization code to require only credentials, not processes and pcreds. Note that this authorization, as well as CANSIGIO(), needs to be updated to use the p_cansignal() and p_cansched() centralized authorization routines, as they currently do not take into account some desirable restrictions that are handled by the centralized routines, as well as being inconsistent with other similar authorization instances. o Update libkvm to take these changes into account. Obtained from: TrustedBSD Project Reviewed by: green, bde, jhb, freebsd-arch, freebsd-audit
|
#
d339edcf |
|
03-May-2001 |
David Malone <dwmalone@FreeBSD.org> |
Avoid dividing by zero if kd->procbase->ki_structsize is uninitalised. (I'm testing the numerator rather than the denominator, which looks weird, but is the right thing to do here).
|
#
0627f53b |
|
01-May-2001 |
David Malone <dwmalone@FreeBSD.org> |
Don't give a warning about "proc size mismatch" if no struct were returned. (This arose on a list about a month ago when someone found bogus warnings if they used "ps -Uuser_with_no_processes".) Approved by: mckusick
|
#
82633431 |
|
01-May-2001 |
Mark Murray <markm@FreeBSD.org> |
Compensate for header dethreading.
|
#
4c85452b |
|
11-Feb-2001 |
Jake Burkholder <jake@FreeBSD.org> |
Catch up to new priority interface.
|
#
6d3e7b9b |
|
23-Jan-2001 |
John Baldwin <jhb@FreeBSD.org> |
Add a new item to kinfo_proc: ki_sflag to mirror p_sflag.
|
#
8b43deac |
|
19-Jan-2001 |
Garrett Wollman <wollman@FreeBSD.org> |
Revert rev. 1.27. This file only included <sys/select.h> because of brokenness introduced in <sys/select.h> rev. 1.8 which is now OBE. <sys/tty.h> and <sys/selinfo.h> together do the right thing.
|
#
42680b3a |
|
30-Dec-2000 |
Ben Smithurst <ben@FreeBSD.org> |
Use macro API to <sys/queue.h>
|
#
1f7d2501 |
|
12-Dec-2000 |
Kirk McKusick <mckusick@FreeBSD.org> |
Change the proc information returned from the kernel so that it no longer contains kernel specific data structures, but rather only scalar values and structures that are already part of the kernel/user interface, specifically rusage and rtprio. It no longer contains proc, session, pcred, ucred, procsig, vmspace, pstats, mtx, sigiolst, klist, callout, pasleep, or mdproc. If any of these changed in size, ps, w, fstat, gcore, systat, and top would all stop working. The new structure has over 200 bytes of unassigned space for future values to be added, yet is nearly 100 bytes smaller per entry than the structure that it replaced.
|
#
1da729a5 |
|
06-Aug-2000 |
Brian Feldman <green@FreeBSD.org> |
Good, fixing the header showed incorrect usage of it! #define _KERNEL here for the include of sys/select.h.
|
#
b7875890 |
|
26-Mar-2000 |
David E. O'Brien <obrien@FreeBSD.org> |
-Wall, which caught a real bug where buflen wasn't being set properly.
|
#
c4a7cdb3 |
|
27-Dec-1999 |
Peter Wemm <peter@FreeBSD.org> |
Use kldsym(2) to lookup symbol values. This avoids the kvm_mkdb juggling and is module aware. Yes, this means that kvm_nlist(3) will find symbols in loaded modules. The emulation of the nlist struct is pretty crude but seems to work well enough for all the users in the tree that I found.
|
#
b9df5231 |
|
16-Nov-1999 |
Poul-Henning Kamp <phk@FreeBSD.org> |
Introduce commandline caching in the kernel. This fixes some nasty procfs problems for SMP, makes ps(1) run much faster, and makes ps(1) even less dependent on /proc which will aid chroot and jails alike. To disable this facility and revert to previous behaviour: sysctl -w kern.ps_arg_cache_limit=0 For full details see the current@FreeBSD.org mail-archives.
|
#
60160c5e |
|
16-Dec-1998 |
Bruce Evans <bde@FreeBSD.org> |
Adjust for kern.ps_strings and PS_STRINGS not being a pointer. This fixes a type mismatch in the call to kvm_uread(). The bug has gone undetected for almost 3 years because kvm_uproc()'s protoype has been disabled for almost 4 years. Trust sysctlbyname() to work properly if it succeeds. Fixed style bugs in revs. 1.19 and 1.22.
|
#
b2d3d0f0 |
|
12-Oct-1998 |
Dag-Erling Smørgrav <des@FreeBSD.org> |
Avoid the "Cannot allocate memory" problem that appears on heavily loaded systems by retrying the sysctl() with a larger buffer if it fails with ENOMEM. For good measure, allocate 10% more memory than sysctl() claims is necessary. PR: 8275 Reviewed by: David Greenman <dg@freebsd.org>
|
#
e8420087 |
|
15-Sep-1998 |
Warner Losh <imp@FreeBSD.org> |
Replace memory leaking instances of realloc with non-leaking reallocf. In some cases replace if (a == null) a = malloc(x); else a = realloc(a, x); with simple reallocf(a, x). Per ANSI-C, this is guaranteed to be the same thing. I've been running these on my system here w/o ill effects for some time. However, the CTM-express is at part 6 of 34 for the CAM changes, so I've not been able to do a build world with the CAM in the tree with these changes. Shouldn't impact anything, but...
|
#
c2ac238c |
|
25-Aug-1998 |
Doug Rabson <dfr@FreeBSD.org> |
The length argument to sysctl is now size_t.
|
#
35e6b695 |
|
30-Jun-1998 |
Poul-Henning Kamp <phk@FreeBSD.org> |
Allow /dev/null as path for the "/dev/mem" file, and assume that people know what they're doing if they do that. This will allow ps to use the kvm_proc.c bits without having access to /dev/mem. Fix kvm_proc.c to not need /dev/mem for access to argv/envp
|
#
d7fb4b13 |
|
16-Jan-1998 |
Bruce Evans <bde@FreeBSD.org> |
Fixed bugs in the conversion of kvm to to use procfs in rev.1.3. All are in kvm_uread(): - the setting of errno before checking it in the lseek() was lost. - EOF handling was lost. kvm_uread() retried forever on EOF. EOF is not really an error, but report it one as in rev.1.2. - reporting of errno after a read error was lost. Fixed style bugs in rev.1.3 and rev.1.12. Not fixed: errno is not reported after lseek() failures.
|
#
5500fdcd |
|
02-Jul-1997 |
Bruce Evans <bde@FreeBSD.org> |
Import Lite2's src/lib, except for non-i386 machine-dependent directories, libc/db, libc/gen/crypt.* and libtelnet. All affected files except 3 unimportant ones have already left the vendor branch.
|
#
a58930d8 |
|
25-Jun-1997 |
Tor Egge <tegge@FreeBSD.org> |
Fill in parent process id when reading process information from a memory dump. This fixes one of the problems noted in PR kern/3581.
|
#
51295a4d |
|
12-Jul-1996 |
Jordan K. Hubbard <jkh@FreeBSD.org> |
General -Wall warning cleanup, part I. Submitted-By: Kent Vander Velden <graphix@iastate.edu>
|
#
44ffb5f5 |
|
06-Jun-1996 |
Poul-Henning Kamp <phk@FreeBSD.org> |
Pass correct length OID to kernel for KERN_PROC_ALL.
|
#
2572133e |
|
02-May-1996 |
Poul-Henning Kamp <phk@FreeBSD.org> |
NBPG -> PAGE_SIZE
|
#
37e4fbc4 |
|
10-Mar-1996 |
Jeffrey Hsu <hsu@FreeBSD.org> |
From Lite2: proc and file LIST changes
|
#
7350dd84 |
|
24-Feb-1996 |
Peter Wemm <peter@FreeBSD.org> |
If the two recently added sysctl variables exist, use those rather than the statically compiled PS_STRINGS and USRSTACK variables. This prevents programs using setproctitle from coredumping if the kernel VM is increased, and stops libkvm users (w, ps, etc) from needing to be recompiled if only the VM layout changes.
|
#
b8321444 |
|
01-Jan-1996 |
Peter Wemm <peter@FreeBSD.org> |
Extract the login name when doing a ps on a dead kernel.
|
#
6b492ae4 |
|
16-Dec-1995 |
Peter Wemm <peter@FreeBSD.org> |
Cosmetic cleanup and documentation of kvm_argv.. Hopefully the flow of the routine can be much more easily understood now... :-)
|
#
77721f53 |
|
08-Dec-1995 |
Peter Wemm <peter@FreeBSD.org> |
Updates to read the extra indirection in ps_strings. Note that any static executables that depend on this will need to be relinked (ie: do this before 'ps'), but the dynamic linked stuff should be OK (ie: 'w') Obtained from: NetBSD (not much point reinventing the wheel.. :-)
|
#
6c06b4e2 |
|
29-May-1995 |
Rodney W. Grimes <rgrimes@FreeBSD.org> |
Remove trailing whitespace.
|
#
ec4f2251 |
|
19-Mar-1995 |
Joerg Wunsch <joerg@FreeBSD.org> |
Cast the offset of one call to lseek() to off_t, as it's already done in all other places here. This is a hack, the interface should be changed to use off_t's everywhere around, but this will require to update all the programs that happen to use libkvm.
|
#
12eaa3d5 |
|
24-Feb-1995 |
Poul-Henning Kamp <phk@FreeBSD.org> |
Remove some unused variables and fix two blatant core dump triggers.
|
#
567127fa |
|
02-Nov-1994 |
David Greenman <dg@FreeBSD.org> |
Fix from Gary Jennejohn - use 'cp' not 'buf' in read call. Oops.
|
#
5dfe9012 |
|
09-Oct-1994 |
Søren Schmidt <sos@FreeBSD.org> |
Added spare space on the usr stack. Used in ibcs2 emulation.
|
#
338c7541 |
|
11-Aug-1994 |
David Greenman <dg@FreeBSD.org> |
Made kvm routines use procfs to get out process data such as argument strings.
|
#
21d54b07 |
|
27-May-1994 |
Rodney W. Grimes <rgrimes@FreeBSD.org> |
Fix kvm_i386.c just enough to make it compile and return lots of errors when called. Noop out swapread in kvm_proc.c as our vm system is different.
|
#
58f0484f |
|
26-May-1994 |
Rodney W. Grimes <rgrimes@FreeBSD.org> |
BSD 4.4 Lite Lib Sources
|