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, Oct 9, 8:10 AM
Unknown Object (File)
Wed, Oct 8, 9:49 AM
Unknown Object (File)
Sat, Oct 4, 5:01 AM
Unknown Object (File)
Sat, Sep 27, 2:45 AM
Unknown Object (File)
Sep 11 2025, 11:33 PM
Unknown Object (File)
Sep 10 2025, 10:08 PM
Unknown Object (File)
Sep 2 2025, 7:47 AM
Unknown Object (File)
Aug 15 2025, 3:56 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