Page MenuHomeFreeBSD

First part of D17787:
ClosedPublic

Authored by glebius on Nov 6 2018, 11:17 PM.
Tags
None
Referenced Files
Unknown Object (File)
Dec 20 2023, 4:56 AM
Unknown Object (File)
Dec 11 2023, 4:48 AM
Unknown Object (File)
Nov 15 2023, 11:24 AM
Unknown Object (File)
Nov 14 2023, 10:31 AM
Unknown Object (File)
Nov 8 2023, 4:46 AM
Unknown Object (File)
Oct 14 2023, 10:24 AM
Unknown Object (File)
Oct 13 2023, 9:26 AM
Unknown Object (File)
Oct 10 2023, 8:31 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.