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
F122635007: D23222.id66881.diff
Sun, Jul 6, 11:36 PM
F122612057: D23222.id66881.diff
Sun, Jul 6, 5:47 PM
F122550326: D23222.id.diff
Sun, Jul 6, 4:27 AM
Unknown Object (File)
Sat, Jul 5, 12:35 AM
Unknown Object (File)
Wed, Jul 2, 7:11 AM
Unknown Object (File)
Sun, Jun 22, 10:40 PM
Unknown Object (File)
Sat, Jun 21, 4:38 AM
Unknown Object (File)
Thu, Jun 19, 11:26 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