CVS log for src/sys/sys/mman.h
Up to [FreeBSD] / src / sys / sys
Request diff between arbitrary revisions
Keyword substitution: kv
Default branch: MAIN
Revision 1.46: download - view: text, markup, annotated - select for diffs
Wed Dec 14 22:22:19 2011 UTC (8 weeks ago) by jhb
Branches: MAIN
CVS tags: HEAD
Diff to: previous 1.45: preferred, colored
Changes since revision 1.45: +5 -0 lines
SVN rev 228509 on 2011-12-14 22:22:19Z by jhb Add a helper API to allow in-kernel code to map portions of shared memory objects created by shm_open(2) into the kernel's address space. This provides a convenient way for creating shared memory buffers between userland and the kernel without requiring custom character devices.
Revision 1.45.2.1.2.1: download - view: text, markup, annotated - select for diffs
Fri Nov 11 04:20:22 2011 UTC (2 months, 4 weeks ago) by kensmith
Branches: RELENG_9_0
CVS tags: RELENG_9_0_0_RELEASE
Diff to: previous 1.45.2.1: preferred, colored; next MAIN 1.46: preferred, colored
Changes since revision 1.45.2.1: +0 -0 lines
SVN rev 227445 on 2011-11-11 04:20:22Z by kensmith Copy stable/9 to releng/9.0 as part of the FreeBSD 9.0-RELEASE release cycle. Approved by: re (implicit)
Revision 1.42.2.4: download - view: text, markup, annotated - select for diffs
Wed Oct 26 04:38:23 2011 UTC (3 months, 2 weeks ago) by alc
Branches: RELENG_8
Diff to: previous 1.42.2.3: preferred, colored; branchpoint 1.42: preferred, colored; next MAIN 1.43: preferred, colored
Changes since revision 1.42.2.3: +3 -0 lines
SVN rev 226783 on 2011-10-26 04:38:23Z by alc MFC r198973 Add MAP_ANONYMOUS.
Revision 1.42.2.3: download - view: text, markup, annotated - select for diffs
Tue Oct 25 23:19:57 2011 UTC (3 months, 2 weeks ago) by alc
Branches: RELENG_8
Diff to: previous 1.42.2.2: preferred, colored; branchpoint 1.42: preferred, colored
Changes since revision 1.42.2.2: +1 -0 lines
SVN rev 226763 on 2011-10-25 23:19:57Z by alc MFC r211937 Add the MAP_PREFAULT_READ option to mmap(2).
Revision 1.45.2.1: download - view: text, markup, annotated - select for diffs
Fri Sep 23 00:51:37 2011 UTC (4 months, 2 weeks ago) by kensmith
Branches: RELENG_9
CVS tags: RELENG_9_0_BP
Branch point for: RELENG_9_0
Diff to: previous 1.45: preferred, colored; next MAIN 1.46: preferred, colored
Changes since revision 1.45: +0 -0 lines
SVN rev 225736 on 2011-09-23 00:51:37Z by kensmith Copy head to stable/9 as part of 9.0-RELEASE release cycle. Approved by: re (implicit)
Revision 1.40.10.2.4.1: download - view: text, markup, annotated - select for diffs
Tue Dec 21 17:10:29 2010 UTC (13 months, 2 weeks ago) by kensmith
Branches: RELENG_7_4
CVS tags: RELENG_7_4_0_RELEASE
Diff to: previous 1.40.10.2: preferred, colored; next MAIN 1.40.16.1: preferred, colored
Changes since revision 1.40.10.2: +0 -0 lines
SVN rev 216618 on 2010-12-21 17:10:29Z by kensmith Copy stable/7 to releng/7.4 in preparation for FreeBSD-7.4 release. Approved by: re (implicit)
Revision 1.42.2.2.4.1: download - view: text, markup, annotated - select for diffs
Tue Dec 21 17:09:25 2010 UTC (13 months, 2 weeks ago) by kensmith
Branches: RELENG_8_2
CVS tags: RELENG_8_2_0_RELEASE
Diff to: previous 1.42.2.2: preferred, colored; next MAIN 1.42.2.3: preferred, colored
Changes since revision 1.42.2.2: +0 -0 lines
SVN rev 216617 on 2010-12-21 17:09:25Z by kensmith Copy stable/8 to releng/8.2 in preparation for FreeBSD-8.2 release. Approved by: re (implicit)
Revision 1.45: download - view: text, markup, annotated - select for diffs
Sat Aug 28 16:57:07 2010 UTC (17 months, 1 week ago) by alc
Branches: MAIN
CVS tags: RELENG_9_BP
Branch point for: RELENG_9
Diff to: previous 1.44: preferred, colored
Changes since revision 1.44: +1 -0 lines
SVN rev 211937 on 2010-08-28 16:57:07Z by alc Add the MAP_PREFAULT_READ option to mmap(2). Reviewed by: jhb, kib
Revision 1.42.2.2.2.1: download - view: text, markup, annotated - select for diffs
Mon Jun 14 02:09:06 2010 UTC (19 months, 3 weeks ago) by kensmith
Branches: RELENG_8_1
CVS tags: RELENG_8_1_0_RELEASE
Diff to: previous 1.42.2.2: preferred, colored; next MAIN 1.42.2.3: preferred, colored
Changes since revision 1.42.2.2: +0 -0 lines
SVN rev 209145 on 2010-06-14 02:09:06Z by kensmith Copy stable/8 to releng/8.1 in preparation for 8.1-RC1. Approved by: re (implicit)
Revision 1.40.10.2.2.1: download - view: text, markup, annotated - select for diffs
Wed Feb 10 00:26:20 2010 UTC (23 months, 4 weeks ago) by kensmith
Branches: RELENG_7_3
CVS tags: RELENG_7_3_0_RELEASE
Diff to: previous 1.40.10.2: preferred, colored; next MAIN 1.40.16.1: preferred, colored
Changes since revision 1.40.10.2: +0 -0 lines
SVN rev 203736 on 2010-02-10 00:26:20Z by kensmith Copy stable/7 to releng/7.3 as part of the 7.3-RELEASE process. Approved by: re (implicit)
Revision 1.40.10.2: download - view: text, markup, annotated - select for diffs
Fri Jan 29 15:58:12 2010 UTC (2 years ago) by jhb
Branches: RELENG_7
CVS tags: RELENG_7_4_BP, RELENG_7_3_BP
Branch point for: RELENG_7_4, RELENG_7_3
Diff to: previous 1.40.10.1: preferred, colored; branchpoint 1.40: preferred, colored; next MAIN 1.41: preferred, colored
Changes since revision 1.40.10.1: +1 -0 lines
SVN rev 203170 on 2010-01-29 15:58:12Z by jhb MFC 197331, 197394: Add getpagesizes(3) function that returns either the number of page sizes supported by the system or a specified subset of the supported page sizes. Approved by: re (kib)
Revision 1.44: download - view: text, markup, annotated - select for diffs
Fri Nov 6 07:17:31 2009 UTC (2 years, 3 months ago) by ed
Branches: MAIN
Diff to: previous 1.43: preferred, colored
Changes since revision 1.43: +3 -0 lines
SVN rev 198973 on 2009-11-06 07:17:31Z by ed Add MAP_ANONYMOUS. Many operating systems also provide MAP_ANONYMOUS. It's not hard to support this ourselves, we'd better add it to make it more likely for applications to work out of the box. Reviewed by: alc (mman.h)
Revision 1.42.2.2: download - view: text, markup, annotated - select for diffs
Sun Nov 1 19:22:07 2009 UTC (2 years, 3 months ago) by alc
Branches: RELENG_8
CVS tags: RELENG_8_2_BP, RELENG_8_1_BP
Branch point for: RELENG_8_2, RELENG_8_1
Diff to: previous 1.42.2.1: preferred, colored; branchpoint 1.42: preferred, colored
Changes since revision 1.42.2.1: +1 -0 lines
SVN rev 198772 on 2009-11-01 19:22:07Z by alc MFC r197331, r197394 Add getpagesizes(3).
Revision 1.42.2.1.2.1: download - view: text, markup, annotated - select for diffs
Sun Oct 25 01:10:29 2009 UTC (2 years, 3 months ago) by kensmith
Branches: RELENG_8_0
CVS tags: RELENG_8_0_0_RELEASE
Diff to: previous 1.42.2.1: preferred, colored; next MAIN 1.42.2.2: preferred, colored
Changes since revision 1.42.2.1: +0 -0 lines
SVN rev 198460 on 2009-10-25 01:10:29Z by kensmith Copy stable/8 to releng/8.0 as part of 8.0-RELEASE release procedure. Approved by: re (implicit)
Revision 1.43: download - view: text, markup, annotated - select for diffs
Sat Sep 19 18:01:32 2009 UTC (2 years, 4 months ago) by alc
Branches: MAIN
Diff to: previous 1.42: preferred, colored
Changes since revision 1.42: +1 -0 lines
SVN rev 197331 on 2009-09-19 18:01:32Z by alc Add getpagesizes(3). This functions either the number of supported page sizes or some number of the sizes themselves. It is functionally compatible with a function by the same name under Solaris. Reviewed by: jhb
Revision 1.42.2.1: download - view: text, markup, annotated - select for diffs
Mon Aug 3 08:13:06 2009 UTC (2 years, 6 months ago) by kensmith
Branches: RELENG_8
CVS tags: RELENG_8_0_BP
Branch point for: RELENG_8_0
Diff to: previous 1.42: preferred, colored
Changes since revision 1.42: +0 -0 lines
SVN rev 196045 on 2009-08-03 08:13:06Z by kensmith Copy head to stable/8 as part of 8.0 Release cycle. Approved by: re (Implicit)
Revision 1.40.10.1.2.1: download - view: text, markup, annotated - select for diffs
Wed Apr 15 03:14:26 2009 UTC (2 years, 9 months ago) by kensmith
Branches: RELENG_7_2
CVS tags: RELENG_7_2_0_RELEASE
Diff to: previous 1.40.10.1: preferred, colored; next MAIN 1.40.10.2: preferred, colored
Changes since revision 1.40.10.1: +0 -0 lines
SVN rev 191087 on 2009-04-15 03:14:26Z by kensmith Create releng/7.2 from stable/7 in preparation for 7.2-RELEASE. Approved by: re (implicit)
Revision 1.40.10.1: download - view: text, markup, annotated - select for diffs
Thu Feb 26 15:59:22 2009 UTC (2 years, 11 months ago) by jhb
Branches: RELENG_7
CVS tags: RELENG_7_2_BP
Branch point for: RELENG_7_2
Diff to: previous 1.40: preferred, colored
Changes since revision 1.40: +1 -0 lines
SVN rev 189075 on 2009-02-26 15:59:22Z by jhb MFC: Add support for "superpages" on amd64 and i386. This includes adding the superpage reservation system to the machine-independent VM system as well as changes to the pmap code for amd64 and i386 to support superpages. Reviewed by: alc Tested by: ps
Revision 1.40.18.1: download - view: text, markup, annotated - select for diffs
Tue Nov 25 02:59:29 2008 UTC (3 years, 2 months ago) by kensmith
Branches: RELENG_7_1
CVS tags: RELENG_7_1_0_RELEASE
Diff to: previous 1.40: preferred, colored; next MAIN 1.41: preferred, colored
Changes since revision 1.40: +0 -0 lines
SVN rev 185281 on 2008-11-25 02:59:29Z by kensmith Create releng/7.1 in preparation for moving into RC phase of 7.1 release cycle. Approved by: re (implicit)
Revision 1.40.16.1: download - view: text, markup, annotated - select for diffs
Thu Oct 2 02:57:24 2008 UTC (3 years, 4 months ago) by kensmith
Branches: RELENG_6_4
CVS tags: RELENG_6_4_0_RELEASE
Diff to: previous 1.40: preferred, colored; next MAIN 1.41: preferred, colored
Changes since revision 1.40: +0 -0 lines
SVN rev 183531 on 2008-10-02 02:57:24Z by kensmith Create releng/6.4 from stable/6 in preparation for 6.4-RC1. Approved by: re (implicit)
Revision 1.42: download - view: text, markup, annotated - select for diffs
Fri Mar 28 04:29:27 2008 UTC (3 years, 10 months ago) by ps
Branches: MAIN
CVS tags: RELENG_8_BP
Branch point for: RELENG_8
Diff to: previous 1.41: preferred, colored
Changes since revision 1.41: +1 -0 lines
Add support to mincore for detecting whether a page is part of a "super" page or not. Reviewed by: alc, ups
Revision 1.41: download - view: text, markup, annotated - select for diffs
Tue Jan 8 21:58:16 2008 UTC (4 years, 1 month ago) by jhb
Branches: MAIN
Diff to: previous 1.40: preferred, colored
Changes since revision 1.40: +32 -1 lines
Add a new file descriptor type for IPC shared memory objects and use it to implement shm_open(2) and shm_unlink(2) in the kernel: - Each shared memory file descriptor is associated with a swap-backed vm object which provides the backing store. Each descriptor starts off with a size of zero, but the size can be altered via ftruncate(2). The shared memory file descriptors also support fstat(2). read(2), write(2), ioctl(2), select(2), poll(2), and kevent(2) are not supported on shared memory file descriptors. - shm_open(2) and shm_unlink(2) are now implemented as system calls that manage shared memory file descriptors. The virtual namespace that maps pathnames to shared memory file descriptors is implemented as a hash table where the hash key is generated via the 32-bit Fowler/Noll/Vo hash of the pathname. - As an extension, the constant 'SHM_ANON' may be specified in place of the path argument to shm_open(2). In this case, an unnamed shared memory file descriptor will be created similar to the IPC_PRIVATE key for shmget(2). Note that the shared memory object can still be shared among processes by sharing the file descriptor via fork(2) or sendmsg(2), but it is unnamed. This effectively serves to implement the getmemfd() idea bandied about the lists several times over the years. - The backing store for shared memory file descriptors are garbage collected when they are not referenced by any open file descriptors or the shm_open(2) virtual namespace. Submitted by: dillon, peter (previous versions) Submitted by: rwatson (I based this on his version) Reviewed by: alc (suggested converting getmemfd() to shm_open())
Revision 1.40: download - view: text, markup, annotated - select for diffs
Sat Apr 2 12:33:31 2005 UTC (6 years, 10 months ago) by das
Branches: MAIN
CVS tags: RELENG_7_BP, RELENG_7_1_BP, RELENG_7_0_BP, RELENG_7_0_0_RELEASE, RELENG_7_0, RELENG_6_BP, RELENG_6_4_BP, RELENG_6_3_BP, RELENG_6_3_0_RELEASE, RELENG_6_3, RELENG_6_2_BP, RELENG_6_2_0_RELEASE, RELENG_6_2, RELENG_6_1_BP, RELENG_6_1_0_RELEASE, RELENG_6_1, RELENG_6_0_BP, RELENG_6_0_0_RELEASE, RELENG_6_0, RELENG_6
Branch point for: RELENG_7_1, RELENG_7, RELENG_6_4
Diff to: previous 1.39: preferred, colored
Changes since revision 1.39: +21 -12 lines
Namespace issues.
Revision 1.39: download - view: text, markup, annotated - select for diffs
Tue Apr 27 13:13:20 2004 UTC (7 years, 9 months ago) by mux
Branches: MAIN
CVS tags: RELENG_5_BP, RELENG_5_5_BP, RELENG_5_5_0_RELEASE, RELENG_5_5, RELENG_5_4_BP, RELENG_5_4_0_RELEASE, RELENG_5_4, RELENG_5_3_BP, RELENG_5_3_0_RELEASE, RELENG_5_3, RELENG_5
Diff to: previous 1.38: preferred, colored
Changes since revision 1.38: +2 -2 lines
Remove mlockall() and munlockall() from the list of unimplemented syscalls in a comment, we have them since quite some time now. Noticed by: Stefan Farfeleder <stefan@fafoe.narf.at>
Revision 1.38: download - view: text, markup, annotated - select for diffs
Wed Apr 7 04:19:49 2004 UTC (7 years, 10 months ago) by imp
Branches: MAIN
Diff to: previous 1.37: preferred, colored
Changes since revision 1.37: +0 -4 lines
Remove advertising clause from University of California Regent's license, per letter dated July 22, 1999. Approved by: core
Revision 1.37: download - view: text, markup, annotated - select for diffs
Mon Aug 11 07:14:07 2003 UTC (8 years, 6 months ago) by bms
Branches: MAIN
CVS tags: RELENG_5_2_BP, RELENG_5_2_1_RELEASE, RELENG_5_2_0_RELEASE, RELENG_5_2
Diff to: previous 1.36: preferred, colored
Changes since revision 1.36: +2 -0 lines
Add the mlockall() and munlockall() system calls. - All those diffs to syscalls.master for each architecture *are* necessary. This needed clarification; the stub code generation for mlockall() was disabled, which would prevent applications from linking to this API (suggested by mux) - Giant has been quoshed. It is no longer held by the code, as the required locking has been pushed down within vm_map.c. - Callers must specify VM_MAP_WIRE_HOLESOK or VM_MAP_WIRE_NOHOLES to express their intention explicitly. - Inspected at the vmstat, top and vm pager sysctl stats level. Paging-in activity is occurring correctly, using a test harness. - The RES size for a process may appear to be greater than its SIZE. This is believed to be due to mappings of the same shared library page being wired twice. Further exploration is needed. - Believed to back out of allocations and locks correctly (tested with WITNESS, MUTEX_PROFILING, INVARIANTS and DIAGNOSTIC). PR: kern/43426, standards/54223 Reviewed by: jake, alc Approved by: jake (mentor) MFC after: 2 weeks
Revision 1.36: download - view: text, markup, annotated - select for diffs
Sat Aug 9 03:23:24 2003 UTC (8 years, 6 months ago) by bms
Branches: MAIN
Diff to: previous 1.35: preferred, colored
Changes since revision 1.35: +12 -2 lines
Add the POSIX 1003.1-2001 posix_madvise() interface. PR: standards/54634 Reviewed by: das Approved by: jake (mentor)
Revision 1.35: download - view: text, markup, annotated - select for diffs
Mon Mar 31 21:09:56 2003 UTC (8 years, 10 months ago) by wes
Branches: MAIN
CVS tags: RELENG_5_1_BP, RELENG_5_1_0_RELEASE, RELENG_5_1
Diff to: previous 1.34: preferred, colored
Changes since revision 1.34: +1 -0 lines
Add a facility allowing processes to inform the VM subsystem they are critical and should not be killed when pageout is looking for more memory pages in all the wrong places. Reviewed by: arch@ Sponsored by: St. Bernard Software
Revision 1.34: download - view: text, markup, annotated - select for diffs
Fri Sep 13 18:29:15 2002 UTC (9 years, 4 months ago) by mike
Branches: MAIN
CVS tags: RELENG_5_0_BP, RELENG_5_0_0_RELEASE, RELENG_5_0
Diff to: previous 1.33: preferred, colored
Changes since revision 1.33: +2 -8 lines
mlockall() and munlockall() are unimplemented; remove their prototypes.
Revision 1.33: download - view: text, markup, annotated - select for diffs
Fri Aug 23 20:04:49 2002 UTC (9 years, 5 months ago) by mike
Branches: MAIN
Diff to: previous 1.32: preferred, colored
Changes since revision 1.32: +55 -24 lines
o Fix namespace issues in <sys/mman.h>. o Move mode_t details from <sys/types.h> into <sys/_types.h>. o Add primitives for sharing the mode_t and off_t typedefs. o Add typedefs mode_t, off_t, and size_t to <sys/mman.h>. PR: 21644
Revision 1.32: download - view: text, markup, annotated - select for diffs
Tue Mar 19 20:18:40 2002 UTC (9 years, 10 months ago) by alfred
Branches: MAIN
Diff to: previous 1.31: preferred, colored
Changes since revision 1.31: +14 -14 lines
Remove __P
Revision 1.29.2.1: download - view: text, markup, annotated - select for diffs
Sat Aug 25 07:25:43 2001 UTC (10 years, 5 months ago) by dillon
Branches: RELENG_4
CVS tags: RELENG_4_9_BP, RELENG_4_9_0_RELEASE, RELENG_4_9, RELENG_4_8_BP, RELENG_4_8_0_RELEASE, RELENG_4_8, RELENG_4_7_BP, RELENG_4_7_0_RELEASE, RELENG_4_7, RELENG_4_6_BP, RELENG_4_6_2_RELEASE, RELENG_4_6_1_RELEASE, RELENG_4_6_0_RELEASE, RELENG_4_6, RELENG_4_5_BP, RELENG_4_5_0_RELEASE, RELENG_4_5, RELENG_4_4_BP, RELENG_4_4_0_RELEASE, RELENG_4_4, RELENG_4_11_BP, RELENG_4_11_0_RELEASE, RELENG_4_11, RELENG_4_10_BP, RELENG_4_10_0_RELEASE, RELENG_4_10
Diff to: previous 1.29: preferred, colored; next MAIN 1.30: preferred, colored
Changes since revision 1.29: +8 -1 lines
MFC document minherit() system call and add user-accessible #define's to cover the 'inherit' argument. There are no functional changes (except the new defines). Approved by: jkh
Revision 1.31: download - view: text, markup, annotated - select for diffs
Fri Aug 24 19:48:07 2001 UTC (10 years, 5 months ago) by dillon
Branches: MAIN
CVS tags: KSE_PRE_MILESTONE_2, KSE_MILESTONE_2
Diff to: previous 1.30: preferred, colored
Changes since revision 1.30: +9 -2 lines
Add INHERIT_XXX defines for minherit() system call. Remove MAP_INHERIT - it is no longer supported.
Revision 1.30: download - view: text, markup, annotated - select for diffs
Fri Aug 24 18:22:46 2001 UTC (10 years, 5 months ago) by dillon
Branches: MAIN
Diff to: previous 1.29: preferred, colored
Changes since revision 1.29: +2 -2 lines
Remove MAP_NOEXTEND. It came from 4.4-lite and not only was never implemented, but mmap()'s default behavior is *already* to not extend files. Only write() or ftruncate() can extend a file.
Revision 1.29: download - view: text, markup, annotated - select for diffs
Mon Feb 28 04:10:34 2000 UTC (11 years, 11 months ago) by ps
Branches: MAIN
CVS tags: RELENG_4_BP, RELENG_4_3_BP, RELENG_4_3_0_RELEASE, RELENG_4_3, RELENG_4_2_0_RELEASE, RELENG_4_1_1_RELEASE, RELENG_4_1_0_RELEASE, RELENG_4_0_0_RELEASE, PRE_SMPNG
Branch point for: RELENG_4
Diff to: previous 1.28: preferred, colored
Changes since revision 1.28: +9 -2 lines
Add MAP_NOCORE to mmap(2), and MADV_NOCORE and MADV_CORE to madvise(2). This This feature allows you to specify if mmap'd data is included in an application's corefile. Change the type of eflags in struct vm_map_entry from u_char to vm_eflags_t (an unsigned int). Reviewed by: dillon,jdp,alfred Approved by: jkh
Revision 1.28: download - view: text, markup, annotated - select for diffs
Wed Dec 29 04:24:44 1999 UTC (12 years, 1 month ago) by peter
Branches: MAIN
Diff to: previous 1.27: preferred, colored
Changes since revision 1.27: +3 -3 lines
Change #ifdef KERNEL to #ifdef _KERNEL in the public headers. "KERNEL" is an application space macro and the applications are supposed to be free to use it as they please (but cannot). This is consistant with the other BSD's who made this change quite some time ago. More commits to come.
Revision 1.27: download - view: text, markup, annotated - select for diffs
Sun Dec 12 03:19:32 1999 UTC (12 years, 2 months ago) by dillon
Branches: MAIN
Diff to: previous 1.26: preferred, colored
Changes since revision 1.26: +4 -1 lines
Add MAP_NOSYNC feature to mmap(), and MADV_NOSYNC and MADV_AUTOSYNC to
madvise().
This feature prevents the update daemon from gratuitously flushing
dirty pages associated with a mapped file-backed region of memory. The
system pager will still page the memory as necessary and the VM system
will still be fully coherent with the filesystem. Modifications made
by other means to the same area of memory, for example by write(), are
unaffected. The feature works on a page-granularity basis.
MAP_NOSYNC allows one to use mmap() to share memory between processes
without incuring any significant filesystem overhead, putting it in
the same performance category as SysV Shared memory and anonymous memory.
Reviewed by: julian, alc, dg
Revision 1.7.4.1: download - view: text, markup, annotated - select for diffs
Sun Sep 5 08:37:44 1999 UTC (12 years, 5 months ago) by peter
Branches: RELENG_2_1_0
Diff to: previous 1.7: preferred, colored; next MAIN 1.8: preferred, colored
Changes since revision 1.7: +1 -1 lines
$Id$ -> $FreeBSD$
Revision 1.14.2.3: download - view: text, markup, annotated - select for diffs
Sun Sep 5 08:22:37 1999 UTC (12 years, 5 months ago) by peter
Branches: RELENG_2_2
Diff to: previous 1.14.2.2: preferred, colored; branchpoint 1.14: preferred, colored; next MAIN 1.15: preferred, colored
Changes since revision 1.14.2.2: +1 -1 lines
$Id$ -> $FreeBSD$
Revision 1.24.2.2: download - view: text, markup, annotated - select for diffs
Sun Aug 29 16:32:32 1999 UTC (12 years, 5 months ago) by peter
Branches: RELENG_3
CVS tags: RELENG_3_5_0_RELEASE, RELENG_3_4_0_RELEASE, RELENG_3_3_0_RELEASE
Diff to: previous 1.24.2.1: preferred, colored; branchpoint 1.24: preferred, colored; next MAIN 1.25: preferred, colored
Changes since revision 1.24.2.1: +1 -1 lines
$Id$ -> $FreeBSD$
Revision 1.26: download - view: text, markup, annotated - select for diffs
Sat Aug 28 00:51:52 1999 UTC (12 years, 5 months ago) by peter
Branches: MAIN
Diff to: previous 1.25: preferred, colored
Changes since revision 1.25: +1 -1 lines
$Id$ -> $FreeBSD$
Revision 1.24.2.1: download - view: text, markup, annotated - select for diffs
Wed Jan 27 20:51:42 1999 UTC (13 years ago) by julian
Branches: RELENG_3
CVS tags: RELENG_3_2_PAO_BP, RELENG_3_2_PAO, RELENG_3_2_0_RELEASE, RELENG_3_1_0_RELEASE
Diff to: previous 1.24: preferred, colored
Changes since revision 1.24: +1 -3 lines
MFC: Linux threads support is now default, to match -current Recompile the usual suspects!
Revision 1.25: download - view: text, markup, annotated - select for diffs
Tue Jan 26 02:49:52 1999 UTC (13 years ago) by julian
Branches: MAIN
CVS tags: PRE_VFS_BIO_NFS_PATCH, PRE_SMP_VMSHARE, PRE_NEWBUS, POST_VFS_BIO_NFS_PATCH, POST_SMP_VMSHARE, POST_NEWBUS
Diff to: previous 1.24: preferred, colored
Changes since revision 1.24: +1 -3 lines
Mostly remove the VM_STACK OPTION. This changes the definitions of a few items so that structures are the same whether or not the option itself is enabled. This allows people to enable and disable the option without recompilng the world. As the author says: |I ran into a problem pulling out the VM_STACK option. I was aware of this |when I first did the work, but then forgot about it. The VM_STACK stuff |has some code changes in the i386 branch. There need to be corresponding |changes in the alpha branch before it can come out completely. what is done: | |1) Pull the VM_STACK option out of the header files it appears in. This |really shouldn't affect anything that executes with or without the rest |of the VM_STACK patches. The vm_map_entry will then always have one |extra element (avail_ssize). It just won't be used if the VM_STACK |option is not turned on. | |I've also pulled the option out of vm_map.c. This shouldn't harm anything, |since the routines that are enabled as a result are not called unless |the VM_STACK option is enabled elsewhere. | |2) Add what appears to be appropriate code the the alpha branch, still |protected behind the VM_STACK switch. I don't have an alpha machine, |so we would need to get some testers with alpha machines to try it out. | |Once there is some testing, we can consider making the change permanent |for both i386 and alpha. | [..] | |Once the alpha code is adequately tested, we can pull VM_STACK out |everywhere. | Submitted by: "Richard Seaman, Jr." <dick@tar.com>
Revision 1.24: download - view: text, markup, annotated - select for diffs
Wed Jan 6 23:05:40 1999 UTC (13 years, 1 month ago) by julian
Branches: MAIN
CVS tags: RELENG_3_BP
Branch point for: RELENG_3
Diff to: previous 1.23: preferred, colored
Changes since revision 1.23: +4 -1 lines
Add (but don't activate) code for a special VM option to make downward growing stacks more general. Add (but don't activate) code to use the new stack facility when running threads, (specifically the linux threads support). This allows people to use both linux compiled linuxthreads, and also the native FreeBSD linux-threads port. The code is conditional on VM_STACK. Not using this will produce the old heavily tested system. Submitted by: Richard Seaman <dick@tar.com>
Revision 1.23: download - view: text, markup, annotated - select for diffs
Sat Mar 28 11:50:38 1998 UTC (13 years, 10 months ago) by dufault
Branches: MAIN
CVS tags: RELENG_3_0_0_RELEASE, PRE_NOBDEV, PRE_DEVFS_SLICE, POST_DEVFS_SLICE
Diff to: previous 1.22: preferred, colored
Changes since revision 1.22: +5 -5 lines
Finish _POSIX_PRIORITY_SCHEDULING. Needs P1003_1B and _KPOSIX_PRIORITY_SCHEDULING options to work. Changes: Change all "posix4" to "p1003_1b". Misnamed files are left as "posix4" until I'm told if I can simply delete them and add new ones; Add _POSIX_PRIORITY_SCHEDULING system calls for FreeBSD and Linux; Add man pages for _POSIX_PRIORITY_SCHEDULING system calls; Add options to LINT; Minor fixes to P1003_1B code during testing.
Revision 1.22: download - view: text, markup, annotated - select for diffs
Sun Mar 8 17:25:33 1998 UTC (13 years, 11 months ago) by dufault
Branches: MAIN
Diff to: previous 1.21: preferred, colored
Changes since revision 1.21: +7 -5 lines
Reviewed by: bde Changes to support building with _POSIX_SOURCE set to 199309L: 1. Add sys/_posix.h to handle those preprocessor defs that POSIX says have effects when defined before including any header files; 2. Change POSIX4_VISIBLE back to _POSIX4_VISIBLE 3. Add _POSIX4_VISIBLE_HISTORICALLY for pre-existing BSD features now defined in POSIX. These show up when: _POSIX_SOURCE and _POSIX_C_SOURCE are not set or _POSIX_C_SOURCE is set >= 199309L and vanish when: _POSIX_SOURCE is set or _POSIX_C_SOURCE is < 199309L. 4. Explain these in man 9 posix4; 5. Include _posix.h and conditionalize on new feature test.
Revision 1.21: download - view: text, markup, annotated - select for diffs
Wed Mar 4 10:26:35 1998 UTC (13 years, 11 months ago) by dufault
Branches: MAIN
CVS tags: PRE_SOFTUPDATE, POST_SOFTUPDATE
Diff to: previous 1.20: preferred, colored
Changes since revision 1.20: +22 -4 lines
Reviewed by: msmith, bde long ago POSIX.4 headers and sysctl variables. Nothing should change unless POSIX4 is defined or _POSIX_VERSION is set to 199309.
Revision 1.20: download - view: text, markup, annotated - select for diffs
Wed Dec 31 01:22:00 1997 UTC (14 years, 1 month ago) by alex
Branches: MAIN
Diff to: previous 1.19: preferred, colored
Changes since revision 1.19: +11 -11 lines
Convert caddr_t --> void * for sys/mman.h functions. mlock, mmap, mprotect, msync, munlock, and munmap are defined by POSIX as taking void *. The const modifier has been added to mlock, munlock, and mprotect as the standard dictates. minherit comes from OpenBSD and has been updated to conform with their recent change to void *. madvise and mincore are not defined by POSIX, but their arguments have been modified to be consistent with the POSIX-defined functions. mincore takes a const pointer, but madvise does not due to the MADV_FREE case. Discussed with: bde
Revision 1.14.2.2: download - view: text, markup, annotated - select for diffs
Tue Dec 2 21:31:32 1997 UTC (14 years, 2 months ago) by dyson
Branches: RELENG_2_2
CVS tags: RELENG_2_2_8_RELEASE, RELENG_2_2_7_RELEASE, RELENG_2_2_6_RELEASE
Diff to: previous 1.14.2.1: preferred, colored; branchpoint 1.14: preferred, colored
Changes since revision 1.14.2.1: +2 -1 lines
Add definition of MS_SYNC for compatibility.
Revision 1.19: download - view: text, markup, annotated - select for diffs
Tue Dec 2 21:30:03 1997 UTC (14 years, 2 months ago) by dyson
Branches: MAIN
Diff to: previous 1.18: preferred, colored
Changes since revision 1.18: +2 -1 lines
Define MS_SYNC for compatibility.
Revision 1.14.2.1: download - view: text, markup, annotated - select for diffs
Sun May 11 04:41:23 1997 UTC (14 years, 9 months ago) by davidn
Branches: RELENG_2_2
CVS tags: RELENG_2_2_5_RELEASE, RELENG_2_2_2_RELEASE
Diff to: previous 1.14: preferred, colored
Changes since revision 1.14: +9 -1 lines
MFC: MAP_FAILED was not declared (but was documented in manpage).
Revision 1.18: download - view: text, markup, annotated - select for diffs
Sun Apr 13 15:38:09 1997 UTC (14 years, 10 months ago) by bde
Branches: MAIN
CVS tags: pre_smp_merge, post_smp_merge, WOLLMAN_MBUF, BP_WOLLMAN_MBUF
Diff to: previous 1.17: preferred, colored
Changes since revision 1.17: +4 -1 lines
#ifdef'ed the declaration of lseek() so that -Wredundant-decls doesn't cause noise. Duplicated the lseek() redeclaration hack for all functions involving off_t's (ftruncate(), mmap() and truncate()) to help broken programs work.
Revision 1.17: download - view: text, markup, annotated - select for diffs
Sat Feb 22 09:45:34 1997 UTC (14 years, 11 months ago) by peter
Branches: MAIN
Diff to: previous 1.16: preferred, colored
Changes since revision 1.16: +1 -1 lines
Back out part 1 of the MCFH that changed $Id$ to $FreeBSD$. We are not ready for it yet.
Revision 1.16: download - view: text, markup, annotated - select for diffs
Tue Jan 14 06:55:17 1997 UTC (15 years ago) by jkh
Branches: MAIN
Diff to: previous 1.15: preferred, colored
Changes since revision 1.15: +1 -1 lines
Make the long-awaited change from $Id$ to $FreeBSD$ This will make a number of things easier in the future, as well as (finally!) avoiding the Id-smashing problem which has plagued developers for so long. Boy, I'm glad we're not using sup anymore. This update would have been insane otherwise.
Revision 1.15: download - view: text, markup, annotated - select for diffs
Thu Dec 12 01:00:14 1996 UTC (15 years, 2 months ago) by alex
Branches: MAIN
Diff to: previous 1.14: preferred, colored
Changes since revision 1.14: +6 -1 lines
POSIX.4 defines MAP_FAILED to be the error return from mmap().
Revision 1.14: download - view: text, markup, annotated - select for diffs
Thu May 23 00:45:44 1996 UTC (15 years, 8 months ago) by dyson
Branches: MAIN
CVS tags: RELENG_2_2_BP, RELENG_2_2_1_RELEASE, RELENG_2_2_0_RELEASE
Branch point for: RELENG_2_2
Diff to: previous 1.13: preferred, colored
Changes since revision 1.13: +2 -1 lines
Initial support for MADV_FREE, support for pages that we don't care about the contents anymore. This gives us alot of the advantage of freeing individual pages through munmap, but with almost none of the overhead.
Revision 1.13: download - view: text, markup, annotated - select for diffs
Sun May 19 07:36:41 1996 UTC (15 years, 8 months ago) by dyson
Branches: MAIN
Diff to: previous 1.12: preferred, colored
Changes since revision 1.12: +10 -1 lines
Initial support for mincore and madvise. Both are almost fully supported, except madvise does not page in with MADV_WILLNEED, and MADV_DONTNEED doesn't force dirty pages out.
Revision 1.1.1.2 (vendor branch): download - view: text, markup, annotated - select for diffs
Mon Mar 11 19:39:11 1996 UTC (15 years, 11 months ago) by peter
Branches: CSRG
CVS tags: bsd_44_lite_2
Diff to: previous 1.1.1.1: preferred, colored
Changes since revision 1.1.1.1: +5 -2 lines
Import 4.4BSD-Lite2 onto the vendor branch, note that in the kernel, all files are off the vendor branch, so this should not change anything. A "U" marker generally means that the file was not changed in between the 4.4Lite and Lite-2 releases, and does not need a merge. "C" generally means that there was a change. [new sys/syscallargs.h file, to be "cvs rm"ed]
Revision 1.12: download - view: text, markup, annotated - select for diffs
Mon Mar 11 02:09:09 1996 UTC (15 years, 11 months ago) by hsu
Branches: MAIN
CVS tags: wollman_polling
Diff to: previous 1.11: preferred, colored
Changes since revision 1.11: +6 -6 lines
Merge in Lite2: sync up comments. Reviewed by: davidg & bde
Revision 1.11: download - view: text, markup, annotated - select for diffs
Sat Mar 2 17:42:34 1996 UTC (15 years, 11 months ago) by peter
Branches: MAIN
Diff to: previous 1.10: preferred, colored
Changes since revision 1.10: +1 -2 lines
Remove redundant comment about the 'int len' variables that should be changed to size_t's.
Revision 1.10: download - view: text, markup, annotated - select for diffs
Sat Mar 2 16:55:26 1996 UTC (15 years, 11 months ago) by peter
Branches: MAIN
Diff to: previous 1.9: preferred, colored
Changes since revision 1.9: +4 -2 lines
Change madvise prototype from 'int len' to 'size_t len'. All the other m* syscalls were prototyped as size_t already. Add missing mincore() and minherit() prototypes, as suggested by bde.
Revision 1.9: download - view: text, markup, annotated - select for diffs
Thu Nov 30 20:59:08 1995 UTC (16 years, 2 months ago) by se
Branches: MAIN
Diff to: previous 1.8: preferred, colored
Changes since revision 1.8: +2 -1 lines
Add definition of PROT_NONE=0 for compatibility with SunOS/Solaris/Linux ... Reviewed by: julian
Revision 1.8: download - view: text, markup, annotated - select for diffs
Thu Jul 13 08:48:02 1995 UTC (16 years, 7 months ago) by davidg
Branches: MAIN
Diff to: previous 1.7: preferred, colored
Changes since revision 1.7: +4 -4 lines
NOTE: libkvm, w, ps, 'top', and any other utility which depends on struct
proc or any VM system structure will have to be rebuilt!!!
Much needed overhaul of the VM system. Included in this first round of
changes:
1) Improved pager interfaces: init, alloc, dealloc, getpages, putpages,
haspage, and sync operations are supported. The haspage interface now
provides information about clusterability. All pager routines now take
struct vm_object's instead of "pagers".
2) Improved data structures. In the previous paradigm, there is constant
confusion caused by pagers being both a data structure ("allocate a
pager") and a collection of routines. The idea of a pager structure has
escentially been eliminated. Objects now have types, and this type is
used to index the appropriate pager. In most cases, items in the pager
structure were duplicated in the object data structure and thus were
unnecessary. In the few cases that remained, a un_pager structure union
was created in the object to contain these items.
3) Because of the cleanup of #1 & #2, a lot of unnecessary layering can now
be removed. For instance, vm_object_enter(), vm_object_lookup(),
vm_object_remove(), and the associated object hash list were some of the
things that were removed.
4) simple_lock's removed. Discussion with several people reveals that the
SMP locking primitives used in the VM system aren't likely the mechanism
that we'll be adopting. Even if it were, the locking that was in the code
was very inadequate and would have to be mostly re-done anyway. The
locking in a uni-processor kernel was a no-op but went a long way toward
making the code difficult to read and debug.
5) Places that attempted to kludge-up the fact that we don't have kernel
thread support have been fixed to reflect the reality that we are really
dealing with processes, not threads. The VM system didn't have complete
thread support, so the comments and mis-named routines were just wrong.
We now use tsleep and wakeup directly in the lock routines, for instance.
6) Where appropriate, the pagers have been improved, especially in the
pager_alloc routines. Most of the pager_allocs have been rewritten and
are now faster and easier to maintain.
7) The pagedaemon pageout clustering algorithm has been rewritten and
now tries harder to output an even number of pages before and after
the requested page. This is sort of the reverse of the ideal pagein
algorithm and should provide better overall performance.
8) Unnecessary (incorrect) casts to caddr_t in calls to tsleep & wakeup
have been removed. Some other unnecessary casts have also been removed.
9) Some almost useless debugging code removed.
10) Terminology of shadow objects vs. backing objects straightened out.
The fact that the vm_object data structure escentially had this
backwards really confused things. The use of "shadow" and "backing
object" throughout the code is now internally consistent and correct
in the Mach terminology.
11) Several minor bug fixes, including one in the vm daemon that caused
0 RSS objects to not get purged as intended.
12) A "default pager" has now been created which cleans up the transition
of objects to the "swap" type. The previous checks throughout the code
for swp->pg_data != NULL were really ugly. This change also provides
the rudiments for future backing of "anonymous" memory by something
other than the swap pager (via the vnode pager, for example), and it
allows the decision about which of these pagers to use to be made
dynamically (although will need some additional decision code to do
this, of course).
13) (dyson) MAP_COPY has been deprecated and the corresponding "copy
object" code has been removed. MAP_COPY was undocumented and non-
standard. It was furthermore broken in several ways which caused its
behavior to degrade to MAP_PRIVATE. Binaries that use MAP_COPY will
continue to work correctly, but via the slightly different semantics
of MAP_PRIVATE.
14) (dyson) Sharing maps have been removed. It's marginal usefulness in a
threads design can be worked around in other ways. Both #12 and #13
were done to simplify the code and improve readability and maintain-
ability. (As were most all of these changes)
TODO:
1) Rewrite most of the vnode pager to use VOP_GETPAGES/PUTPAGES. Doing
this will reduce the vnode pager to a mere fraction of its current size.
2) Rewrite vm_fault and the swap/vnode pagers to use the clustering
information provided by the new haspage pager interface. This will
substantially reduce the overhead by eliminating a large number of
VOP_BMAP() calls. The VOP_BMAP() filesystem interface should be
improved to provide both a "behind" and "ahead" indication of
contiguousness.
3) Implement the extended features of pager_haspage in swap_pager_haspage().
It currently just says 0 pages ahead/behind.
4) Re-implement the swap device (swstrategy) in a more elegant way, perhaps
via a much more general mechanism that could also be used for disk
striping of regular filesystems.
5) Do something to improve the architecture of vm_object_collapse(). The
fact that it makes calls into the swap pager and knows too much about
how the swap pager operates really bothers me. It also doesn't allow
for collapsing of non-swap pager objects ("unnamed" objects backed by
other pagers).
Revision 1.7: download - view: text, markup, annotated - select for diffs
Sun May 14 19:19:07 1995 UTC (16 years, 9 months ago) by nate
Branches: MAIN
CVS tags: RELENG_2_1_7_RELEASE, RELENG_2_1_6_RELEASE, RELENG_2_1_6_1_RELEASE, RELENG_2_1_5_RELEASE, RELENG_2_1_0_RELEASE, RELENG_2_1_0_BP, RELENG_2_0_5_RELEASE, RELENG_2_0_5_BP, RELENG_2_0_5_ALPHA, RELENG_2_0_5
Branch point for: RELENG_2_1_0
Diff to: previous 1.6: preferred, colored
Changes since revision 1.6: +2 -1 lines
Prototype for madvise() is missing from sys/mman.h Submitted by: Kai Vorma <vode@snakemail.hut.fi>
Revision 1.6: download - view: text, markup, annotated - select for diffs
Sat Mar 25 17:28:30 1995 UTC (16 years, 10 months ago) by davidg
Branches: MAIN
Diff to: previous 1.5: preferred, colored
Changes since revision 1.5: +2 -2 lines
Fixed msync() prototype.
Revision 1.5: download - view: text, markup, annotated - select for diffs
Sat Mar 25 16:43:42 1995 UTC (16 years, 10 months ago) by davidg
Branches: MAIN
Diff to: previous 1.4: preferred, colored
Changes since revision 1.4: +7 -1 lines
Added flags definitions for msync().
Revision 1.4: download - view: text, markup, annotated - select for diffs
Sun Aug 21 04:41:52 1994 UTC (17 years, 5 months ago) by paul
Branches: MAIN
CVS tags: RELEASE_2_0, OLAH_TTCP, BETA_2_0, ALPHA_2_0
Diff to: previous 1.3: preferred, colored
Changes since revision 1.3: +6 -1 lines
Made them all idempotent. Reviewed by: Submitted by:
Revision 1.3: download - view: text, markup, annotated - select for diffs
Tue Aug 2 15:06:58 1994 UTC (17 years, 6 months ago) by davidg
Branches: MAIN
Diff to: previous 1.2: preferred, colored
Changes since revision 1.2: +2 -1 lines
Added MAP_FILE definition that does nothing - for backward source compatibility.
Revision 1.2: download - view: text, markup, annotated - select for diffs
Tue Aug 2 07:53:14 1994 UTC (17 years, 6 months ago) by davidg
Branches: MAIN
Diff to: previous 1.1: preferred, colored
Changes since revision 1.1: +1 -0 lines
Added $Id$
Revision 1.1.1.1 (vendor branch): download - view: text, markup, annotated - select for diffs
Tue May 24 10:09:06 1994 UTC (17 years, 8 months ago) by rgrimes
Branches: CSRG
CVS tags: bsd_44_lite, REL_before_johndavid_2_0_0
Diff to: previous 1.1: preferred, colored
Changes since revision 1.1: +0 -0 lines
BSD 4.4 Lite Kernel Sources
Revision 1.1: download - view: text, markup, annotated - select for diffs
Tue May 24 10:09:05 1994 UTC (17 years, 8 months ago) by rgrimes
Branches: MAIN
Initial revision
