tech-kern archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
Re: Move kern_ctf to the dtrace module?
It was suggested to me in private Email that perhaps the file
sys/kern/kern_ctf.c should be moved out of src/sys and into "the
module's [source] directory."
I'd rather not move the file into src/external/..../dtrace/dev/fbt/
because kern_ctf.c and the existing file both include some headers with
the same name, but expecting different files to be included! (dtrace
provides its own versions of sys/kobj.h and sys/kobj_impl.h headers.)
We generally don't put actual source files into src/sys/modules/* but it
might be appropriate in this case.
Either way, I'm not really happy about using file-specific CPP_FLAGS in
sys/modules/dtrace/fbt/Makefile but the only other way to make this work
would be to create a dtrace_fbt_ctf module, on which dtrace_fbt would
depend. This introduces an additional layer of module-autoload, and
would occupy a slightly larger in-memory footprint, but should not have
any other impact.
So, questions to be answered:
* Where should sys/kern/kern_ctf.c reside?
* Should kern_ctf.c be a separate (sub)module?
Any thoughts?
On Tue, 13 Sep 2016, Paul Goyette wrote:
On Mon, 12 Sep 2016, Paul Goyette wrote:
Currently, if you include KDTRACE_HOOKS in your kernel, we automatically
include src/sys/kern/kern_ctf.[co] in the resulting kernel.
kern_ctf defines only one global symbol, mod_ctf_get(), according to the
generated netbsd.map file, and there are no references anywhere else in the
kernel to this routine; the only reference is within the sub-module
dtrace_fbt.kmod
I would like to suggest that kern_ctf be removed from the kernel, and added
to the dtrace_fbt module. And, since kern_ctf references stuff in
net/zlib.c, the dtrace_fbt module should depend on zlib module. And
finally, the ktrace_hooks dependency can be removed from the zlib.c line in
net/files.net
The bottom line is that zlib code won't be included in kernels that don't
need it, yet will still be available when using dtrace (which is only
available as a module).
If I don't see any significant objections, I'll post diffs in a day or so
before making any commits.
Diffs are attached here.
I plan to commit within the next couple of days...
+------------------+--------------------------+------------------------+
| Paul Goyette | PGP Key fingerprint: | E-mail addresses: |
| (Retired) | FA29 0E3B 35AF E8AE 6651 | paul at whooppee.com |
| Kernel Developer | 0786 F758 55DE 53BA 7731 | pgoyette at netbsd.org |
+------------------+--------------------------+------------------------+
+------------------+--------------------------+------------------------+
| Paul Goyette | PGP Key fingerprint: | E-mail addresses: |
| (Retired) | FA29 0E3B 35AF E8AE 6651 | paul at whooppee.com |
| Kernel Developer | 0786 F758 55DE 53BA 7731 | pgoyette at netbsd.org |
+------------------+--------------------------+------------------------+
Home |
Main Index |
Thread Index |
Old Index