Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Lib zebra h cleanup #15092

Merged
merged 14 commits into from
Jan 5, 2024
Merged

Conversation

donaldsharp
Copy link
Member

Zebra.h has become a bit of a dumping ground for system headers. Let's make a single pass through zebra.h and properly locate stuff where it belongs. Especially for includes that are only used by 1-2 files.

Initial results of compile time on my machine actually surprised me.

I run a make -j32

Before timings:

   Executed in   13.12 secs    fish           external
   usr time  208.02 secs  360.00 micros  208.02 secs
   sys time   68.33 secs  179.00 micros   68.33 secs

After Timings:

Executed in   10.92 secs    fish           external
   usr time  158.24 secs  328.00 micros  158.24 secs
   sys time   50.81 secs  162.00 micros   50.81 secs

The only 2 places sendmmsg is used is in zlog_5424.c
and zlog_live.c.  Why is the rest of the entire system
paying for this compilation?

Signed-off-by: Donald Sharp <[email protected]>
Only a couple of places use this.  Move these to a better
spot.

Signed-off-by: Donald Sharp <[email protected]>
The rfapi code was not using the zlog_backtrace()
functionality.  Let's just convert over to using
the proper functionality that we have built in now.

Signed-off-by: Donald Sharp <[email protected]>
The backtrace functionality has been abstracted over
to zlog_backtrace().  Now that every place uses this
move the inclusion for HAVE_GLIBC_BACKTRACE into
the appropriate files instead of having everyone
pay for this costly include.

Signed-off-by: Donald Sharp <[email protected]>
All modern systems should have these defined.  Let's stop
paying the cost of this compilation.

Signed-off-by: Donald Sharp <[email protected]>
This file inclusion is only used in 3 places move
the includes to those spots.

Signed-off-by: Donald Sharp <[email protected]>
Practically no-one uses this and ioctls are pretty much
wrappered.  Further wrappering could make this even better.

Signed-off-by: Donald Sharp <[email protected]>
Copy link
Contributor

@choppsv1 choppsv1 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Love this.

@choppsv1 choppsv1 merged commit 43331c0 into FRRouting:master Jan 5, 2024
9 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants