| #
53faf5a7 |
| 13-Oct-2017 |
Konstantin Belousov <kib@FreeBSD.org> |
Evaluate the real size of the sblk_zone.
Submitted by: ota@j.email.ne.jp PR: 221356 Reviewed by: alc, markj MFC after: 1 week Differential revision: https://reviews.freebsd.org/D12660
|
| #
50896984 |
| 10-Oct-2017 |
Enji Cooper <ngie@FreeBSD.org> |
MFhead@r324482
|
| #
37244a84 |
| 08-Oct-2017 |
Alan Cox <alc@FreeBSD.org> |
Replace an unnecessary call to vm_page_activate() by an assertion that the page is already wired or queued. Prior to the elimination of PG_CACHED pages, vm_page_grab() might have returned a valid, p
Replace an unnecessary call to vm_page_activate() by an assertion that the page is already wired or queued. Prior to the elimination of PG_CACHED pages, vm_page_grab() might have returned a valid, previously PG_CACHED page, in which case enqueueing the page was necessary. Now, that can't happen. Moreover, activating the page is a dubious choice, since the page is not being accessed.
Reviewed by: kib MFC after: 1 week
show more ...
|
| #
41e5a226 |
| 01-Oct-2017 |
Alan Cox <alc@FreeBSD.org> |
When an I/O error occurs on page out, there is no need to dirty the page, because it is already dirty. Instead, assert that the page is dirty.
Reviewed by: kib, markj MFC after: 1 week
|
|
Revision tags: release/10.4.0 |
|
| #
8fcbcc2d |
| 16-Sep-2017 |
Enji Cooper <ngie@FreeBSD.org> |
MFhead@r323635
|
| #
b754c279 |
| 13-Sep-2017 |
Navdeep Parhar <np@FreeBSD.org> |
MFH @ r323558.
|
| #
d027ed2e |
| 10-Sep-2017 |
Alan Cox <alc@FreeBSD.org> |
To analyze the allocation of swap blocks by blist functions, add a method for analyzing the radix tree structures and reporting on the number, and sizes, of maximal intervals of free blocks. The rep
To analyze the allocation of swap blocks by blist functions, add a method for analyzing the radix tree structures and reporting on the number, and sizes, of maximal intervals of free blocks. The report includes the number of maximal intervals, and also the number of them in each of several size ranges, from small (size 1, or 3 to 4) to large (28657 to 46367) with size boundaries defined by Fibonacci numbers. The report is written in the test tool with the 's' command, or in a running kernel by sysctl.
The analysis of the radix tree frequently computes the position of the lone bit set in a u_daddr_t, a computation that also appears in leaf allocation. That computation has been moved into a function of its own, and optimized for cases where an inlined machine instruction can replace the usual binary search.
Submitted by: Doug Moore <dougm@rice.edu> MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D11906
show more ...
|
| #
5be4ad9e |
| 09-Sep-2017 |
Enji Cooper <ngie@FreeBSD.org> |
MFhead@r323343
|
| #
85d88d87 |
| 06-Sep-2017 |
Konstantin Belousov <kib@FreeBSD.org> |
Do not leak empty swblk.
In swp_pager_meta_build(), if the requested operation results in freeing the last swap pointer in the swblk, free the trie node. Other swap pager code does not expect to fi
Do not leak empty swblk.
In swp_pager_meta_build(), if the requested operation results in freeing the last swap pointer in the swblk, free the trie node. Other swap pager code does not expect to find completely empty swblk.
Reviewed by: alc, markj Tested by: pho Sponsored by: The FreeBSD Foundation MFC after: 1 week
show more ...
|
| #
eed99cb8 |
| 06-Sep-2017 |
Konstantin Belousov <kib@FreeBSD.org> |
In swp_pager_meta_build(), handle a race with other thread allocating swapblk for our index while we dropped the object lock.
Noted by: jeff Reviewed by: alc, markj Tested by: pho Sponsored by: The
In swp_pager_meta_build(), handle a race with other thread allocating swapblk for our index while we dropped the object lock.
Noted by: jeff Reviewed by: alc, markj Tested by: pho Sponsored by: The FreeBSD Foundation MFC after: 1 week
show more ...
|
| #
35872e79 |
| 30-Aug-2017 |
Konstantin Belousov <kib@FreeBSD.org> |
Adjust interface of swapon_check_swzone() to its actual usage.
The function return value is not used. Its argument is always swap_total/PAGE_SIZE, so make it not take any arguments.
Submitted by:
Adjust interface of swapon_check_swzone() to its actual usage.
The function return value is not used. Its argument is always swap_total/PAGE_SIZE, so make it not take any arguments.
Submitted by: ota@j.email.ne.jp PR: 221356 MFC after: 1 week
show more ...
|
| #
f08b3099 |
| 30-Aug-2017 |
Konstantin Belousov <kib@FreeBSD.org> |
Make the swap_pager_full variable static.
r290920 removed the use of the variable from vm/vm_pageout.c.
Submitted by: ota@j.email.ne.jp PR: 221356 MFC after: 1 week
|
| #
ee620ea4 |
| 28-Aug-2017 |
Alan Cox <alc@FreeBSD.org> |
Update a couple vm_object lock assertions in the swap pager to reflect the new use of the vm_object's lock to synchronize updates to a radix trie mapping per-vm object page indices to on-disk swap bl
Update a couple vm_object lock assertions in the swap pager to reflect the new use of the vm_object's lock to synchronize updates to a radix trie mapping per-vm object page indices to on-disk swap blocks.
Fix a typo in a nearby comment.
Reviewed by: kib, markj X-MFC with: r322913 Differential Revision: https://reviews.freebsd.org/D12134
show more ...
|
| #
05505b6c |
| 26-Aug-2017 |
Enji Cooper <ngie@FreeBSD.org> |
MFhead@r322921
|
| #
f425ab8e |
| 26-Aug-2017 |
Konstantin Belousov <kib@FreeBSD.org> |
Replace global swhash in swap pager with per-object trie to track swap blocks assigned to the object pages.
- The global swhash_mtx is removed, trie is synchronized by the corresponding object loc
Replace global swhash in swap pager with per-object trie to track swap blocks assigned to the object pages.
- The global swhash_mtx is removed, trie is synchronized by the corresponding object lock. - The swp_pager_meta_free_all() function used during object termination is optimized by only looking at the trie instead of having to search whole hash for the swap blocks owned by the object. - On swap_pager_swapoff(), instead of iterating over the swhash, global object list have to be inspected. There, we have to ensure that we do see valid trie content if we see that the object type is swap. Sizing of the swblk zone is same as for swblock zone, each swblk maps SWAP_META_PAGES pages.
Proposed by: alc Reviewed by: alc, markj (previous version) Tested by: alc, pho (previous version) Sponsored by: The FreeBSD Foundation MFC after: 1 month Differential revision: https://reviews.freebsd.org/D11435
show more ...
|
| #
531c2d7a |
| 24-Jul-2017 |
Enji Cooper <ngie@FreeBSD.org> |
MFhead@r320180
|
| #
bca9d05f |
| 23-Jul-2017 |
Hans Petter Selasky <hselasky@FreeBSD.org> |
Merge ^/head r319973 through 321382.
|
|
Revision tags: release/11.1.0 |
|
| #
2fef18f8 |
| 19-Jul-2017 |
Dimitry Andric <dim@FreeBSD.org> |
Merge ^/head r320994 through r321238.
|
| #
9680bb98 |
| 19-Jul-2017 |
Konstantin Belousov <kib@FreeBSD.org> |
Remove unused function swap_pager_isswapped().
Noted by: alc Sponsored by: The FreeBSD Foundation MFC after: 1 week
|
| #
a3604b95 |
| 27-Jun-2017 |
Dimitry Andric <dim@FreeBSD.org> |
Merge ^/head r320042 through r320397.
|
| #
e2241590 |
| 24-Jun-2017 |
Alan Cox <alc@FreeBSD.org> |
Increase the pageout cluster size to 32 pages.
Decouple the pageout cluster size from the size of the hash table entry used by the swap pager for mapping (object, pindex) to a block on the swap devi
Increase the pageout cluster size to 32 pages.
Decouple the pageout cluster size from the size of the hash table entry used by the swap pager for mapping (object, pindex) to a block on the swap device(s), and keep the size of a hash table entry at its current size.
Eliminate a pointless macro.
Reviewed by: kib, markj (an earlier version) MFC after: 4 weeks Differential Revision: https://reviews.freebsd.org/D11305
show more ...
|
| #
3a5d839e |
| 21-Jun-2017 |
Alan Cox <alc@FreeBSD.org> |
Eliminate an unused macro.
MFC after: 3 days
|
| #
87b0ab69 |
| 17-Jun-2017 |
Alan Cox <alc@FreeBSD.org> |
Pages that are passed to swap_pager_putpages() should already be fully dirty. Assert that they are fully dirty rather than redundantly calling vm_page_dirty() on them.
Reviewed by: kib, markj MFC a
Pages that are passed to swap_pager_putpages() should already be fully dirty. Assert that they are fully dirty rather than redundantly calling vm_page_dirty() on them.
Reviewed by: kib, markj MFC after: 1 week X-MFC after: r319932
show more ...
|
| #
686fb94a |
| 10-Jun-2017 |
Dimitry Andric <dim@FreeBSD.org> |
Merge ^/head r319548 through r319778.
|
| #
761097c8 |
| 06-Jun-2017 |
Alan Cox <alc@FreeBSD.org> |
Starting in r118390, swaponsomething() began to reserve the blocks at the beginning of a swap area for a disk label. However, neither r118390 nor r118544, which increased the reservation from one to
Starting in r118390, swaponsomething() began to reserve the blocks at the beginning of a swap area for a disk label. However, neither r118390 nor r118544, which increased the reservation from one to two blocks, correctly accounted for these blocks when updating the variable "swap_pager_avail". This change corrects that error.
Reviewed by: kib MFC after: 5 days
show more ...
|