Loading Documentation/ABI/testing/sysfs-power +16 −1 Original line number Diff line number Diff line Loading @@ -21,7 +21,7 @@ Description: these states. What: /sys/power/disk Date: August 2006 Date: September 2006 Contact: Rafael J. Wysocki <rjw@sisk.pl> Description: The /sys/power/disk file controls the operating mode of the Loading @@ -39,6 +39,19 @@ Description: 'reboot' - the memory image will be saved by the kernel and the system will be rebooted. Additionally, /sys/power/disk can be used to turn on one of the two testing modes of the suspend-to-disk mechanism: 'testproc' or 'test'. If the suspend-to-disk mechanism is in the 'testproc' mode, writing 'disk' to /sys/power/state will cause the kernel to disable nonboot CPUs and freeze tasks, wait for 5 seconds, unfreeze tasks and enable nonboot CPUs. If it is in the 'test' mode, writing 'disk' to /sys/power/state will cause the kernel to disable nonboot CPUs and freeze tasks, shrink memory, suspend devices, wait for 5 seconds, resume devices, unfreeze tasks and enable nonboot CPUs. Then, we are able to look in the log messages and work out, for example, which code is being slow and which device drivers are misbehaving. The suspend-to-disk method may be chosen by writing to this file one of the accepted strings: Loading @@ -46,6 +59,8 @@ Description: 'platform' 'shutdown' 'reboot' 'testproc' 'test' It will only change to 'firmware' or 'platform' if the system supports that. Loading Documentation/DocBook/Makefile +1 −1 Original line number Diff line number Diff line Loading @@ -9,7 +9,7 @@ DOCBOOKS := wanbook.xml z8530book.xml mcabook.xml videobook.xml \ kernel-hacking.xml kernel-locking.xml deviceiobook.xml \ procfs-guide.xml writing_usb_driver.xml \ kernel-api.xml journal-api.xml lsm.xml usb.xml \ kernel-api.xml filesystems.xml lsm.xml usb.xml \ gadget.xml libata.xml mtdnand.xml librs.xml rapidio.xml \ genericirq.xml Loading Documentation/DocBook/journal-api.tmpl→Documentation/DocBook/filesystems.tmpl +160 −92 Original line number Diff line number Diff line Loading @@ -2,37 +2,9 @@ <!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN" "http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd" []> <book id="LinuxJBDAPI"> <book id="Linux-filesystems-API"> <bookinfo> <title>The Linux Journalling API</title> <authorgroup> <author> <firstname>Roger</firstname> <surname>Gammans</surname> <affiliation> <address> <email>rgammans@computer-surgery.co.uk</email> </address> </affiliation> </author> </authorgroup> <authorgroup> <author> <firstname>Stephen</firstname> <surname>Tweedie</surname> <affiliation> <address> <email>sct@redhat.com</email> </address> </affiliation> </author> </authorgroup> <copyright> <year>2002</year> <holder>Roger Gammans</holder> </copyright> <title>Linux Filesystems API</title> <legalnotice> <para> Loading Loading @@ -66,9 +38,105 @@ <toc></toc> <chapter id="Overview"> <title>Overview</title> <chapter id="vfs"> <title>The Linux VFS</title> <sect1><title>The Filesystem types</title> !Iinclude/linux/fs.h </sect1> <sect1><title>The Directory Cache</title> !Efs/dcache.c !Iinclude/linux/dcache.h </sect1> <sect1><title>Inode Handling</title> !Efs/inode.c !Efs/bad_inode.c </sect1> <sect1><title>Registration and Superblocks</title> !Efs/super.c </sect1> <sect1><title>File Locks</title> !Efs/locks.c !Ifs/locks.c </sect1> <sect1><title>Other Functions</title> !Efs/mpage.c !Efs/namei.c !Efs/buffer.c !Efs/bio.c !Efs/seq_file.c !Efs/filesystems.c !Efs/fs-writeback.c !Efs/block_dev.c </sect1> </chapter> <chapter id="proc"> <title>The proc filesystem</title> <sect1><title>sysctl interface</title> !Ekernel/sysctl.c </sect1> <sect1><title>proc filesystem interface</title> !Ifs/proc/base.c </sect1> </chapter> <chapter id="sysfs"> <title>The Filesystem for Exporting Kernel Objects</title> !Efs/sysfs/file.c !Efs/sysfs/symlink.c !Efs/sysfs/bin.c </chapter> <chapter id="debugfs"> <title>The debugfs filesystem</title> <sect1><title>debugfs interface</title> !Efs/debugfs/inode.c !Efs/debugfs/file.c </sect1> </chapter> <chapter id="LinuxJDBAPI"> <chapterinfo> <title>The Linux Journalling API</title> <authorgroup> <author> <firstname>Roger</firstname> <surname>Gammans</surname> <affiliation> <address> <email>rgammans@computer-surgery.co.uk</email> </address> </affiliation> </author> </authorgroup> <authorgroup> <author> <firstname>Stephen</firstname> <surname>Tweedie</surname> <affiliation> <address> <email>sct@redhat.com</email> </address> </affiliation> </author> </authorgroup> <copyright> <year>2002</year> <holder>Roger Gammans</holder> </copyright> </chapterinfo> <title>The Linux Journalling API</title> <sect1> <title>Overview</title> <sect2> <title>Details</title> <para> The journalling layer is easy to use. You need to Loading Loading @@ -111,7 +179,6 @@ Now you can go ahead and start modifying the underlying filesystem. Almost. </para> <para> You still need to actually journal your filesystem changes, this Loading Loading @@ -156,7 +223,6 @@ Then at umount time , in your put_super() (2.4) or write_super() (2.5) you can then call journal_destroy() to clean up your in-core journal object. </para> <para> Unfortunately there a couple of ways the journal layer can cause a deadlock. The first thing to note is that each task can only have Loading Loading @@ -239,9 +305,9 @@ this would be useful if you needed to know when data was committed to a particular inode. </para> </sect1> </sect2> <sect1> <sect2> <title>Summary</title> <para> Using the journal is a matter of wrapping the different context changes, Loading Loading @@ -279,11 +345,11 @@ an example. } journal_destroy(my_jrnl); </programlisting> </sect1> </sect2> </chapter> </sect1> <chapter id="adt"> <sect1> <title>Data Types</title> <para> The journalling layer uses typedefs to 'hide' the concrete definitions Loading @@ -292,27 +358,27 @@ an example. Obviously the hiding is not enforced as this is 'C'. </para> <sect1><title>Structures</title> <sect2><title>Structures</title> !Iinclude/linux/jbd.h </sect2> </sect1> </chapter> <chapter id="calls"> <sect1> <title>Functions</title> <para> The functions here are split into two groups those that affect a journal as a whole, and those which are used to manage transactions </para> <sect1><title>Journal Level</title> <sect2><title>Journal Level</title> !Efs/jbd/journal.c !Ifs/jbd/recovery.c </sect1> <sect1><title>Transasction Level</title> </sect2> <sect2><title>Transasction Level</title> !Efs/jbd/transaction.c </sect2> </sect1> </chapter> <chapter> <sect1> <title>See also</title> <para> <citation> Loading @@ -328,6 +394,8 @@ an example. </ulink> </citation> </para> </sect1> </chapter> </book> Documentation/DocBook/kernel-api.tmpl +0 −60 Original line number Diff line number Diff line Loading @@ -182,66 +182,6 @@ X!Ilib/string.c </sect1> </chapter> <chapter id="vfs"> <title>The Linux VFS</title> <sect1><title>The Filesystem types</title> !Iinclude/linux/fs.h </sect1> <sect1><title>The Directory Cache</title> !Efs/dcache.c !Iinclude/linux/dcache.h </sect1> <sect1><title>Inode Handling</title> !Efs/inode.c !Efs/bad_inode.c </sect1> <sect1><title>Registration and Superblocks</title> !Efs/super.c </sect1> <sect1><title>File Locks</title> !Efs/locks.c !Ifs/locks.c </sect1> <sect1><title>Other Functions</title> !Efs/mpage.c !Efs/namei.c !Efs/buffer.c !Efs/bio.c !Efs/seq_file.c !Efs/filesystems.c !Efs/fs-writeback.c !Efs/block_dev.c </sect1> </chapter> <chapter id="proc"> <title>The proc filesystem</title> <sect1><title>sysctl interface</title> !Ekernel/sysctl.c </sect1> <sect1><title>proc filesystem interface</title> !Ifs/proc/base.c </sect1> </chapter> <chapter id="sysfs"> <title>The Filesystem for Exporting Kernel Objects</title> !Efs/sysfs/file.c !Efs/sysfs/symlink.c !Efs/sysfs/bin.c </chapter> <chapter id="debugfs"> <title>The debugfs filesystem</title> <sect1><title>debugfs interface</title> !Efs/debugfs/inode.c !Efs/debugfs/file.c </sect1> </chapter> <chapter id="relayfs"> <title>relay interface support</title> Loading Documentation/HOWTO +20 −0 Original line number Diff line number Diff line Loading @@ -395,6 +395,26 @@ bugme-janitor mailing list (every change in the bugzilla is mailed here) Managing bug reports -------------------- One of the best ways to put into practice your hacking skills is by fixing bugs reported by other people. Not only you will help to make the kernel more stable, you'll learn to fix real world problems and you will improve your skills, and other developers will be aware of your presence. Fixing bugs is one of the best ways to get merits among other developers, because not many people like wasting time fixing other people's bugs. To work in the already reported bug reports, go to http://bugzilla.kernel.org. If you want to be advised of the future bug reports, you can subscribe to the bugme-new mailing list (only new bug reports are mailed here) or to the bugme-janitor mailing list (every change in the bugzilla is mailed here) http://lists.osdl.org/mailman/listinfo/bugme-new http://lists.osdl.org/mailman/listinfo/bugme-janitors Mailing lists ------------- Loading Loading
Documentation/ABI/testing/sysfs-power +16 −1 Original line number Diff line number Diff line Loading @@ -21,7 +21,7 @@ Description: these states. What: /sys/power/disk Date: August 2006 Date: September 2006 Contact: Rafael J. Wysocki <rjw@sisk.pl> Description: The /sys/power/disk file controls the operating mode of the Loading @@ -39,6 +39,19 @@ Description: 'reboot' - the memory image will be saved by the kernel and the system will be rebooted. Additionally, /sys/power/disk can be used to turn on one of the two testing modes of the suspend-to-disk mechanism: 'testproc' or 'test'. If the suspend-to-disk mechanism is in the 'testproc' mode, writing 'disk' to /sys/power/state will cause the kernel to disable nonboot CPUs and freeze tasks, wait for 5 seconds, unfreeze tasks and enable nonboot CPUs. If it is in the 'test' mode, writing 'disk' to /sys/power/state will cause the kernel to disable nonboot CPUs and freeze tasks, shrink memory, suspend devices, wait for 5 seconds, resume devices, unfreeze tasks and enable nonboot CPUs. Then, we are able to look in the log messages and work out, for example, which code is being slow and which device drivers are misbehaving. The suspend-to-disk method may be chosen by writing to this file one of the accepted strings: Loading @@ -46,6 +59,8 @@ Description: 'platform' 'shutdown' 'reboot' 'testproc' 'test' It will only change to 'firmware' or 'platform' if the system supports that. Loading
Documentation/DocBook/Makefile +1 −1 Original line number Diff line number Diff line Loading @@ -9,7 +9,7 @@ DOCBOOKS := wanbook.xml z8530book.xml mcabook.xml videobook.xml \ kernel-hacking.xml kernel-locking.xml deviceiobook.xml \ procfs-guide.xml writing_usb_driver.xml \ kernel-api.xml journal-api.xml lsm.xml usb.xml \ kernel-api.xml filesystems.xml lsm.xml usb.xml \ gadget.xml libata.xml mtdnand.xml librs.xml rapidio.xml \ genericirq.xml Loading
Documentation/DocBook/journal-api.tmpl→Documentation/DocBook/filesystems.tmpl +160 −92 Original line number Diff line number Diff line Loading @@ -2,37 +2,9 @@ <!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN" "http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd" []> <book id="LinuxJBDAPI"> <book id="Linux-filesystems-API"> <bookinfo> <title>The Linux Journalling API</title> <authorgroup> <author> <firstname>Roger</firstname> <surname>Gammans</surname> <affiliation> <address> <email>rgammans@computer-surgery.co.uk</email> </address> </affiliation> </author> </authorgroup> <authorgroup> <author> <firstname>Stephen</firstname> <surname>Tweedie</surname> <affiliation> <address> <email>sct@redhat.com</email> </address> </affiliation> </author> </authorgroup> <copyright> <year>2002</year> <holder>Roger Gammans</holder> </copyright> <title>Linux Filesystems API</title> <legalnotice> <para> Loading Loading @@ -66,9 +38,105 @@ <toc></toc> <chapter id="Overview"> <title>Overview</title> <chapter id="vfs"> <title>The Linux VFS</title> <sect1><title>The Filesystem types</title> !Iinclude/linux/fs.h </sect1> <sect1><title>The Directory Cache</title> !Efs/dcache.c !Iinclude/linux/dcache.h </sect1> <sect1><title>Inode Handling</title> !Efs/inode.c !Efs/bad_inode.c </sect1> <sect1><title>Registration and Superblocks</title> !Efs/super.c </sect1> <sect1><title>File Locks</title> !Efs/locks.c !Ifs/locks.c </sect1> <sect1><title>Other Functions</title> !Efs/mpage.c !Efs/namei.c !Efs/buffer.c !Efs/bio.c !Efs/seq_file.c !Efs/filesystems.c !Efs/fs-writeback.c !Efs/block_dev.c </sect1> </chapter> <chapter id="proc"> <title>The proc filesystem</title> <sect1><title>sysctl interface</title> !Ekernel/sysctl.c </sect1> <sect1><title>proc filesystem interface</title> !Ifs/proc/base.c </sect1> </chapter> <chapter id="sysfs"> <title>The Filesystem for Exporting Kernel Objects</title> !Efs/sysfs/file.c !Efs/sysfs/symlink.c !Efs/sysfs/bin.c </chapter> <chapter id="debugfs"> <title>The debugfs filesystem</title> <sect1><title>debugfs interface</title> !Efs/debugfs/inode.c !Efs/debugfs/file.c </sect1> </chapter> <chapter id="LinuxJDBAPI"> <chapterinfo> <title>The Linux Journalling API</title> <authorgroup> <author> <firstname>Roger</firstname> <surname>Gammans</surname> <affiliation> <address> <email>rgammans@computer-surgery.co.uk</email> </address> </affiliation> </author> </authorgroup> <authorgroup> <author> <firstname>Stephen</firstname> <surname>Tweedie</surname> <affiliation> <address> <email>sct@redhat.com</email> </address> </affiliation> </author> </authorgroup> <copyright> <year>2002</year> <holder>Roger Gammans</holder> </copyright> </chapterinfo> <title>The Linux Journalling API</title> <sect1> <title>Overview</title> <sect2> <title>Details</title> <para> The journalling layer is easy to use. You need to Loading Loading @@ -111,7 +179,6 @@ Now you can go ahead and start modifying the underlying filesystem. Almost. </para> <para> You still need to actually journal your filesystem changes, this Loading Loading @@ -156,7 +223,6 @@ Then at umount time , in your put_super() (2.4) or write_super() (2.5) you can then call journal_destroy() to clean up your in-core journal object. </para> <para> Unfortunately there a couple of ways the journal layer can cause a deadlock. The first thing to note is that each task can only have Loading Loading @@ -239,9 +305,9 @@ this would be useful if you needed to know when data was committed to a particular inode. </para> </sect1> </sect2> <sect1> <sect2> <title>Summary</title> <para> Using the journal is a matter of wrapping the different context changes, Loading Loading @@ -279,11 +345,11 @@ an example. } journal_destroy(my_jrnl); </programlisting> </sect1> </sect2> </chapter> </sect1> <chapter id="adt"> <sect1> <title>Data Types</title> <para> The journalling layer uses typedefs to 'hide' the concrete definitions Loading @@ -292,27 +358,27 @@ an example. Obviously the hiding is not enforced as this is 'C'. </para> <sect1><title>Structures</title> <sect2><title>Structures</title> !Iinclude/linux/jbd.h </sect2> </sect1> </chapter> <chapter id="calls"> <sect1> <title>Functions</title> <para> The functions here are split into two groups those that affect a journal as a whole, and those which are used to manage transactions </para> <sect1><title>Journal Level</title> <sect2><title>Journal Level</title> !Efs/jbd/journal.c !Ifs/jbd/recovery.c </sect1> <sect1><title>Transasction Level</title> </sect2> <sect2><title>Transasction Level</title> !Efs/jbd/transaction.c </sect2> </sect1> </chapter> <chapter> <sect1> <title>See also</title> <para> <citation> Loading @@ -328,6 +394,8 @@ an example. </ulink> </citation> </para> </sect1> </chapter> </book>
Documentation/DocBook/kernel-api.tmpl +0 −60 Original line number Diff line number Diff line Loading @@ -182,66 +182,6 @@ X!Ilib/string.c </sect1> </chapter> <chapter id="vfs"> <title>The Linux VFS</title> <sect1><title>The Filesystem types</title> !Iinclude/linux/fs.h </sect1> <sect1><title>The Directory Cache</title> !Efs/dcache.c !Iinclude/linux/dcache.h </sect1> <sect1><title>Inode Handling</title> !Efs/inode.c !Efs/bad_inode.c </sect1> <sect1><title>Registration and Superblocks</title> !Efs/super.c </sect1> <sect1><title>File Locks</title> !Efs/locks.c !Ifs/locks.c </sect1> <sect1><title>Other Functions</title> !Efs/mpage.c !Efs/namei.c !Efs/buffer.c !Efs/bio.c !Efs/seq_file.c !Efs/filesystems.c !Efs/fs-writeback.c !Efs/block_dev.c </sect1> </chapter> <chapter id="proc"> <title>The proc filesystem</title> <sect1><title>sysctl interface</title> !Ekernel/sysctl.c </sect1> <sect1><title>proc filesystem interface</title> !Ifs/proc/base.c </sect1> </chapter> <chapter id="sysfs"> <title>The Filesystem for Exporting Kernel Objects</title> !Efs/sysfs/file.c !Efs/sysfs/symlink.c !Efs/sysfs/bin.c </chapter> <chapter id="debugfs"> <title>The debugfs filesystem</title> <sect1><title>debugfs interface</title> !Efs/debugfs/inode.c !Efs/debugfs/file.c </sect1> </chapter> <chapter id="relayfs"> <title>relay interface support</title> Loading
Documentation/HOWTO +20 −0 Original line number Diff line number Diff line Loading @@ -395,6 +395,26 @@ bugme-janitor mailing list (every change in the bugzilla is mailed here) Managing bug reports -------------------- One of the best ways to put into practice your hacking skills is by fixing bugs reported by other people. Not only you will help to make the kernel more stable, you'll learn to fix real world problems and you will improve your skills, and other developers will be aware of your presence. Fixing bugs is one of the best ways to get merits among other developers, because not many people like wasting time fixing other people's bugs. To work in the already reported bug reports, go to http://bugzilla.kernel.org. If you want to be advised of the future bug reports, you can subscribe to the bugme-new mailing list (only new bug reports are mailed here) or to the bugme-janitor mailing list (every change in the bugzilla is mailed here) http://lists.osdl.org/mailman/listinfo/bugme-new http://lists.osdl.org/mailman/listinfo/bugme-janitors Mailing lists ------------- Loading