Revision a247c3a97a0216b18a46243eda26081f1928ec37 authored by Andrea Arcangeli on 22 September 2010, 20:05:12 UTC, committed by Linus Torvalds on 23 September 2010, 00:22:39 UTC
The below bug in fork led to the rmap walk finding the parent huge-pmd
twice instead of just once, because the anon_vma_chain objects of the
child vma still point to the vma->vm_mm of the parent.

The patch fixes it by making the rmap walk accurate during fork.  It's not
a big deal normally but it worth being accurate considering the cost is
the same.

Signed-off-by: Andrea Arcangeli <aarcange@redhat.com>
Acked-by: Johannes Weiner <jweiner@redhat.com>
Acked-by: Rik van Riel <riel@redhat.com>
Acked-by: Hugh Dickins <hughd@google.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
1 parent df08cdc
Raw File
scsi.txt
SCSI subsystem documentation
============================
The Linux Documentation Project (LDP) maintains a document describing
the SCSI subsystem in the Linux kernel (lk) 2.4 series. See:
http://www.tldp.org/HOWTO/SCSI-2.4-HOWTO . The LDP has single
and multiple page HTML renderings as well as postscript and pdf.
It can also be found at:
http://web.archive.org/web/*/http://www.torque.net/scsi/SCSI-2.4-HOWTO

Notes on using modules in the SCSI subsystem
============================================
The scsi support in the linux kernel can be modularized in a number of 
different ways depending upon the needs of the end user.  To understand
your options, we should first define a few terms.

The scsi-core (also known as the "mid level") contains the core of scsi 
support.  Without it you can do nothing with any of the other scsi drivers.
The scsi core support can be a module (scsi_mod.o), or it can be built into
the kernel. If the core is a module, it must be the first scsi module 
loaded, and if you unload the modules, it will have to be the last one 
unloaded.  In practice the modprobe and rmmod commands (and "autoclean")
will enforce the correct ordering of loading and unloading modules in
the SCSI subsystem.

The individual upper and lower level drivers can be loaded in any order 
once the scsi core is present in the kernel (either compiled in or loaded
as a module).  The disk driver (sd_mod.o), cdrom driver (sr_mod.o),
tape driver ** (st.o) and scsi generics driver (sg.o) represent the upper 
level drivers to support the various assorted devices which can be 
controlled.  You can for example load the tape driver to use the tape drive, 
and then unload it once you have no further need for the driver (and release
the associated memory).

The lower level drivers are the ones that support the individual cards that
are supported for the hardware platform that you are running under. Those
individual cards are often called Host Bus Adapters (HBAs). For example the
aic7xxx.o driver is used to control all recent SCSI controller cards from 
Adaptec. Almost all lower level drivers can be built either as modules or 
built into the kernel.


** There is a variant of the st driver for controlling OnStream tape
   devices. Its module name is osst.o .

back to top