Revision tags: release/5.3.0_cvs, release/5.3.0 |
|
#
751fdd08 |
| 24-Sep-2004 |
Poul-Henning Kamp <phk@FreeBSD.org> |
Use dev_re[fl]thread() to maintain a ref on the device driver while we call the ->d_mmap function.
|
#
c413d99c |
| 04-Aug-2004 |
Doug Rabson <dfr@FreeBSD.org> |
In dev_pager_updatefake, m->valid is typically 0 on entry. It should be set to VM_PAGE_BITS_ALL before returning, to ensure that neither vm_pager_get_pages nor vm_fault calls vm_page_zero_invalid af
In dev_pager_updatefake, m->valid is typically 0 on entry. It should be set to VM_PAGE_BITS_ALL before returning, to ensure that neither vm_pager_get_pages nor vm_fault calls vm_page_zero_invalid after dev_pager_getpages has returned.
Submitted by: tegge
show more ...
|
#
92bab635 |
| 30-Jul-2004 |
Doug Rabson <dfr@FreeBSD.org> |
Fix a memory leak in the device pager which is exposed by the NVIDIA OpenGL driver.
Submitted by: nvidia (possibly also tegge)
|
#
89c9c53d |
| 16-Jun-2004 |
Poul-Henning Kamp <phk@FreeBSD.org> |
Do the dreaded s/dev_t/struct cdev */ Bump __FreeBSD_version accordingly.
|
Revision tags: release/4.10.0_cvs, release/4.10.0 |
|
#
87aefa49 |
| 23-Apr-2004 |
Alan Cox <alc@FreeBSD.org> |
Push down Giant into vm_pager_get_pages(). The only get pages methods that require Giant are in the device and vnode pagers.
|
#
05eb3785 |
| 06-Apr-2004 |
Warner Losh <imp@FreeBSD.org> |
Remove advertising clause from University of California Regent's license, per letter dated July 22, 1999.
Approved by: core
|
Revision tags: release/5.2.1_cvs, release/5.2.1, release/5.2.0_cvs, release/5.2.0 |
|
#
2f7af3db |
| 04-Jan-2004 |
Alan Cox <alc@FreeBSD.org> |
Simplify the various pager allocation routines by computing the desired object size once and assigning that value to a local variable.
|
Revision tags: release/4.9.0_cvs, release/4.9.0 |
|
#
9aa3d17d |
| 06-Oct-2003 |
Alan Cox <alc@FreeBSD.org> |
The addition of a locking assertion to vm_page_zero_invalid() has revealed a long-time bug: vm_pager_get_pages() assumes that m[reqpage] contains a valid page upon return from pgo_getpages(). In the
The addition of a locking assertion to vm_page_zero_invalid() has revealed a long-time bug: vm_pager_get_pages() assumes that m[reqpage] contains a valid page upon return from pgo_getpages(). In the case of the device pager this page has been freed and replaced by a fake page. The fake page is properly inserted into the vm object but m[reqpage] is left pointing to a freed page. For now, update m[reqpage] to point to the fake page.
Submitted by: tegge
show more ...
|
#
f3c625e4 |
| 04-Oct-2003 |
Jeff Roberson <jeff@FreeBSD.org> |
- Use the UMA_ZONE_VM flag on the fakepg and object zones to prevent vm recursion and LORs. This may be necessary for other zones created in the vm but this needs to be verified.
|
#
4e658600 |
| 05-Aug-2003 |
Poul-Henning Kamp <phk@FreeBSD.org> |
Use sparse struct initializations for struct pagerops.
This makes grepping for which pagers implement which methods easier.
|
#
a8ab4870 |
| 24-Jun-2003 |
Alan Cox <alc@FreeBSD.org> |
Assert that the vm object is locked on entry to dev_pager_getpages().
|
#
8630c117 |
| 13-Jun-2003 |
Alan Cox <alc@FreeBSD.org> |
Add vm object locking to various pagers' "get pages" methods, i386 stack management functions, and a u area management function.
|
#
874651b1 |
| 12-Jun-2003 |
David E. O'Brien <obrien@FreeBSD.org> |
Use __FBSDID().
|
Revision tags: release/5.1.0_cvs, release/5.1.0, release/4.8.0_cvs, release/4.8.0 |
|
#
227f9a1c |
| 25-Mar-2003 |
Jake Burkholder <jake@FreeBSD.org> |
- Add vm_paddr_t, a physical address type. This is required for systems where physical addresses larger than virtual addresses, such as i386s with PAE. - Use this to represent physical addresses
- Add vm_paddr_t, a physical address type. This is required for systems where physical addresses larger than virtual addresses, such as i386s with PAE. - Use this to represent physical addresses in the MI vm system and in the i386 pmap code. This also changes the paddr parameter to d_mmap_t. - Fix printf formats to handle physical addresses >4G in the i386 memory detection code, and due to kvtop returning vm_paddr_t instead of u_long.
Note that this is a name change only; vm_paddr_t is still the same as vm_offset_t on all currently supported platforms.
Sponsored by: DARPA, Network Associates Laboratories Discussed with: re, phk (cdevsw change)
show more ...
|
#
07159f9c |
| 25-Feb-2003 |
Maxime Henrion <mux@FreeBSD.org> |
Cleanup of the d_mmap_t interface.
- Get rid of the useless atop() / pmap_phys_address() detour. The device mmap handlers must now give back the physical address without atop()'ing it. - Don't
Cleanup of the d_mmap_t interface.
- Get rid of the useless atop() / pmap_phys_address() detour. The device mmap handlers must now give back the physical address without atop()'ing it. - Don't borrow the physical address of the mapping in the returned int. Now we properly pass a vm_offset_t * and expect it to be filled by the mmap handler when the mapping was successful. The mmap handler must now return 0 when successful, any other value is considered as an error. Previously, returning -1 was the only way to fail. This change thus accidentally fixes some devices which were bogusly returning errno constants which would have been considered as addresses by the device pager. - Garbage collect the poorly named pmap_phys_address() now that it's no longer used. - Convert all the d_mmap_t consumers to the new API.
I'm still not sure wheter we need a __FreeBSD_version bump for this, since and we didn't guarantee API/ABI stability until 5.1-RELEASE.
Discussed with: alc, phk, jake Reviewed by: peter Compile-tested on: LINT (i386), GENERIC (alpha and sparc64) Runtime-tested on: i386
show more ...
|
#
a163d034 |
| 19-Feb-2003 |
Warner Losh <imp@FreeBSD.org> |
Back out M_* changes, per decision of the TRB.
Approved by: trb
|
#
44956c98 |
| 21-Jan-2003 |
Alfred Perlstein <alfred@FreeBSD.org> |
Remove M_TRYWAIT/M_WAITOK/M_WAIT. Callers should use 0. Merge M_NOWAIT/M_DONTWAIT into a single flag M_NOWAIT.
|
Revision tags: release/5.0.0_cvs, release/5.0.0, release/4.7.0_cvs, release/4.6.2_cvs, release/4.6.2, release/4.6.1 |
|
#
60e15726 |
| 12-Jul-2002 |
Alan Cox <alc@FreeBSD.org> |
o Lock accesses to the page queues.
|
Revision tags: release/4.6.0_cvs |
|
#
6395da54 |
| 26-Jun-2002 |
Ian Dowse <iedowse@FreeBSD.org> |
Complete the initial set of VM changes required to support full 64-bit file sizes. This step simply addresses the remaining overflows, and does attempt to optimise performance. The details are:
o U
Complete the initial set of VM changes required to support full 64-bit file sizes. This step simply addresses the remaining overflows, and does attempt to optimise performance. The details are:
o Use a 64-bit type for the vm_object `size' and the size argument to vm_object_allocate(). o Use the correct type for index variables in dev_pager_getpages(), vm_object_page_clean() and vm_object_page_remove(). o Avoid an overflow in the i386 pmap_object_init_pt().
show more ...
|
#
c8664f82 |
| 22-Jun-2002 |
Alan Cox <alc@FreeBSD.org> |
o Replace mtx_assert(&Giant, MA_OWNED) in dev_pager_alloc() with the acquisition and release of Giant. (Annotate as MPSAFE.) o Reorder the sanity checks in dev_pager_alloc() to reduce the tim
o Replace mtx_assert(&Giant, MA_OWNED) in dev_pager_alloc() with the acquisition and release of Giant. (Annotate as MPSAFE.) o Reorder the sanity checks in dev_pager_alloc() to reduce the time that Giant is held.
show more ...
|
#
6008862b |
| 04-Apr-2002 |
John Baldwin <jhb@FreeBSD.org> |
Change callers of mtx_init() to pass in an appropriate lock type name. In most cases NULL is passed, but in some cases such as network driver locks (which use the MTX_NETWORK_LOCK macro) and UMA zon
Change callers of mtx_init() to pass in an appropriate lock type name. In most cases NULL is passed, but in some cases such as network driver locks (which use the MTX_NETWORK_LOCK macro) and UMA zone locks, a name is used.
Tested on: i386, alpha, sparc64
show more ...
|
#
670d17b5 |
| 20-Mar-2002 |
Jeff Roberson <jeff@FreeBSD.org> |
Remove references to vm_zone.h and switch over to the new uma API.
|
#
11caded3 |
| 19-Mar-2002 |
Alfred Perlstein <alfred@FreeBSD.org> |
Remove __P.
|
#
8355f576 |
| 19-Mar-2002 |
Jeff Roberson <jeff@FreeBSD.org> |
This is the first part of the new kernel memory allocator. This replaces malloc(9) and vm_zone with a slab like allocator.
Reviewed by: arch@
|
Revision tags: release/4.5.0_cvs, release/4.4.0_cvs |
|
#
0cddd8f0 |
| 04-Jul-2001 |
Matthew Dillon <dillon@FreeBSD.org> |
With Alfred's permission, remove vm_mtx in favor of a fine-grained approach (this commit is just the first stage). Also add various GIANT_ macros to formalize the removal of Giant, making it easy to
With Alfred's permission, remove vm_mtx in favor of a fine-grained approach (this commit is just the first stage). Also add various GIANT_ macros to formalize the removal of Giant, making it easy to test in a more piecemeal fashion. These macros will allow us to test fine-grained locks to a degree before removing Giant, and also after, and to remove Giant in a piecemeal fashion via sysctl's on those subsystems which the authors believe can operate without Giant.
show more ...
|