1. 01 8月, 2012 1 次提交
  2. 31 7月, 2012 4 次提交
    • A
      fault-injection: add tool to run command with failslab or fail_page_alloc · c24aa64d
      Akinobu Mita 提交于
      This adds tools/testing/fault-injection/failcmd.sh to run a command while
      injecting slab/page allocation failures via fault injection.
      
      Example:
      
      Run a command "make -C tools/testing/selftests/ run_tests" with
      injecting slab allocation failure.
      
      	# ./tools/testing/fault-injection/failcmd.sh \
      		-- make -C tools/testing/selftests/ run_tests
      
      Same as above except to specify 100 times failures at most instead of
      one time at most by default.
      
      	# ./tools/testing/fault-injection/failcmd.sh --times=100 \
      		-- make -C tools/testing/selftests/ run_tests
      
      Same as above except to inject page allocation failure instead of slab
      allocation failure.
      
      	# env FAILCMD_TYPE=fail_page_alloc \
      		./tools/testing/fault-injection/failcmd.sh --times=100 \
      		-- make -C tools/testing/selftests/ run_tests
      Signed-off-by: NAkinobu Mita <akinobu.mita@gmail.com>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      c24aa64d
    • A
      fault-injection: add selftests for cpu and memory hotplug · d89dffa9
      Akinobu Mita 提交于
      This adds two selftests
      
      * tools/testing/selftests/cpu-hotplug/on-off-test.sh is testing script
      for CPU hotplug
      
      1. Online all hot-pluggable CPUs
      2. Offline all hot-pluggable CPUs
      3. Online all hot-pluggable CPUs again
      4. Exit if cpu-notifier-error-inject.ko is not available
      5. Offline all hot-pluggable CPUs in preparation for testing
      6. Test CPU hot-add error handling by injecting notifier errors
      7. Online all hot-pluggable CPUs in preparation for testing
      8. Test CPU hot-remove error handling by injecting notifier errors
      
      * tools/testing/selftests/memory-hotplug/on-off-test.sh is doing the
      similar thing for memory hotplug.
      
      1. Online all hot-pluggable memory
      2. Offline 10% of hot-pluggable memory
      3. Online all hot-pluggable memory again
      4. Exit if memory-notifier-error-inject.ko is not available
      5. Offline 10% of hot-pluggable memory in preparation for testing
      6. Test memory hot-add error handling by injecting notifier errors
      7. Online all hot-pluggable memory in preparation for testing
      8. Test memory hot-remove error handling by injecting notifier errors
      Signed-off-by: NAkinobu Mita <akinobu.mita@gmail.com>
      Suggested-by: NAndrew Morton <akpm@linux-foundation.org>
      Cc: Pavel Machek <pavel@ucw.cz>
      Cc: "Rafael J. Wysocki" <rjw@sisk.pl>
      Cc: Greg KH <greg@kroah.com>
      Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
      Cc: Paul Mackerras <paulus@samba.org>
      Cc: Michael Ellerman <michael@ellerman.id.au>
      Cc: Dave Jones <davej@redhat.com>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      d89dffa9
    • S
      ktest: Allow perl regex expressions in conditional statements · 8fddbe9b
      Steven Rostedt 提交于
      Add '=~' and '!~' to the list of allowed conditionals for DEFAULT and
      TEST_START section if statements.
      
      ie.
      
       TEST_START IF TEST =~ .*test$
      Signed-off-by: NSteven Rostedt <rostedt@goodmis.org>
      8fddbe9b
    • S
      ktest: Ignore errors it tests if IGNORE_ERRORS is set · 9b1d367d
      Steven Rostedt 提交于
      The option IGNORE_ERRORS is used to allow a test to succeed even if a
      warning appears from the kernel. Sometimes kernels will produce warnings
      that are not associated with a test, and the user wants to test
      something else.
      
      The IGNORE_ERRORS works for boot up, but was not preventing test runs to
      succeed if the kernel produced a warning.
      Signed-off-by: NSteven Rostedt <rostedt@goodmis.org>
      9b1d367d
  3. 21 7月, 2012 1 次提交
  4. 20 7月, 2012 7 次提交
    • S
      ktest: Add check for bug or panic during reboot · 8a80c727
      Steven Rostedt 提交于
      Usually the target is booted into a dependable kernel when a test
      starts. The test will install the test kernel and reboot the box. But
      there may be a time that the kernel is running an unreliable kernel and
      the reboot may crash.
      
      Have ktest detect crashes on a reboot and force a power-cycle instead.
      
      This can usually happen if a test kernel was installed to run manual
      tests, but the user forgot to reboot to the known good kernel.
      Signed-off-by: NSteven Rostedt <rostedt@goodmis.org>
      8a80c727
    • S
      ktest: Add MAX_MONITOR_WAIT option · 407b95b7
      Steven Rostedt 提交于
      If the console is constantly outputting content, this can cause ktest
      to get stuck waiting on the monitor to settle down.
      
      The option MAX_MONITOR_WAIT is the maximum time (in seconds) for ktest
      to wait for the console to flush.
      Signed-off-by: NSteven Rostedt <rostedt@goodmis.org>
      407b95b7
    • S
      ktest: Fix config bisect with how make oldnoconfig works · cf79fab6
      Steven Rostedt 提交于
      With a name like 'oldnoconfig' one may think that the config generated
      would disable all configs that were not defined (selecting "no" for all
      options). But this is not the case. It selects the default. If a config
      has a 'default y', then it is added if not specified.
      
      This broke the config bisect, because options not specified by a config
      will just use the default, where it expected to turn off. This caused an
      option to be enabled that disabled an option that would break the build.
      The end result was that we never found the bad config at the end of the
      test.
      
      Instead of using 'make oldnoconfig', ktest now builds the options it
      expects enabled and disabled. When it turns off an option, it will no
      longer remove it, but actually set it to:
      
       # CONFIG_FOO is not set.
      Signed-off-by: NSteven Rostedt <rostedt@goodmis.org>
      cf79fab6
    • S
      ktest: Add CONFIG_BISECT_CHECK option · b0918612
      Steven Rostedt 提交于
      The config-bisect can take a bad config and bisect it down to find out
      what config actually breaks the config. But as all tests will apply a
      minconfig (defined by a user) to apply before booting, it is possible
      that the minconfig could actually make the bad config work (minconfigs
      can disable configs). The end result is that the config bisect test will
      not find a config that breaks. This can be rather frustrating to the
      user.
      
      The CONFIG_BISECT_CHECK option, when set to 1, will make sure that the
      bad config (with the minconfig applied) still fails before trying to
      bisect.
      
      And yes, I did get burned by this.
      Signed-off-by: NSteven Rostedt <rostedt@goodmis.org>
      b0918612
    • S
      ktest: Add PRE_INSTALL option · e5c2ec11
      Steven Rostedt 提交于
      Add the PRE_INSTALL option that will allow a user to specify a shell
      command to be executed before the install operation executes.
      Signed-off-by: NSteven Rostedt <rostedt@goodmis.org>
      e5c2ec11
    • S
      ktest: Add PRE/POST_KTEST and TEST options · 921ed4c7
      Steven Rostedt 提交于
      In order to let the user add commands before and after ktest runs, the
      PRE_KTEST and POST_KTEST options are defined. They hold shell commands
      that will execute befor ktest runs its first test, as well as when it
      completed its last test.
      
      The PRE_TEST and POST_TEST will be run befor and after (respectively)
      for a given test. They can either be global (done for all tests) or
      defined by a single test.
      Signed-off-by: NSteven Rostedt <rostedt@goodmis.org>
      921ed4c7
    • S
      ktest: Remove commented exit · 958d8435
      Steven Rostedt 提交于
      A debug 'exit' was left in ktest.pl. Remove it.
      Signed-off-by: NSteven Rostedt <rostedt@goodmis.org>
      958d8435
  5. 01 6月, 2012 3 次提交
    • C
      syscalls, x86: add __NR_kcmp syscall · d97b46a6
      Cyrill Gorcunov 提交于
      While doing the checkpoint-restore in the user space one need to determine
      whether various kernel objects (like mm_struct-s of file_struct-s) are
      shared between tasks and restore this state.
      
      The 2nd step can be solved by using appropriate CLONE_ flags and the
      unshare syscall, while there's currently no ways for solving the 1st one.
      
      One of the ways for checking whether two tasks share e.g.  mm_struct is to
      provide some mm_struct ID of a task to its proc file, but showing such
      info considered to be not that good for security reasons.
      
      Thus after some debates we end up in conclusion that using that named
      'comparison' syscall might be the best candidate.  So here is it --
      __NR_kcmp.
      
      It takes up to 5 arguments - the pids of the two tasks (which
      characteristics should be compared), the comparison type and (in case of
      comparison of files) two file descriptors.
      
      Lookups for pids are done in the caller's PID namespace only.
      
      At moment only x86 is supported and tested.
      
      [akpm@linux-foundation.org: fix up selftests, warnings]
      [akpm@linux-foundation.org: include errno.h]
      [akpm@linux-foundation.org: tweak comment text]
      Signed-off-by: NCyrill Gorcunov <gorcunov@openvz.org>
      Acked-by: N"Eric W. Biederman" <ebiederm@xmission.com>
      Cc: Pavel Emelyanov <xemul@parallels.com>
      Cc: Andrey Vagin <avagin@openvz.org>
      Cc: KOSAKI Motohiro <kosaki.motohiro@gmail.com>
      Cc: Ingo Molnar <mingo@elte.hu>
      Cc: H. Peter Anvin <hpa@zytor.com>
      Cc: Thomas Gleixner <tglx@linutronix.de>
      Cc: Glauber Costa <glommer@parallels.com>
      Cc: Andi Kleen <andi@firstfloor.org>
      Cc: Tejun Heo <tj@kernel.org>
      Cc: Matt Helsley <matthltc@us.ibm.com>
      Cc: Pekka Enberg <penberg@kernel.org>
      Cc: Eric Dumazet <eric.dumazet@gmail.com>
      Cc: Vasiliy Kulikov <segoon@openwall.com>
      Cc: Alexey Dobriyan <adobriyan@gmail.com>
      Cc: Valdis.Kletnieks@vt.edu
      Cc: Michal Marek <mmarek@suse.cz>
      Cc: Frederic Weisbecker <fweisbec@gmail.com>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      d97b46a6
    • D
      tools/selftests: add mq_perf_tests · 7820b071
      Doug Ledford 提交于
      Add the mq_perf_tests tool I used when creating my mq performance patch.
      Also add a local .gitignore to keep the binaries from showing up in git
      status output.
      
      [akpm@linux-foundation.org: checkpatch fixes]
      Signed-off-by: NDoug Ledford <dledford@redhat.com>
      Cc: Stephen Rothwell <sfr@canb.auug.org.au>
      Cc: Manfred Spraul <manfred@colorfullife.com>
      Cc: Frederic Weisbecker <fweisbec@gmail.com>
      Acked-by: NKOSAKI Motohiro <kosaki.motohiro@jp.fujitsu.com>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      7820b071
    • D
      selftests: add mq_open_tests · 50069a58
      Doug Ledford 提交于
      Add a directory to house POSIX message queue subsystem specific tests.
      Add first test which checks the operation of mq_open() under various
      corner conditions.
      Signed-off-by: NDoug Ledford <dledford@redhat.com>
      Cc: KOSAKI Motohiro <kosaki.motohiro@jp.fujitsu.com>
      Cc: Doug Ledford <dledford@redhat.com>
      Cc: Joe Korty <joe.korty@ccur.com>
      Cc: Amerigo Wang <amwang@redhat.com>
      Cc: Serge E. Hallyn <serue@us.ibm.com>
      Cc: Jiri Slaby <jslaby@suse.cz>
      Cc: Manfred Spraul <manfred@colorfullife.com>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      50069a58
  6. 23 5月, 2012 1 次提交
  7. 22 5月, 2012 7 次提交
  8. 19 5月, 2012 1 次提交
    • S
      ktest: Fix kernelrevision with POST_BUILD · 683a3e64
      Steven Rostedt 提交于
      The PRE_BUILD and POST_BUILD options of ktest are added to allow the
      user to add temporary patch to the system and remove it on builds. This
      is sometimes use to take a change from another git branch and add it to
      a series without the fix so that this series can be tested, when an
      unrelated bug exists in the series.
      
      The problem comes when a tagged commit is being used. For example, if
      v3.2 is being tested, and we add a patch to it, the kernelrelease for
      that commit will be 3.2.0+, but without the patch the version will be
      3.2.0. This can cause problems when the kernelrelease is determined for
      creating the /lib/modules directory. The kernel booting has the '+' but
      the module directory will not, and the modules will be missing for that
      boot, and may not allow the kernel to succeed.
      
      The fix is to put the creation of the kernelrelease in the POST_BUILD
      logic, before it applies the POST_BUILD operation. The POST_BUILD is
      where the patch may be removed, removing the '+' from the kernelrelease.
      
      The calculation of the kernelrelease will also stay in its current
      location but will be ignored if it was already calculated previously.
      Signed-off-by: NSteven Rostedt <rostedt@goodmis.org>
      683a3e64
  9. 01 5月, 2012 2 次提交
  10. 29 3月, 2012 3 次提交
  11. 21 3月, 2012 5 次提交
    • S
      ktest: Allow a test to override REBOOT_ON_SUCCESS · 648a182c
      Steven Rostedt 提交于
      The option REBOOT_ON_SUCCESS is global, and will have the machine reboot
      the the box if all tests are successful. But a test may not want the
      machine to reboot, and perhaps have the kernel it loaded be used to
      install the next kernel. Or the last test may set up a kernel that the
      user may want to look at. In this case, the user could have the global
      option REBOOT_ON_SUCCESS be true, but if a test is defined to run at the
      end, that test can override the global option and keep the kernel it
      installed for the user to log in with.
      Signed-off-by: NSteven Rostedt <rostedt@goodmis.org>
      648a182c
    • S
      ktest: Fix SWITCH_TO_GOOD to also reboot the machine · 769df641
      Steven Rostedt 提交于
      When the option SWITCH_TO_GOOD is set, it will be called when the system
      needs to reboot to the good server. But currently, this keeps the reboot
      from happening. The SWITCH_TO_GOOD is just a way to get to a new kernel,
      it may not mean to not reboot.
      Signed-off-by: NSteven Rostedt <rostedt@goodmis.org>
      769df641
    • S
      ktest: Add SCP_TO_TARGET_INSTALL option · 02ad2617
      Steven Rostedt 提交于
      Currently the option used to scp both the modules to the target as well
      as the kernel image are the same (SCP_TO_TARGET). But some embedded
      boards may require them to be different. The modules may need to be put
      directly on the board, but the kernel image may need to go to a
      tftpserver.
      
      Add the option SCP_TO_TARGET_INSTALL that will allow the user to change
      the config so that they may have the modules and image got to different
      machines.
      Signed-off-by: NSteven Rostedt <rostedt@goodmis.org>
      02ad2617
    • S
      ktest: Add warning when bugs are ignored · 6ca996cc
      Steven Rostedt 提交于
      When IGNORE_ERRORS is set, ktest will not fail a test if a backtrace
      is detected. But this can be an issue if the user added it in the
      config but forgot to remove it. They may be left wondering why their
      test did not fail, or even worse, why their bisect gave the wrong
      commit.
      
      Add a warning in the output if IGNORE_WARNINGS is set, and ktest detects
      a kernel error.
      Signed-off-by: NSteven Rostedt <rostedt@goodmis.org>
      6ca996cc
    • S
      ktest: Add INSTALL_MOD_STRIP=1 when installing modules · 627977d8
      Steven Rostedt 提交于
      To keep the modules from bloating the target's filesystem
      strip them during the install.
      Signed-off-by: NSteven Rostedt <rostedt@goodmis.org>
      627977d8
  12. 28 2月, 2012 1 次提交
    • S
      ktest: Fix make_min_config test when build fails · bf1c95ab
      Steven Rostedt 提交于
      The make_min_config does not take into account when the build fails,
      resulting in a invalid MIN_CONFIG .config file. When the build fails,
      it is ignored and the boot test is executed, using the previous built
      kernel. The configs that should be tested are not tested and they may
      be added or removed depending on the result of the last kernel that
      succeeded to be built.
      
      If the build fails, mark the current config as a failure and the
      configs that were disabled may still be needed.
      Signed-off-by: NSteven Rostedt <rostedt@goodmis.org>
      bf1c95ab
  13. 21 2月, 2012 1 次提交
  14. 13 1月, 2012 2 次提交
  15. 05 1月, 2012 1 次提交