Page MenuHomeFreeBSD

First part of D17787:
ClosedPublic

Authored by glebius on Nov 6 2018, 11:17 PM.
Tags
None
Referenced Files
Unknown Object (File)
Jan 10 2025, 7:09 AM
Unknown Object (File)
Dec 21 2024, 4:07 PM
Unknown Object (File)
Dec 21 2024, 3:14 PM
Unknown Object (File)
Dec 19 2024, 3:21 AM
Unknown Object (File)
Dec 5 2024, 12:10 AM
Unknown Object (File)
Nov 28 2024, 11:01 PM
Unknown Object (File)
Nov 27 2024, 5:34 AM
Unknown Object (File)
Nov 23 2024, 1:54 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

Repository
rS FreeBSD src repository - subversion
Lint
Lint Not Applicable
Unit
Tests Not Applicable

Event Timeline

sys/kern/subr_epoch.c
245 ↗(On Diff #50095)

IMO thi sis an obfuscation.

256 ↗(On Diff #50095)

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

321 ↗(On Diff #50095)

Wrong indent.

glebius added inline comments.
sys/kern/subr_epoch.c
245 ↗(On Diff #50095)

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 ↗(On Diff #50095)

Same answer. To be addressed in next commits.

321 ↗(On Diff #50095)

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.