Loading Documentation/ABI/testing/debugfs-pktcdvd +3 −3 Original line number Diff line number Diff line What: /debug/pktcdvd/pktcdvd[0-7] What: /sys/kernel/debug/pktcdvd/pktcdvd[0-7] Date: Oct. 2006 KernelVersion: 2.6.20 Contact: Thomas Maier <balagi@justmail.de> Loading @@ -10,10 +10,10 @@ debugfs interface The pktcdvd module (packet writing driver) creates these files in debugfs: /debug/pktcdvd/pktcdvd[0-7]/ /sys/kernel/debug/pktcdvd/pktcdvd[0-7]/ info (0444) Lots of driver statistics and infos. Example: ------- cat /debug/pktcdvd/pktcdvd0/info cat /sys/kernel/debug/pktcdvd/pktcdvd0/info Documentation/DocBook/Makefile +8 −3 Original line number Diff line number Diff line Loading @@ -31,7 +31,7 @@ PS_METHOD = $(prefer-db2x) ### # The targets that may be used. PHONY += xmldocs sgmldocs psdocs pdfdocs htmldocs mandocs installmandocs PHONY += xmldocs sgmldocs psdocs pdfdocs htmldocs mandocs installmandocs cleandocs BOOKS := $(addprefix $(obj)/,$(DOCBOOKS)) xmldocs: $(BOOKS) Loading Loading @@ -213,11 +213,12 @@ silent_gen_xml = : dochelp: @echo ' Linux kernel internal documentation in different formats:' @echo ' htmldocs - HTML' @echo ' installmandocs - install man pages generated by mandocs' @echo ' mandocs - man pages' @echo ' pdfdocs - PDF' @echo ' psdocs - Postscript' @echo ' xmldocs - XML DocBook' @echo ' mandocs - man pages' @echo ' installmandocs - install man pages generated by mandocs' @echo ' cleandocs - clean all generated DocBook files' ### # Temporary files left by various tools Loading @@ -235,6 +236,10 @@ clean-files := $(DOCBOOKS) \ clean-dirs := $(patsubst %.xml,%,$(DOCBOOKS)) man cleandocs: $(Q)rm -f $(call objectify, $(clean-files)) $(Q)rm -rf $(call objectify, $(clean-dirs)) # Declare the contents of the .PHONY variable as phony. We keep that # information in a variable se we can use it in if_changed and friends. Loading Documentation/block/biodoc.txt +6 −13 Original line number Diff line number Diff line Loading @@ -1040,23 +1040,21 @@ Front merges are handled by the binary trees in AS and deadline schedulers. iii. Plugging the queue to batch requests in anticipation of opportunities for merge/sort optimizations This is just the same as in 2.4 so far, though per-device unplugging support is anticipated for 2.5. Also with a priority-based i/o scheduler, such decisions could be based on request priorities. Plugging is an approach that the current i/o scheduling algorithm resorts to so that it collects up enough requests in the queue to be able to take advantage of the sorting/merging logic in the elevator. If the queue is empty when a request comes in, then it plugs the request queue (sort of like plugging the bottom of a vessel to get fluid to build up) (sort of like plugging the bath tub of a vessel to get fluid to build up) till it fills up with a few more requests, before starting to service the requests. This provides an opportunity to merge/sort the requests before passing them down to the device. There are various conditions when the queue is unplugged (to open up the flow again), either through a scheduled task or could be on demand. For example wait_on_buffer sets the unplugging going (by running tq_disk) so the read gets satisfied soon. So in the read case, the queue gets explicitly unplugged as part of waiting for completion, in fact all queues get unplugged as a side-effect. through sync_buffer() running blk_run_address_space(mapping). Or the caller can do it explicity through blk_unplug(bdev). So in the read case, the queue gets explicitly unplugged as part of waiting for completion on that buffer. For page driven IO, the address space ->sync_page() takes care of doing the blk_run_address_space(). Aside: This is kind of controversial territory, as it's not clear if plugging is Loading @@ -1067,11 +1065,6 @@ Aside: multi-page bios being queued in one shot, we may not need to wait to merge a big request from the broken up pieces coming by. Per-queue granularity unplugging (still a Todo) may help reduce some of the concerns with just a single tq_disk flush approach. Something like blk_kick_queue() to unplug a specific queue (right away ?) or optionally, all queues, is in the plan. 4.4 I/O contexts I/O contexts provide a dynamically allocated per process data area. They may be used in I/O schedulers, and in the block layer (could be used for IO statis, Loading Documentation/cgroups/cpuacct.txt +18 −0 Original line number Diff line number Diff line Loading @@ -30,3 +30,21 @@ The above steps create a new group g1 and move the current shell process (bash) into it. CPU time consumed by this bash and its children can be obtained from g1/cpuacct.usage and the same is accumulated in /cgroups/cpuacct.usage also. cpuacct.stat file lists a few statistics which further divide the CPU time obtained by the cgroup into user and system times. Currently the following statistics are supported: user: Time spent by tasks of the cgroup in user mode. system: Time spent by tasks of the cgroup in kernel mode. user and system are in USER_HZ unit. cpuacct controller uses percpu_counter interface to collect user and system times. This has two side effects: - It is theoretically possible to see wrong values for user and system times. This is because percpu_counter_read() on 32bit systems isn't safe against concurrent writes. - It is possible to see slightly outdated values for user and system times due to the batch processing nature of percpu_counter. Documentation/cgroups/memory.txt +32 −23 Original line number Diff line number Diff line Loading @@ -6,15 +6,14 @@ used here with the memory controller that is used in hardware. Salient features a. Enable control of both RSS (mapped) and Page Cache (unmapped) pages a. Enable control of Anonymous, Page Cache (mapped and unmapped) and Swap Cache memory pages. b. The infrastructure allows easy addition of other types of memory to control c. Provides *zero overhead* for non memory controller users d. Provides a double LRU: global memory pressure causes reclaim from the global LRU; a cgroup on hitting a limit, reclaims from the per cgroup LRU NOTE: Swap Cache (unmapped) is not accounted now. Benefits and Purpose of the memory controller The memory controller isolates the memory behaviour of a group of tasks Loading Loading @@ -290,18 +289,23 @@ will be charged as a new owner of it. moved to the parent. If you want to avoid that, force_empty will be useful. 5.2 stat file memory.stat file includes following statistics (now) cache - # of pages from page-cache and shmem. rss - # of pages from anonymous memory. pgpgin - # of event of charging pgpgout - # of event of uncharging active_anon - # of pages on active lru of anon, shmem. inactive_anon - # of pages on active lru of anon, shmem active_file - # of pages on active lru of file-cache inactive_file - # of pages on inactive lru of file cache unevictable - # of pages cannot be reclaimed.(mlocked etc) Below is depend on CONFIG_DEBUG_VM. memory.stat file includes following statistics cache - # of bytes of page cache memory. rss - # of bytes of anonymous and swap cache memory. pgpgin - # of pages paged in (equivalent to # of charging events). pgpgout - # of pages paged out (equivalent to # of uncharging events). active_anon - # of bytes of anonymous and swap cache memory on active lru list. inactive_anon - # of bytes of anonymous memory and swap cache memory on inactive lru list. active_file - # of bytes of file-backed memory on active lru list. inactive_file - # of bytes of file-backed memory on inactive lru list. unevictable - # of bytes of memory that cannot be reclaimed (mlocked etc). The following additional stats are dependent on CONFIG_DEBUG_VM. inactive_ratio - VM internal parameter. (see mm/page_alloc.c) recent_rotated_anon - VM internal parameter. (see mm/vmscan.c) recent_rotated_file - VM internal parameter. (see mm/vmscan.c) Loading @@ -313,11 +317,16 @@ will be charged as a new owner of it. recent_scanned means recent # of scans to lru. showing for better debug please see the code for meanings. Note: Only anonymous and swap cache memory is listed as part of 'rss' stat. This should not be confused with the true 'resident set size' or the amount of physical memory used by the cgroup. Per-cgroup rss accounting is not done yet. 5.3 swappiness Similar to /proc/sys/vm/swappiness, but affecting a hierarchy of groups only. Following cgroup's swapiness can't be changed. Following cgroups' swapiness can't be changed. - root cgroup (uses /proc/sys/vm/swappiness). - a cgroup which uses hierarchy and it has child cgroup. - a cgroup which uses hierarchy and not the root of hierarchy. Loading Loading
Documentation/ABI/testing/debugfs-pktcdvd +3 −3 Original line number Diff line number Diff line What: /debug/pktcdvd/pktcdvd[0-7] What: /sys/kernel/debug/pktcdvd/pktcdvd[0-7] Date: Oct. 2006 KernelVersion: 2.6.20 Contact: Thomas Maier <balagi@justmail.de> Loading @@ -10,10 +10,10 @@ debugfs interface The pktcdvd module (packet writing driver) creates these files in debugfs: /debug/pktcdvd/pktcdvd[0-7]/ /sys/kernel/debug/pktcdvd/pktcdvd[0-7]/ info (0444) Lots of driver statistics and infos. Example: ------- cat /debug/pktcdvd/pktcdvd0/info cat /sys/kernel/debug/pktcdvd/pktcdvd0/info
Documentation/DocBook/Makefile +8 −3 Original line number Diff line number Diff line Loading @@ -31,7 +31,7 @@ PS_METHOD = $(prefer-db2x) ### # The targets that may be used. PHONY += xmldocs sgmldocs psdocs pdfdocs htmldocs mandocs installmandocs PHONY += xmldocs sgmldocs psdocs pdfdocs htmldocs mandocs installmandocs cleandocs BOOKS := $(addprefix $(obj)/,$(DOCBOOKS)) xmldocs: $(BOOKS) Loading Loading @@ -213,11 +213,12 @@ silent_gen_xml = : dochelp: @echo ' Linux kernel internal documentation in different formats:' @echo ' htmldocs - HTML' @echo ' installmandocs - install man pages generated by mandocs' @echo ' mandocs - man pages' @echo ' pdfdocs - PDF' @echo ' psdocs - Postscript' @echo ' xmldocs - XML DocBook' @echo ' mandocs - man pages' @echo ' installmandocs - install man pages generated by mandocs' @echo ' cleandocs - clean all generated DocBook files' ### # Temporary files left by various tools Loading @@ -235,6 +236,10 @@ clean-files := $(DOCBOOKS) \ clean-dirs := $(patsubst %.xml,%,$(DOCBOOKS)) man cleandocs: $(Q)rm -f $(call objectify, $(clean-files)) $(Q)rm -rf $(call objectify, $(clean-dirs)) # Declare the contents of the .PHONY variable as phony. We keep that # information in a variable se we can use it in if_changed and friends. Loading
Documentation/block/biodoc.txt +6 −13 Original line number Diff line number Diff line Loading @@ -1040,23 +1040,21 @@ Front merges are handled by the binary trees in AS and deadline schedulers. iii. Plugging the queue to batch requests in anticipation of opportunities for merge/sort optimizations This is just the same as in 2.4 so far, though per-device unplugging support is anticipated for 2.5. Also with a priority-based i/o scheduler, such decisions could be based on request priorities. Plugging is an approach that the current i/o scheduling algorithm resorts to so that it collects up enough requests in the queue to be able to take advantage of the sorting/merging logic in the elevator. If the queue is empty when a request comes in, then it plugs the request queue (sort of like plugging the bottom of a vessel to get fluid to build up) (sort of like plugging the bath tub of a vessel to get fluid to build up) till it fills up with a few more requests, before starting to service the requests. This provides an opportunity to merge/sort the requests before passing them down to the device. There are various conditions when the queue is unplugged (to open up the flow again), either through a scheduled task or could be on demand. For example wait_on_buffer sets the unplugging going (by running tq_disk) so the read gets satisfied soon. So in the read case, the queue gets explicitly unplugged as part of waiting for completion, in fact all queues get unplugged as a side-effect. through sync_buffer() running blk_run_address_space(mapping). Or the caller can do it explicity through blk_unplug(bdev). So in the read case, the queue gets explicitly unplugged as part of waiting for completion on that buffer. For page driven IO, the address space ->sync_page() takes care of doing the blk_run_address_space(). Aside: This is kind of controversial territory, as it's not clear if plugging is Loading @@ -1067,11 +1065,6 @@ Aside: multi-page bios being queued in one shot, we may not need to wait to merge a big request from the broken up pieces coming by. Per-queue granularity unplugging (still a Todo) may help reduce some of the concerns with just a single tq_disk flush approach. Something like blk_kick_queue() to unplug a specific queue (right away ?) or optionally, all queues, is in the plan. 4.4 I/O contexts I/O contexts provide a dynamically allocated per process data area. They may be used in I/O schedulers, and in the block layer (could be used for IO statis, Loading
Documentation/cgroups/cpuacct.txt +18 −0 Original line number Diff line number Diff line Loading @@ -30,3 +30,21 @@ The above steps create a new group g1 and move the current shell process (bash) into it. CPU time consumed by this bash and its children can be obtained from g1/cpuacct.usage and the same is accumulated in /cgroups/cpuacct.usage also. cpuacct.stat file lists a few statistics which further divide the CPU time obtained by the cgroup into user and system times. Currently the following statistics are supported: user: Time spent by tasks of the cgroup in user mode. system: Time spent by tasks of the cgroup in kernel mode. user and system are in USER_HZ unit. cpuacct controller uses percpu_counter interface to collect user and system times. This has two side effects: - It is theoretically possible to see wrong values for user and system times. This is because percpu_counter_read() on 32bit systems isn't safe against concurrent writes. - It is possible to see slightly outdated values for user and system times due to the batch processing nature of percpu_counter.
Documentation/cgroups/memory.txt +32 −23 Original line number Diff line number Diff line Loading @@ -6,15 +6,14 @@ used here with the memory controller that is used in hardware. Salient features a. Enable control of both RSS (mapped) and Page Cache (unmapped) pages a. Enable control of Anonymous, Page Cache (mapped and unmapped) and Swap Cache memory pages. b. The infrastructure allows easy addition of other types of memory to control c. Provides *zero overhead* for non memory controller users d. Provides a double LRU: global memory pressure causes reclaim from the global LRU; a cgroup on hitting a limit, reclaims from the per cgroup LRU NOTE: Swap Cache (unmapped) is not accounted now. Benefits and Purpose of the memory controller The memory controller isolates the memory behaviour of a group of tasks Loading Loading @@ -290,18 +289,23 @@ will be charged as a new owner of it. moved to the parent. If you want to avoid that, force_empty will be useful. 5.2 stat file memory.stat file includes following statistics (now) cache - # of pages from page-cache and shmem. rss - # of pages from anonymous memory. pgpgin - # of event of charging pgpgout - # of event of uncharging active_anon - # of pages on active lru of anon, shmem. inactive_anon - # of pages on active lru of anon, shmem active_file - # of pages on active lru of file-cache inactive_file - # of pages on inactive lru of file cache unevictable - # of pages cannot be reclaimed.(mlocked etc) Below is depend on CONFIG_DEBUG_VM. memory.stat file includes following statistics cache - # of bytes of page cache memory. rss - # of bytes of anonymous and swap cache memory. pgpgin - # of pages paged in (equivalent to # of charging events). pgpgout - # of pages paged out (equivalent to # of uncharging events). active_anon - # of bytes of anonymous and swap cache memory on active lru list. inactive_anon - # of bytes of anonymous memory and swap cache memory on inactive lru list. active_file - # of bytes of file-backed memory on active lru list. inactive_file - # of bytes of file-backed memory on inactive lru list. unevictable - # of bytes of memory that cannot be reclaimed (mlocked etc). The following additional stats are dependent on CONFIG_DEBUG_VM. inactive_ratio - VM internal parameter. (see mm/page_alloc.c) recent_rotated_anon - VM internal parameter. (see mm/vmscan.c) recent_rotated_file - VM internal parameter. (see mm/vmscan.c) Loading @@ -313,11 +317,16 @@ will be charged as a new owner of it. recent_scanned means recent # of scans to lru. showing for better debug please see the code for meanings. Note: Only anonymous and swap cache memory is listed as part of 'rss' stat. This should not be confused with the true 'resident set size' or the amount of physical memory used by the cgroup. Per-cgroup rss accounting is not done yet. 5.3 swappiness Similar to /proc/sys/vm/swappiness, but affecting a hierarchy of groups only. Following cgroup's swapiness can't be changed. Following cgroups' swapiness can't be changed. - root cgroup (uses /proc/sys/vm/swappiness). - a cgroup which uses hierarchy and it has child cgroup. - a cgroup which uses hierarchy and not the root of hierarchy. Loading