Page MenuHomeFreeBSD

Check swblk size if a swap device has enoush space before calling blist_alloc
Needs ReviewPublic

Authored by ota_j.email.ne.jp on Jan 17 2020, 3:07 AM.
Tags
None
Referenced Files
Unknown Object (File)
Thu, Apr 18, 4:12 PM
Unknown Object (File)
Tue, Mar 26, 12:20 PM
Unknown Object (File)
Dec 20 2023, 3:52 AM
Unknown Object (File)
Jul 31 2023, 6:53 PM
Unknown Object (File)
Jul 30 2023, 4:30 AM
Unknown Object (File)
Jul 30 2023, 3:04 AM
Unknown Object (File)
Jul 12 2023, 10:14 PM
Unknown Object (File)
May 23 2023, 6:04 AM
Subscribers

Details

Reviewers
dougm
kib
Summary

This reduces and short-cuts number of blist_alloc calls when
multiple swap devices are used especially sizes of them are different.

Test Plan

Have at least 2 deices with differnet sizes.

Then, trigger enough swapping ascivities like make builddworld -j 50 or
dd if=/dev/zero of=/mnt/swapfs/zero bs=1M count=large

We can use dtrace to find the call counts but buildkernel results look to depend on other factors...
i.e.
fbt::blist_alloc:entry{ @count["blist_alloc calls"] = count(); }

Diff Detail

Repository
rS FreeBSD src repository - subversion
Lint
Lint Passed
Unit
No Test Coverage
Build Status
Buildable 28776
Build 26786: arc lint + arc unit