Page MenuHomeFreeBSD

First part of D17787:
ClosedPublic

Authored by glebius on Nov 6 2018, 11:17 PM.
Tags
None
Referenced Files
F135621788: D17879.id50375.diff
Tue, Nov 11, 9:13 AM
Unknown Object (File)
Fri, Oct 24, 1:53 AM
Unknown Object (File)
Fri, Oct 24, 1:53 AM
Unknown Object (File)
Fri, Oct 24, 1:53 AM
Unknown Object (File)
Thu, Oct 23, 5:21 PM
Unknown Object (File)
Wed, Oct 15, 2:35 AM
Unknown Object (File)
Oct 12 2025, 2:37 AM
Unknown Object (File)
Sep 29 2025, 4:20 PM
Subscribers

Details

Summary
  • Uninline epoch(9) entrance and exit. There is no proof that modern processors would benefit from avoiding a call, but bloating code. In fact, clang created an uninlined real function for many object files in the network stack.
  • Remove private copies of critical_enter/exit.
  • Move epoch_private.h into subr_epoch.c.

    There is no functional change.

Diff Detail

Lint
Lint Passed
Unit
No Test Coverage
Build Status
Buildable 20671
Build 20086: arc lint + arc unit

Event Timeline

sys/kern/subr_epoch.c
245

IMO thi sis an obfuscation.

256

Why using thread_lite and sched_pin_lite in a .c file, esp. when proc.h is already included ?

321

Wrong indent.

glebius added inline comments.
sys/kern/subr_epoch.c
245

I totally agree. But this is exact what was taken from epoch_private.h. Per mmacy@'s request I'm splitting the bigger change in small once. This just uninlines stuff.

256

Same answer. To be addressed in next commits.

321

Agreed. Taken from another file as is. To be cleaned up later.

This revision was not accepted when it landed; it landed in state Needs Review.Nov 13 2018, 7:02 PM
This revision was automatically updated to reflect the committed changes.