Current-Users archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

options DIAGNOSTIC



With the recent discussion about DIAGNOSTIC perhaps having a 15% performance penalty, I took a quick look at some kernel config files.

It seems that we are not at all consistent about the comments on the "options DIAGNOSTIC" lines! What I find most interesting in the following is 34 config files claim that the DIAGNOSTIC checks are expensive while 50 files claim that they are [Cc]heap! (More than 150 other files make no claim at all on the magnitude of cost.)

# grep -h DIAGNOSTIC src/sys/arch/*/conf/* | \
? tr '\t' ' ' | \
? sed -e 's/  */ /g' -e 's/^[# ]*//' | \
? sort | \
? uniq -c | \
? sort -r
  56 options DIAGNOSTIC # internally consistency checks
  53 options DIAGNOSTIC # extra kernel sanity checking
  42 options DIAGNOSTIC # cheap kernel consistency checks
  32 options DIAGNOSTIC # expensive kernel consistency checks
  20 options DIAGNOSTIC # internal consistency checks
  15 options DIAGNOSTIC # extra kernel debugging checks
  12 options DIAGNOSTIC
  10 options DIAGNOSTIC # Extra kernel sanity checks
   8 options DIAGNOSTIC # Cheap kernel consistency checks
   5 options DIAGNOSTIC, DEBUG
   3 no options DIAGNOSTIC
   3 depend on DIAGNOSTIC etc.
   2 options DIAGNOSTIC # expensive kernel consistency check
   1 options RAID_DIAGNOSTIC # Additional raidframe diagnostic info
   1 options DIAGNOSTIC,DEBUG,KMEMSTATS,PMAPDEBUG,TRAPDEBUG
   1 options DIAGNOSTIC # already in GENERIC
   1 options DIAGNOSTIC # Add additional error checking code
   1 depend on DEBUG and/or DIAGNOSTIC options
#

Would it make sense to have all kernel config files use a common description for the DIAGNOSTIC option?

With a similar examination of options DEBUG, we find somewhat less variation; but I still wonder if we should be consistend in how the option is described?

# grep -h '[^_A-Z]DEBUG[^_A-Z=.,:)}]' */conf/* | \
? tr '\t' ' ' | \
? sed -e 's/  */ /g' -e 's/^[# ]*//' | \
? sort | \
? uniq -c | \
? sort -r
  79 options DEBUG # expensive debugging checks/support
  46 options DEBUG # extra kernel debugging support
  16 options DEBUG # kernel debugging code
  10 options DEBUG # Enable misc. kernel debugging code
   3 options DEBUG # More expensive checks and printfs
   3 DEBUG options turned on:
   2 options DEBUG # Expensive debugging checks/support
   1 depend on DEBUG and/or DIAGNOSTIC options
#


-------------------------------------------------------------------------
| Paul Goyette     | PGP Key fingerprint:     | E-mail addresses:       |
| Customer Service | FA29 0E3B 35AF E8AE 6651 | paul at whooppee.com    |
| Network Engineer | 0786 F758 55DE 53BA 7731 | pgoyette at juniper.net |
| Kernel Developer |                          | pgoyette at netbsd.org  |
-------------------------------------------------------------------------


Home | Main Index | Thread Index | Old Index