aboutsummaryrefslogtreecommitdiffstats
path: root/.gitignore
Commit message (Expand)AuthorAge
* Fix and clean top .gitignoreEduard - Gabriel Munteanu2008-06-29
* Unignore vmlinux.lds.h from Git.Eduard - Gabriel Munteanu2008-06-17
* .gitignore: match ncscope.outJike Song2008-05-25
* Remove *.rej pattern from .gitignoreS.Çağlar Onur2008-05-11
* Update .gitignore to include include/linux/bounds.hTheodore Ts'o2008-04-30
* Update .gitignore filesMatthew Wilcox2008-04-25
* .gitignore: ignore emacs backup and temporary files.Chris Dearman2008-03-04
* kbuild: ignore *.order filesSam Ravnborg2008-01-28
* x86: update .gitignore entriesThomas Gleixner2007-10-19
* .gitignore update for x86 archDenis V. Lunev2007-10-17
* .gitignore updateAlexey Dobriyan2007-07-31
* Un-ignore "vmlinux.lds.S" in .gitignoreLinus Torvalds2007-07-20
* .gitignore updateAlexey Dobriyan2007-07-16
* [PATCH] Add cscope generated files to .gitignoreTobias Klauser2006-12-22
* [PATCH] .gitignore: add miscellaneous filesFranck Bui-Huu2006-11-13
* [PATCH] Add symbol type files (*.symtypes) to .gitignoreJosh Triplett2006-09-16
* [PATCH] Add mixed source and assembly listings (*.lst) to .gitignoreJosh Triplett2006-09-16
* [PATCH] Add preprocessed files (*.i) to .gitignoreJosh Triplett2006-09-16
* gitignore: gitignore quilt's filesQi Yong2006-08-01
* kbuild: .gitignore utsrelease.hSam Ravnborg2006-08-01
* add "tags" to .gitignoreUwe Zeisberger2006-03-21
* V4L/DVB (3300b): .gitignore should also ignore StGit generated dirsMauro Carvalho Chehab2006-02-26
* gitignore: ignore shared objectsBrian Gerst2006-01-06
* gitignore: asm-offsets.hBrian Gerst2006-01-01
* Add some basic .gitignore filesLinus Torvalds2005-10-18
ncrease. Yes, these are 32 bit unsigned numbers, and on a very busy or long-lived system they may wrap. Applications should be prepared to deal with that; unless your observations are measured in large numbers of minutes or hours, they should not wrap twice before you notice them. Each set of stats only applies to the indicated device; if you want system-wide stats you'll have to find all the devices and sum them all up. Field 1 -- # of reads issued This is the total number of reads completed successfully. Field 2 -- # of reads merged, field 6 -- # of writes merged Reads and writes which are adjacent to each other may be merged for efficiency. Thus two 4K reads may become one 8K read before it is ultimately handed to the disk, and so it will be counted (and queued) as only one I/O. This field lets you know how often this was done. Field 3 -- # of sectors read This is the total number of sectors read successfully. Field 4 -- # of milliseconds spent reading This is the total number of milliseconds spent by all reads (as measured from __make_request() to end_that_request_last()). Field 5 -- # of writes completed This is the total number of writes completed successfully. Field 7 -- # of sectors written This is the total number of sectors written successfully. Field 8 -- # of milliseconds spent writing This is the total number of milliseconds spent by all writes (as measured from __make_request() to end_that_request_last()). Field 9 -- # of I/Os currently in progress The only field that should go to zero. Incremented as requests are given to appropriate request_queue_t and decremented as they finish. Field 10 -- # of milliseconds spent doing I/Os This field is increases so long as field 9 is nonzero. Field 11 -- weighted # of milliseconds spent doing I/Os This field is incremented at each I/O start, I/O completion, I/O merge, or read of these stats by the number of I/Os in progress (field 9) times the number of milliseconds spent doing I/O since the last update of this field. This can provide an easy measure of both I/O completion time and the backlog that may be accumulating. To avoid introducing performance bottlenecks, no locks are held while modifying these counters. This implies that minor inaccuracies may be introduced when changes collide, so (for instance) adding up all the read I/Os issued per partition should equal those made to the disks ... but due to the lack of locking it may only be very close. In 2.6, there are counters for each cpu, which made the lack of locking almost a non-issue. When the statistics are read, the per-cpu counters are summed (possibly overflowing the unsigned 32-bit variable they are summed to) and the result given to the user. There is no convenient user interface for accessing the per-cpu counters themselves. Disks vs Partitions ------------------- There were significant changes between 2.4 and 2.6 in the I/O subsystem. As a result, some statistic information disappeared. The translation from a disk address relative to a partition to the disk address relative to the host disk happens much earlier. All merges and timings now happen at the disk level rather than at both the disk and partition level as in 2.4. Consequently, you'll see a different statistics output on 2.6 for partitions from that for disks. There are only *four* fields available for partitions on 2.6 machines. This is reflected in the examples above. Field 1 -- # of reads issued This is the total number of reads issued to this partition. Field 2 -- # of sectors read This is the total number of sectors requested to be read from this partition. Field 3 -- # of writes issued This is the total number of writes issued to this partition. Field 4 -- # of sectors written This is the total number of sectors requested to be written to this partition. Note that since the address is translated to a disk-relative one, and no record of the partition-relative address is kept, the subsequent success or failure of the read cannot be attributed to the partition. In other words, the number of reads for partitions is counted slightly before time of queuing for partitions, and at completion for whole disks. This is a subtle distinction that is probably uninteresting for most cases. Additional notes ---------------- In 2.6, sysfs is not mounted by default. If your distribution of Linux hasn't added it already, here's the line you'll want to add to your /etc/fstab: none /sys sysfs defaults 0 0 In 2.6, all disk statistics were removed from /proc/stat. In 2.4, they appear in both /proc/partitions and /proc/stat, although the ones in /proc/stat take a very different format from those in /proc/partitions (see proc(5), if your system has it.) -- ricklind@us.ibm.com