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
F161057168: D23222.id66881.diff
Tue, Jun 30, 5:03 AM
F161040655: D23222.diff
Tue, Jun 30, 1:33 AM
Unknown Object (File)
Sat, Jun 27, 11:08 AM
Unknown Object (File)
Wed, Jun 24, 8:37 PM
Unknown Object (File)
Thu, Jun 18, 12:30 AM
Unknown Object (File)
Wed, Jun 10, 6:22 AM
Unknown Object (File)
Apr 28 2026, 12:09 AM
Unknown Object (File)
Apr 27 2026, 5:30 PM
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