test-iosched.txt 1.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940
  1. Test IO scheduler
  2. ==================
  3. The test scheduler allows testing a block device by dispatching
  4. specific requests according to the test case and declare PASS/FAIL
  5. according to the requests completion error code.
  6. The test IO scheduler implements the no-op scheduler operations, and uses
  7. them in order to dispatch the non-test requests when no test is running.
  8. This will allow to keep a normal FS operation in parallel to the test
  9. capability.
  10. The test IO scheduler keeps two different queues, one for real-world requests
  11. (inserted by the FS) and the other for the test requests.
  12. The test IO scheduler chooses the queue for dispatch requests according to the
  13. test state (IDLE/RUNNING).
  14. the test IO scheduler is compiled by default as a dynamic module and enabled
  15. only if CONFIG_DEBUG_FS is defined.
  16. Each block device test utility that would like to use the test-iosched test
  17. services, should register as a blk_dev_test_type and supply an init and exit
  18. callbacks. Those callback are called upon selection (or removal) of the
  19. test-iosched as the active scheduler. From that point the block device test
  20. can start a test and supply its own callbacks for preparing, running, result
  21. checking and cleanup of the test.
  22. Each test is exposed via debugfs and can be triggered by writing to
  23. the debugfs file. In order to add a new test one should expose a new debugfs
  24. file for the new test.
  25. Selecting IO schedulers
  26. -----------------------
  27. Refer to Documentation/block/switching-sched.txt for information on
  28. selecting an io scheduler on a per-device basis.
  29. May 10 2012, maya Erez <merez@codeaurora.org>