13 Jan, 2012

2 commits

  • Bring a first selftest in the relevant directory. This tests several
    combinations of breakpoints and watchpoints in x86, as well as icebp traps
    and int3 traps. Given the amount of breakpoint regressions we raised
    after we merged the generic breakpoint infrastructure, such selftest
    became necessary and can still serve today as a basis for new patches that
    touch the do_debug() path.

    Signed-off-by: Frederic Weisbecker
    Cc: Thomas Gleixner
    Cc: Ingo Molnar
    Cc: H. Peter Anvin
    Cc: Jason Wessel
    Cc: Will Deacon
    Cc: Michal Marek
    Cc: Sam Ravnborg
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Frederic Weisbecker
     
  • Bring a new kernel selftests directory in tools/testing/selftests. To
    add a new selftest, create a subdirectory with the sources and a
    makefile that creates a target named "run_test" then add the
    subdirectory name to the TARGET var in tools/testing/selftests/Makefile
    and tools/testing/selftests/run_tests script.

    This can help centralizing and maintaining any useful selftest that
    developers usually tend to let rust in peace on some random server.

    Suggested-by: Andrew Morton
    Signed-off-by: Frederic Weisbecker
    Cc: Thomas Gleixner
    Cc: Ingo Molnar
    Cc: "H. Peter Anvin"
    Cc: Jason Wessel
    Cc: Will Deacon
    Cc: Steven Rostedt
    Cc: Michal Marek
    Cc: Sam Ravnborg
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Frederic Weisbecker
     

09 Jan, 2012

1 commit

  • * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial: (53 commits)
    Kconfig: acpi: Fix typo in comment.
    misc latin1 to utf8 conversions
    devres: Fix a typo in devm_kfree comment
    btrfs: free-space-cache.c: remove extra semicolon.
    fat: Spelling s/obsolate/obsolete/g
    SCSI, pmcraid: Fix spelling error in a pmcraid_err() call
    tools/power turbostat: update fields in manpage
    mac80211: drop spelling fix
    types.h: fix comment spelling for 'architectures'
    typo fixes: aera -> area, exntension -> extension
    devices.txt: Fix typo of 'VMware'.
    sis900: Fix enum typo 'sis900_rx_bufer_status'
    decompress_bunzip2: remove invalid vi modeline
    treewide: Fix comment and string typo 'bufer'
    hyper-v: Update MAINTAINERS
    treewide: Fix typos in various parts of the kernel, and fix some comments.
    clockevents: drop unknown Kconfig symbol GENERIC_CLOCKEVENTS_MIGR
    gpio: Kconfig: drop unknown symbol 'CS5535_GPIO'
    leds: Kconfig: Fix typo 'D2NET_V2'
    sound: Kconfig: drop unknown symbol ARCH_CLPS7500
    ...

    Fix up trivial conflicts in arch/powerpc/platforms/40x/Kconfig (some new
    kconfig additions, close to removed commented-out old ones)

    Linus Torvalds
     

02 Jan, 2012

1 commit


19 Nov, 2011

1 commit

  • Let's say we have "OUTPUT_DIR = build/${TEST_NAME}", and we're iterating
    a test. In the second iteration of a test, the TEST_NAME of the test
    we're repeating is not used. Instead, ${TEST_NAME} appears literally:

    touch /home/rabin/kernel/test/build/${TEST_NAME}/.config ... SUCCESS

    Fix this by making __eval_option() check the parent test options
    for a repeated test.

    Link: http://lkml.kernel.org/r/1321616131-21352-2-git-send-email-rabin@rab.in

    Signed-off-by: Rabin Vincent
    Signed-off-by: Steven Rostedt

    Rabin Vincent
     

28 Oct, 2011

1 commit

  • When ktest.pl is called without any arguments, or if the config
    file does not exist, ktest.pl will ask the user for some information.
    Some of these questions are code paths. Allowing the user to type
    ${PWD} for the current directory greatly simplifies these entries.

    Add variable processing to the entered values.

    Signed-off-by: Steven Rostedt

    Steven Rostedt
     

22 Oct, 2011

2 commits

  • Adding the variable ${PWD} that equals `pwd` makes the config files
    much simpler.

    Signed-off-by: Steven Rostedt

    Steven Rostedt
     
  • On some tests that do multiple boots (patchcheck, bisect, etc), the build
    of the next kernel to run may finish before the stable kernel has finished
    booting. Then the install of the new kernel will fail when it tries to connect
    as the machine has not finished the boot process.

    Do one more monitor flush to make sure the machine is up and running before
    trying to connect to it again.

    Signed-off-by: Steven Rostedt

    Steven Rostedt
     

20 Oct, 2011

1 commit

  • When setting the next kernel to boot to with grub, do not opencode
    the reboot operation. The normal reboot operation can be modified by
    config options (namely POWERCYCLE_AFTER_REBOOT). This needs to affect
    all reboots. Remove the opencoded reboot to make sure that any changes
    to the reboot code also affect all reboots.

    Signed-off-by: Steven Rostedt

    Steven Rostedt
     

17 Oct, 2011

17 commits


16 Jul, 2011

5 commits

  • The MIN_CONFIG is a single config that is considered to have all the
    configs that are required to boot the box.

    ADD_CONFIG is a list of configs that we add that may contain configs
    known to be broken (set off) or just configs that we want every box to
    have and this can include shared configs.

    If a config has no MIN_CONFIG defined, but has multiple files defined
    for the ADD_CONFIG, the test will die, because the MIN_CONFIG will
    default to ADD_CONFIG. The problem is the code to open MIN_CONFIG
    expects a string of one file, not multiple, and the open will fail.

    Since the real minconfig that is used is a concatination of MIN_CONFIG
    and ADD_CONFIG files, we change the code to open that instead of
    whatever MIN_CONFIG defaults to.

    Signed-off-by: Steven Rostedt

    Steven Rostedt
     
  • The IGNORE_CONFIG file holds the configs that we don't want to change
    (with their proper settings). But on start up, the make noconfig is
    executed, and the configs that are on are also put into the ignore
    config category. But these are configs that were forced on by the
    kconfig scripts and not something that we found must be enabled to boot
    our machine. By keeping the configs that are forced on by default,
    separate from the configs we found that are required to boot the box, we
    can get a much more interesting IGNORE_CONFIG. In fact, the
    IGNORE_CONFIG can usually end up being the must have configs to boot,
    and only have 6 or 7 configs set.

    Signed-off-by: Steven Rostedt

    Steven Rostedt
     
  • If the defined OUTPUT_MIN_CONFIG in the make_min_config test exists,
    then give a prompt to ask the user if they want to use that config
    instead, as it is very often the case, especially when the test has been
    interrupted. The OUTPUT_MIN_CONFIG is usually the config that one wants
    to use to continue the test where they left off.

    But if START_MIN_CONFIG is defined (thus the MIN_CONFIG is not the
    default), then do not prompt, as it will be annoying if the user has
    this as one of many tests, and the test pauses waiting for input, while
    the user is sleeping.

    Signed-off-by: Steven Rostedt

    Steven Rostedt
     
  • To save time, the test does not just grab any option and test
    it. The Kconfig files are examined to determine the dependencies
    of the configs. If a config is chosen that depends on another
    config, that config will be checked first. By checking the
    parents first, we can eliminate whole groups of configs that
    may have been enabled.

    For example, if a USB device config is chosen and depends on
    CONFIG_USB, the CONFIG_USB will be tested before the device.
    If CONFIG_USB is found not to be needed, it, as well as all
    configs that depend on it, will be disabled and removed from
    the current min_config.

    Note, the code from streamline_config (make localmodconfig)
    was copied and used to find the dependencies in the Kconfig file.

    Signed-off-by: Steven Rostedt

    Steven Rostedt
     
  • After doing a make localyesconfig, your kernel configuration may
    not be the most useful minimum configuration. Having a true minimum
    config that you can use against other configs is very useful if
    someone else has a config that breaks on your code. By only forcing
    those configurations that are truly required to boot your machine
    will give you less of a chance that one of your set configurations
    will make the bug go away. This will give you a better chance to
    be able to reproduce the reported bug matching the broken config.

    Note, this does take some time, and may require you to run the
    test over night, or perhaps over the weekend. But it also allows
    you to interrupt it, and gives you the current minimum config
    that was found till that time.

    Note, this test automatically assumes a BUILD_TYPE of oldconfig
    and its test type acts like boot.

    TODO: add a test version that makes the config do more than just
    boot, like having network access.

    Signed-off-by: Steven Rostedt

    Steven Rostedt
     

15 Jun, 2011

6 commits


13 Jun, 2011

3 commits

  • When a config is set with CONFIG_MODULES=n, it does not mean that the
    kernel does not need an initrd to boot. For systems that depend on LVM
    and such, an initrd must run first.

    If POST_INSTALL is defined, then run the post install regardless if
    modules are needed or not.

    Signed-off-by: Steven Rostedt

    Steven Rostedt
     
  • The LOG_FILE variable needs to evaluate the $ options as well.

    Signed-off-by: Steven Rostedt

    Steven Rostedt
     
  • After a bug is found, the STOP_AFTER_FAILURE timeout is used to
    determine how much output should be printed before breaking out
    of the monitor loop. This is to get things like call traces and
    enough infromation about the bug to help determine what caused it.

    The STOP_AFTER_FAILURE is usually much shorter than the TIMEOUT
    that is used to determine when to quit after no more stdio is given.

    But since the stdio read uses a wait on I/O, the STOP_AFTER_FAILURE is
    only checked after we get something from I/O. But if the I/O does
    not return any more data, we wait the TIMEOUT period instead, even
    though we already triggered a bug report.

    The wait on I/O should honor the STOP_AFTER_FAILURE time if a bug has
    been found.

    Signed-off-by: Steven Rostedt

    Steven Rostedt