Page MenuHomeFreeBSD

MFV r350898: 8423 8199 7432 Implement large_dnode pool feature
AbandonedPublic

Authored by avg on Aug 12 2019, 8:21 PM.

Details

Reviewers
mav
mmacy
Summary

8423 8199 7432 Implement large_dnode pool feature

8423 Implement large_dnode pool feature
8199 multi-threaded dmu_object_alloc()
7432 Large dnode pool feature

llumos/illumos-gate@54811da5ac6b517992fdc173df5d605e4e61fdc0
https://github.com/illumos/illumos-gate/commit/54811da5ac6b517992fdc173df5d605e4e61fdc0
https://www.illumos.org/issues/8423
https://www.illumos.org/issues/8199
https://www.illumos.org/issues/7432

ZoL issues:
Improved dnode allocation #6564
Clean up large dnode code #6262
Fix dnode_hold() freeing dnode behavior #8172
Fix dnode allocation race #6414, #6439
Partial: Raw sends must be able to decrease nlevels #6821, #6864
Remove unnecessary txg syncs from receive_object() Closes #7197

Author: Toomas Soome <tsoome@me.com>

This updates FreeBSD large_dnode code to a version that was committed to illumos.
It has some cleanups, improvements and fixes comparing to what we have in FreeBSD now.
I think that the most significant update is 8199 multi-threaded dmu_object_alloc().

Diff Detail

Repository
rS FreeBSD src repository
Lint
No Linters Available
Unit
No Unit Test Coverage
Build Status
Buildable 25814
Build 24386: arc lint + arc unit

Event Timeline

avg created this revision.Aug 12 2019, 8:21 PM
cy added a subscriber: cy.Aug 14 2019, 1:46 AM
avg added a comment.Aug 15 2019, 3:42 PM

At least userland builds (not sure about kernels yet) on 32-bit platforms are broken because of missing atomic_swap_64.

avg abandoned this revision.Wed, Oct 16, 2:39 PM

Committed as an MFV in rS353176.