Commit 4c16b1d6 authored by Steven Rostedt (Red Hat)'s avatar Steven Rostedt (Red Hat) Committed by Steven Rostedt

ktest: Update documentation on config_bisect

With the more robust config_bisect, the documentation is out of
date and needs to be updated.

The new rewrite allows for finding missing configs and such, and
is much more robust to use.
Signed-off-by: default avatarSteven Rostedt <rostedt@goodmis.org>
parent 4cc559bd
...@@ -1098,49 +1098,35 @@ ...@@ -1098,49 +1098,35 @@
# #
# The way it works is this: # The way it works is this:
# #
# First it finds a config to work with. Since a different version, or # You can specify a good config with CONFIG_BISECT_GOOD, otherwise it
# MIN_CONFIG may cause different dependecies, it must run through this # will use the MIN_CONFIG, and if that's not specified, it will use
# preparation. # the config that comes with "make defconfig".
# #
# Overwrites any config set in the bad config with a config set in # It runs both the good and bad configs through a make oldconfig to
# either the MIN_CONFIG or ADD_CONFIG. Thus, make sure these configs # make sure that they are set up for the kernel that is checked out.
# are minimal and do not disable configs you want to test:
# (ie. # CONFIG_FOO is not set).
# #
# An oldconfig is run on the bad config and any new config that # It then reads the configs that are set, as well as the ones that are
# appears will be added to the configs to test. # not set for both the good and bad configs, and then compares them.
# It will set half of the good configs within the bad config (note,
# "set" means to make the bad config match the good config, a config
# in the good config that is off, will be turned off in the bad
# config. That is considered a "set").
# #
# Finally, it generates a config with the above result and runs it # It tests this new config and if it works, it becomes the new good
# again through make oldconfig to produce a config that should be # config, otherwise it becomes the new bad config. It continues this
# satisfied by kconfig. # process until there's only one config left and it will report that
# config.
# #
# Then it starts the bisect. # The "bad config" can also be a config that is needed to boot but was
# disabled because it depended on something that wasn't set.
# #
# The configs to test are cut in half. If all the configs in this # During this process, it saves the current good and bad configs in
# half depend on a config in the other half, then the other half # ${TMP_DIR}/good_config and ${TMP_DIR}/bad_config respectively.
# is tested instead. If no configs are enabled by either half, then # If you stop the test, you can copy them to a new location to
# this means a circular dependency exists and the test fails. # reuse them again.
# #
# A config is created with the test half, and the bisect test is run. # Although the MIN_CONFIG may be the config it starts with, the
# # MIN_CONFIG is ignored.
# If the bisect succeeds, then all configs in the generated config
# are removed from the configs to test and added to the configs that
# will be enabled for all builds (they will be enabled, but not be part
# of the configs to examine).
#
# If the bisect fails, then all test configs that were not enabled by
# the config file are removed from the test. These configs will not
# be enabled in future tests. Since current config failed, we consider
# this to be a subset of the config that we started with.
#
# When we are down to one config, it is considered the bad config.
#
# Note, the config chosen may not be the true bad config. Due to
# dependencies and selections of the kbuild system, mulitple
# configs may be needed to cause a failure. If you disable the
# config that was found and restart the test, if the test fails
# again, it is recommended to rerun the config_bisect with a new
# bad config without the found config enabled.
# #
# The option BUILD_TYPE will be ignored. # The option BUILD_TYPE will be ignored.
# #
...@@ -1160,13 +1146,16 @@ ...@@ -1160,13 +1146,16 @@
# CONFIG_BISECT_GOOD (optional) # CONFIG_BISECT_GOOD (optional)
# If you have a good config to start with, then you # If you have a good config to start with, then you
# can specify it with CONFIG_BISECT_GOOD. Otherwise # can specify it with CONFIG_BISECT_GOOD. Otherwise
# the MIN_CONFIG is the base. # the MIN_CONFIG is the base, if MIN_CONFIG is not set
# It will build a config with "make defconfig"
# #
# CONFIG_BISECT_CHECK (optional) # CONFIG_BISECT_CHECK (optional)
# Set this to 1 if you want to confirm that the config ktest # Set this to 1 if you want to confirm that the config ktest
# generates (the bad config with the min config) is still bad. # generates (the bad config with the min config) is still bad.
# It may be that the min config fixes what broke the bad config # It may be that the min config fixes what broke the bad config
# and the test will not return a result. # and the test will not return a result.
# Set it to "good" to test only the good config and set it
# to "bad" to only test the bad config.
# #
# Example: # Example:
# TEST_START # TEST_START
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment