commit ac404713551a95349823f438ac349dec6f10df3c
Author: Stephen Wadeley <swadeley(a)redhat.com>
Date: Thu Oct 23 21:42:03 2014 +0200
Markup and language, update some output
in en-US/Working_with_Kernel_Modules.xml
en-US/Working_with_Kernel_Modules.xml | 127 +++++++++++++++++----------------
1 files changed, 64 insertions(+), 63 deletions(-)
---
diff --git a/en-US/Working_with_Kernel_Modules.xml
b/en-US/Working_with_Kernel_Modules.xml
index ad41096..790d15f 100644
--- a/en-US/Working_with_Kernel_Modules.xml
+++ b/en-US/Working_with_Kernel_Modules.xml
@@ -70,38 +70,36 @@
<screen>
~]$ <command>lsmod</command>
Module Size Used by
-xfs 803635 1
-exportfs 3424 1 xfs
-vfat 8216 1
-fat 43410 1 vfat
-tun 13014 2
-fuse 54749 2
-ip6table_filter 2743 0
-ip6_tables 16558 1 ip6table_filter
-ebtable_nat 1895 0
-ebtables 15186 1 ebtable_nat
-ipt_MASQUERADE 2208 6
-iptable_nat 5420 1
-nf_nat 19059 2 ipt_MASQUERADE,iptable_nat
-rfcomm 65122 4
-ipv6 267017 33
-sco 16204 2
-bridge 45753 0
-stp 1887 1 bridge
-llc 4557 2 bridge,stp
-bnep 15121 2
-l2cap 45185 16 rfcomm,bnep
-cpufreq_ondemand 8420 2
-acpi_cpufreq 7493 1
-freq_table 3851 2 cpufreq_ondemand,acpi_cpufreq
-usb_storage 44536 1
-sha256_generic 10023 2
-aes_x86_64 7654 5
-aes_generic 27012 1 aes_x86_64
-cbc 2793 1
-dm_crypt 10930 1
-kvm_intel 40311 0
-kvm 253162 1 kvm_intel
+tcp_lp 12663 0
+bnep 19704 2
+bluetooth 372662 7 bnep
+rfkill 26536 3 bluetooth
+fuse 87661 3
+ip6t_rpfilter 12546 1
+ip6t_REJECT 12939 2
+ipt_REJECT 12541 2
+xt_conntrack 12760 7
+ebtable_nat 12807 0
+ebtable_broute 12731 0
+bridge 110196 1 ebtable_broute
+stp 12976 1 bridge
+llc 14552 2 stp,bridge
+ebtable_filter 12827 0
+ebtables 30913 3 ebtable_broute,ebtable_nat,ebtable_filter
+ip6table_nat 13015 1
+nf_conntrack_ipv6 18738 5
+nf_defrag_ipv6 34651 1 nf_conntrack_ipv6
+nf_nat_ipv6 13279 1 ip6table_nat
+ip6table_mangle 12700 1
+ip6table_security 12710 1
+ip6table_raw 12683 1
+ip6table_filter 12815 1
+ip6_tables 27025 5
ip6table_filter,ip6table_mangle,ip6table_security,ip6table_nat,ip6table_raw
+iptable_nat 13011 1
+nf_conntrack_ipv4 14862 4
+nf_defrag_ipv4 12729 1 nf_conntrack_ipv4
+nf_nat_ipv4 13263 1 iptable_nat
+nf_nat 21798 4 nf_nat_ipv4,nf_nat_ipv6,ip6table_nat,iptable_nat
<lineannotation>[output truncated]</lineannotation></screen>
<para>Each row of <command>lsmod</command> output
specifies:</para>
<itemizedlist>
@@ -140,7 +138,7 @@ kvm 253162 1 kvm_intel
<primary><command>modinfo</command></primary>
<seealso>kernel module</seealso>
</indexterm>
- <para>You can display detailed information about a kernel module by running the
<command>modinfo <replaceable>module_name</replaceable></command>
command.</para>
+ <para>You can display detailed information about a kernel module by running the
<command>modinfo <replaceable>module_name</replaceable></command>
command.</para>
<note
id="note-Module_names_do_not_end_in_.ko">
<title>Module names do not end in .ko</title>
@@ -178,8 +176,7 @@ parm: IntMode:Interrupt Mode (array of int)
parm: SmartPowerDownEnable:Enable PHY smart power down (array of int)
parm: KumeranLockLoss:Enable Kumeran lock loss workaround (array of int)
parm: WriteProtectNVM:Write-protect NVM [WARNING: disabling this can lead to
corrupted NVM] (array of int)
-parm: CrcStripping:Enable CRC Stripping, disable if your BMC needs the CRC
(array of int)
-</screen>
+parm: CrcStripping:Enable CRC Stripping, disable if your BMC needs the CRC
(array of int)</screen>
</example>
<variablelist>
<para>Here are descriptions of a few of the fields in
<command>modinfo</command> output:</para>
@@ -233,7 +230,7 @@ parm: CrcStripping:Enable CRC Stripping, disable if your BMC
needs the
<screen>~]# <command>modinfo e1000e | grep
"^parm" | sort</command>
parm: copybreak:Maximum size of packet that is copied to a new buffer on
receive (uint)
parm: CrcStripping:Enable CRC Stripping, disable if your BMC needs the CRC
(array of int)
-parm: EEE:Enable/disable on parts that support the feature (array of int)
+parm: debug:Debug level (0=none,...,16=all) (int)
parm: InterruptThrottleRate:Interrupt Throttling Rate (array of int)
parm: IntMode:Interrupt Mode (array of int)
parm: KumeranLockLoss:Enable Kumeran lock loss workaround (array of int)
@@ -285,12 +282,12 @@ parm: WriteProtectNVM:Write-protect NVM [WARNING:
disabling this can l
<title>modprobe -v shows module dependencies as they are
loaded</title>
<para>You can load the <systemitem class="protocol">Fibre
Channel over Ethernet</systemitem> module verbosely by typing the following at a
shell prompt:</para>
<screen>~]# <command>modprobe -v fcoe</command>
-insmod /lib/modules/2.6.32-71.el6.x86_64/kernel/drivers/scsi/scsi_tgt.ko
-insmod /lib/modules/2.6.32-71.el6.x86_64/kernel/drivers/scsi/scsi_transport_fc.ko
-insmod /lib/modules/2.6.32-71.el6.x86_64/kernel/drivers/scsi/libfc/libfc.ko
-insmod /lib/modules/2.6.32-71.el6.x86_64/kernel/drivers/scsi/fcoe/libfcoe.ko
-insmod /lib/modules/2.6.32-71.el6.x86_64/kernel/drivers/scsi/fcoe/fcoe.ko</screen>
- <para>In this example, you can see that
<command>modprobe</command> loaded the <systemitem
class="resource">scsi_tgt</systemitem>, <systemitem
class="resource">scsi_transport_fc</systemitem>, <systemitem
class="resource">libfc</systemitem> and <systemitem
class="resource">libfcoe</systemitem> modules as dependencies before
finally loading <systemitem class="resource">fcoe</systemitem>. Also
note that <command>modprobe</command> used the more
<quote>primitive</quote> <command>insmod</command> command to
insert the modules into the running kernel.</para>
+insmod /lib/modules/3.16.6-200.fc20.x86_64/kernel/drivers/scsi/scsi_tgt.ko
+insmod /lib/modules/3.16.6-200.fc20.x86_64/kernel/drivers/scsi/scsi_transport_fc.ko
+insmod /lib/modules/3.16.6-200.fc20.x86_64/kernel/drivers/scsi/libfc/libfc.ko
+insmod /lib/modules/3.16.6-200.fc20.x86_64/kernel/drivers/scsi/fcoe/libfcoe.ko
+insmod
/lib/modules/3.16.6-200.fc20.x86_64/kernel/drivers/scsi/fcoe/fcoe.ko</screen>
+ <para>In this example, you can see that
<command>modprobe</command> loaded the <systemitem
class="resource">scsi_tgt</systemitem>, <systemitem
class="resource">scsi_transport_fc</systemitem>, <systemitem
class="resource">libfc</systemitem> and <systemitem
class="resource">libfcoe</systemitem> modules as dependencies before
finally loading <systemitem class="resource">fcoe</systemitem>. Also
note that <command>modprobe</command> used the more primitive
<command>insmod</command> command to insert the modules into the running
kernel.</para>
</example>
<indexterm>
<primary>kernel module</primary>
@@ -344,20 +341,21 @@ insmod
/lib/modules/2.6.32-71.el6.x86_64/kernel/drivers/scsi/fcoe/fcoe.ko</scree
<para>See <xref
linkend="sec-Listing_Currently-Loaded_Modules"/> for more information about
using <command>lsmod</command> to obtain the names of the modules which are
preventing you from unloading a certain module.</para>
<example id="ex-unloading_a_kernel_module">
<title>Unloading a kernel module</title>
- <para>For example, if you want to unload the <systemitem
class="resource">firewire_ohci</systemitem> module (because you believe
there is a bug in it that is affecting system stability, for example), your terminal
session might look similar to this:</para>
+ <para>For example, if you want to unload the <systemitem
class="resource">firewire_ohci</systemitem> module, your terminal
session might look similar to this:</para>
<screen>~]# <command>modinfo -F depends
firewire_ohci</command>
-depends: firewire-core
+firewire-core
~]# <command>modinfo -F depends firewire_core</command>
-depends: crc-itu-t
+crc-itu-t
~]# <command>modinfo -F depends crc-itu-t</command>
-depends:</screen>
+
+</screen>
<para>You have figured out the dependency tree (which does not branch in this
example) for the loaded Firewire modules: <systemitem
class="resource">firewire_ohci</systemitem> depends on <systemitem
class="resource">firewire_core</systemitem>, which itself depends on
<systemitem class="resource">crc-itu-t</systemitem>.</para>
<para>You can unload <systemitem
class="resource">firewire_ohci</systemitem> using the
<command>modprobe -v -r
<replaceable>module_name</replaceable></command> command, where
<option>-r</option> is short for <option>--remove</option> and
<option>-v</option> for <option>--verbose</option>:</para>
<screen>~]# <command>modprobe -r -v
firewire_ohci</command>
-rmmod /lib/modules/2.6.32-71.el6.x86_64/kernel/drivers/firewire/firewire-ohci.ko
-rmmod /lib/modules/2.6.32-71.el6.x86_64/kernel/drivers/firewire/firewire-core.ko
-rmmod /lib/modules/2.6.32-71.el6.x86_64/kernel/lib/crc-itu-t.ko</screen>
- <para>The output shows that modules are unloaded in the reverse order that
they are loaded, given that no processes depend on any of the modules being
unloaded.</para>
+rmmod firewire_ohci
+rmmod firewire_core
+rmmod crc_itu_t</screen>
+ <para>The output shows that modules are unloaded in the reverse order that they
are loaded, given that no processes depend on any of the modules being
unloaded.</para>
</example>
<indexterm>
<primary>kernel module</primary>
@@ -392,12 +390,18 @@ rmmod
/lib/modules/2.6.32-71.el6.x86_64/kernel/lib/crc-itu-t.ko</screen>
<para>You can unload all dependencies of the module you want to set
parameters for, unload the module using <command>modprobe -r</command>, and
then load it with <command>modprobe</command> along with a list of customized
parameters. This method is often used when the module does not have many dependencies, or
to test different combinations of parameters without making them persistent, and is the
method covered in this section.</para>
</listitem>
<listitem>
- <para>Alternatively, you can list the new parameters in an existing or
newly-created file in the <filename>/etc/modprobe.d/</filename> directory.
This method makes the module parameters persistent by ensuring that they are set each time
the module is loaded, such as after every reboot or
<command>modprobe</command> command. This method is covered in <xref
+ <para>Alternatively, you can list the new parameters in an existing or
newly created file in the <filename>/etc/modprobe.d/</filename> directory.
This method makes the module parameters persistent by ensuring that they are set each time
the module is loaded, such as after every reboot or
<command>modprobe</command> command. This method is covered in <xref
linkend="sec-Persistent_Module_Loading"/>, though the following
information is a prerequisite.</para>
</listitem>
</orderedlist>
+ <example
+ id="ex-Supplying_optional_parameters_when_loading_a_kernel_module">
+ <title>Supplying optional parameters when loading a kernel
module</title>
<para>You can use <command>modprobe</command> to load a kernel
module with custom parameters using the following command line format:</para>
- <screen><command>modprobe
<replaceable>module_name</replaceable>
<optional><replaceable>parameter</replaceable>=<replaceable>value</replaceable></optional></command></screen>
+
<screen>~]# <command>modprobe <replaceable>module_name</replaceable> <optional><replaceable>parameter</replaceable>=<replaceable>value</replaceable></optional>
+ </command>
+ </screen>
+ </example>
<para>When loading a module with custom parameters on the command line, be
aware of the following:</para>
<itemizedlist>
<listitem>
@@ -427,21 +431,18 @@ rmmod
/lib/modules/2.6.32-71.el6.x86_64/kernel/lib/crc-itu-t.ko</screen>
<title>Loading a Kernel Module with Custom Parameters</title>
<step
id="proc-step1-Loading_a_Kernel_Module_with_Custom_Parameters">
- <para>First, ensure the module is not already loaded into the kernel. For
example:</para>
- <screen>~]# <command>lsmod | grep e1000e</command>
-~]# </screen>
- <para>Output indicates that the module is already loaded into the kernel,
in which case you must first unload it before proceeding. See <xref
+ <para>First, ensure the module is not already loaded into the
kernel:</para>
+ <screen>~]# <command>lsmod |grep e1000e</command>
+~]# </screen>
+ <para>Output would indicate that the module is already loaded into the
kernel, in which case you must first unload it before proceeding. See <xref
linkend="sec-Unloading_a_Module"/> for instructions on safely
unloading it.</para>
</step>
<step
id="proc-step2-Loading_a_Kernel_Module_with_Custom_Parameters">
- <para>Load the module and list all custom parameters after the module name.
For example, if you wanted to load the Intel PRO/1000 network driver with the interrupt
throttle rate set to 3000 interrupts per second for the first, second and third instances
of the driver, and Energy Efficient Ethernet (EEE) turned on<footnote
- id="footnote-Energy_Efficient_Ethernet"><para>Despite what
the example might imply, Energy Efficient Ethernet is turned on by default in the
<systemitem
- class="resource">e1000e</systemitem>
driver.</para>
- </footnote>
-, you would run, as <systemitem
class="username">root</systemitem>:</para>
- <screen>~]# <command>modprobe e1000e
InterruptThrottleRate=3000,3000,3000 EEE=1</command></screen>
- <para>This example illustrates passing multiple valued to a single
parameter by separating them with commas and omitting any spaces between
them.</para>
+ <para>Load the module and list all custom parameters after the module name.
For example, if you wanted to load the Intel PRO/1000 network driver with the interrupt
throttle rate set to 3000 interrupts per second for the first, second, and third instances
of the driver, and turn on debug, you would run, as <systemitem
class="username">root</systemitem>:</para>
+ <screen>~]# <command>modprobe e1000e
InterruptThrottleRate=3000,3000,3000 debug=1</command>
+ </screen>
+ <para>This example illustrates passing multiple values to a single
parameter by separating them with commas and omitting any spaces between
them.</para>
</step>
</procedure>
</section>