Bug #11352
openCTF types > 2^15 in the pfSense kernel config results in DTrace failing
0%
Description
The pfSense kernel config adds a number of additional subystems and drivers to the FreeBSD GENERIC kernel.
This additional code results in the number of CTF types being larger than what DTrace can cope with (see FreeBSD PR 232675)
On the Jan 27 factory build:
[21.02-DEVELOPMENT][admin@pfSense.home.arpa]/root: uname -a FreeBSD pfSense.home.arpa 12.2-STABLE FreeBSD 12.2-STABLE 124c425698a(factory-devel-12) pfSense amd64 [21.02-DEVELOPMENT][admin@pfSense.home.arpa]/root: ctfdump -S /boot/kernel/kernel | grep 'number of types' total number of types = 36806 [21.02-DEVELOPMENT][admin@pfSense.home.arpa]/root: dtrace -n 'fbt::xpt*: {}' dtrace: invalid probe specifier fbt::xpt*: {}: "/usr/lib/dtrace/psinfo.d", line 39: failed to copy type of 'pr_uid': Type information is in parent and unavailable
After lopping a bunch of 10G drivers and GEOM out of the pfSense kernel config:
[21.02-DEVELOPMENT][admin@pfSense.home.arpa]/root: ctfdump -S /boot/kernel/kernel | grep 'number of types' total number of types = 32449 [21.02-DEVELOPMENT][admin@pfSense.home.arpa]/root: dtrace -n 'fbt::xpt*: {}' dtrace: description 'fbt::xpt*: ' matched 202 probes
Is it possible to bring this number back down to < 2^15 by removing some unnecessary code, or perhaps nooption'ing some unneeded parts of GENERIC ?
Priority set as Low since DTrace hadn't been enabled in previous releases so no functionality lost.
Files
Updated by Peter Grehan over 3 years ago
- File GENERIC-noraid.diff GENERIC-noraid.diff added
With all SCSI and RAID drivers from GENERIC, this pulled back the number of types to 28890.
Perhaps a few modern SCSI drivers could be put back since there is some headroom.