Project

General

Profile

Bug #5773

Extra pointless steps in kernel module builds

Added by Garrett D'Amore about 6 years ago. Updated about 6 years ago.

Status:
Closed
Priority:
Normal
Category:
-
Start date:
2015-03-29
Due date:
% Done:

100%

Estimated time:
Difficulty:
Medium
Tags:
Gerrit CR:

Description

We have some things in our Makefiles which substantially increase the compile cost for the kernel tree.
Specifically:

1. We execute date to get THIS_YEAR every time Makefile.uts is included -- this is presumably for logsubr's benefit, but logsubr.c doesn't actually use that define.

2. We execute some extra CTF stuff to cope with patches (ctffindmod, ctfcvtptbl). But illumos has zero support for patching -- that's a hold over from Solaris 10 days, and we never build patches from illumos-gate.

Eliminating these steps saved about 20 minutes for my build, which is done on a system with a relatively small number of cores available (4). Systems with high core counts noticed a smaller (in some cases negligible) difference. I contend that increased parallelism drives the incremental cost of these steps to close to zero. But for systems that have to run more serially, the difference is quite noticeable.

In any event, the decrease in complexity also helps improve maintainability. The performance bonus is just a nice side benefit.


Related issues

Has duplicate illumos gate - Bug #2886: remove patch machinery from the uts buildRejectedRich Lowe2012-06-15

Actions
#1

Updated by Garrett D'Amore about 6 years ago

Btw, this is tracked as two separate issues (with a single) commit in my illumos-core tree, where I've been running with these changes for quite some months:

https://github.com/gdamore/illumos-core/issues/132
https://github.com/gdamore/illumos-core/issues/133
https://github.com/gdamore/illumos-core/commit/d2b99961b4ca3d455d2c0b579477a4e6682b1b33

#2

Updated by Electric Monk about 6 years ago

  • Status changed from New to Closed
  • % Done changed from 90 to 100

git commit 105958d7eca6f896fb8caab1f9777157eb0a352c

commit  105958d7eca6f896fb8caab1f9777157eb0a352c
Author: Garrett D'Amore <garrett@damore.org>
Date:   2015-04-05T17:36:29.000Z

    5773 Extra pointless steps in kernel module builds
    Reviewed by: Dan McDonald <danmcd@omniti.com>
    Reviewed by: Josef Sipek <jeffpc@josefsipek.net>
    Reviewed by: Rich Lowe <richlowe@richlowe.net>
    Reviewed by: Robert Mustacchi <rm@joyent.com>
    Approved by: Rich Lowe <richlowe@richlowe.net>

#3

Updated by Rich Lowe almost 6 years ago

  • Has duplicate Bug #2886: remove patch machinery from the uts build added

Also available in: Atom PDF