Page MenuHomeFreeBSD

per-cpu page cache
AbandonedPublic

Authored by cem on Jan 25 2015, 10:42 PM.

Details

Reviewers
kmacy
alc
adrian
Summary

Integrate from OneFS on behalf of Netflix:

  • Add per-cpu page caches to avoid contention on the page queue free mutex or large objects
  • Add the option of passing PQ_NONE to vm_page_unwire for callers that are going to subsequently free the page (making the add to the inactive queue simply unneeded overhead)
    • bump WITNESS_PENDLIST to avoid panic on boot
Test Plan

stress2, buildworld, netflix deployment

Diff Detail

Repository
rS FreeBSD src repository
Lint
Lint OK
Unit
No Unit Test Coverage

Event Timeline

kmacy retitled this revision from to per-cpu page cache.
kmacy updated this object.
kmacy edited the test plan for this revision. (Show Details)
kmacy added a reviewer: alc.

Update it to the latest -HEAD? I have a whole bunch of 2 and 4 socket NUMA boxes I can test this out on.

Thanks!

-a

cem added a reviewer: kmacy.

Sure. It applied cleanly against HEAD for me; took me a while to get a build (10.1 can't build CURRENT today). It boots, seems to run ok in a VM.

cem edited edge metadata.

Update to latest HEAD.

ok, so this adds a per-cpu free list /and/ disables the page cache piece. What's the effect going to be, besides reducing lock contention?