Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 71930
b: refs/heads/master
c: cfa76f0
h: refs/heads/master
v: v3
  • Loading branch information
Linus Torvalds committed Oct 21, 2007
1 parent a1d123e commit 4655a77
Show file tree
Hide file tree
Showing 1,766 changed files with 35,156 additions and 33,526 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: 7210c678202bb3107085bffeb63f66a9b8ba1c85
refs/heads/master: cfa76f024f7c9e65169425804e5b32e71f66d0ee
1 change: 1 addition & 0 deletions trunk/.gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@
*.s
*.ko
*.so
*.so.dbg
*.mod.c
*.i
*.lst
Expand Down
12 changes: 6 additions & 6 deletions trunk/CREDITS
Original file line number Diff line number Diff line change
Expand Up @@ -959,7 +959,7 @@ S: 2037 Walnut #6
S: Boulder, Colorado 80302
S: USA

N: Heiko Eissfeldt
N: Heiko Eißfeldt
E: heiko@colossus.escape.de heiko@unifix.de
D: verify_area stuff, generic SCSI fixes
D: SCSI Programming HOWTO
Expand Down Expand Up @@ -1988,8 +1988,8 @@ N: Volker Lendecke
E: vl@kki.org
D: Kernel smbfs (to mount WfW, NT and OS/2 network drives.)
D: NCP filesystem support (to mount NetWare volumes)
S: Von Ossietzky Str. 12
S: 37085 Goettingen
S: Von-Ossietzky-Str. 12
S: 37085 Göttingen
S: Germany

N: Kevin Lentin
Expand Down Expand Up @@ -2431,11 +2431,11 @@ S: 12725 SW Millikan Way, Suite 400
S: Beaverton, Oregon 97005
S: USA

N: Eberhard Moenkeberg
N: Eberhard Mönkeberg
E: emoenke@gwdg.de
D: CDROM driver "sbpcd" (Matsushita/Panasonic/Soundblaster)
S: Ruhstrathoehe 2 b.
S: D-37085 Goettingen
S: Ruhstrathöhe 2 b.
S: D-37085 Göttingen
S: Germany

N: Thomas Molina
Expand Down
2 changes: 1 addition & 1 deletion trunk/Documentation/DocBook/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -165,7 +165,7 @@ quiet_cmd_db2man = MAN $@
@touch $@

###
# Rules to generate postscripts and PNG imgages from .fig format files
# Rules to generate postscripts and PNG images from .fig format files
quiet_cmd_fig2eps = FIG2EPS $@
cmd_fig2eps = fig2dev -Leps $< $@

Expand Down
2 changes: 1 addition & 1 deletion trunk/Documentation/DocBook/kernel-api.tmpl
Original file line number Diff line number Diff line change
Expand Up @@ -46,7 +46,7 @@

<sect1><title>Atomic and pointer manipulation</title>
!Iinclude/asm-x86/atomic_32.h
!Iinclude/asm-x86/unaligned_32.h
!Iinclude/asm-x86/unaligned.h
</sect1>

<sect1><title>Delaying, scheduling, and timer routines</title>
Expand Down
6 changes: 3 additions & 3 deletions trunk/Documentation/DocBook/mtdnand.tmpl
Original file line number Diff line number Diff line change
Expand Up @@ -282,7 +282,7 @@ int __init board_init (void)
goto out;
}

/* map physical adress */
/* map physical address */
baseaddr = (unsigned long)ioremap(CHIP_PHYSICAL_ADDRESS, 1024);
if(!baseaddr){
printk("Ioremap to access NAND chip failed\n");
Expand All @@ -306,7 +306,7 @@ int __init board_init (void)
this->dev_ready = board_dev_ready;
this->eccmode = NAND_ECC_SOFT;

/* Scan to find existance of the device */
/* Scan to find existence of the device */
if (nand_scan (board_mtd, 1)) {
err = -ENXIO;
goto out_ior;
Expand Down Expand Up @@ -340,7 +340,7 @@ static void __exit board_cleanup (void)
/* Release resources, unregister device */
nand_release (board_mtd);

/* unmap physical adress */
/* unmap physical address */
iounmap((void *)baseaddr);

/* Free the MTD device structure */
Expand Down
25 changes: 15 additions & 10 deletions trunk/Documentation/IPMI.txt
Original file line number Diff line number Diff line change
Expand Up @@ -441,17 +441,20 @@ ACPI, and if none of those then a KCS device at the spec-specified
0xca2. If you want to turn this off, set the "trydefaults" option to
false.

If you have high-res timers compiled into the kernel, the driver will
use them to provide much better performance. Note that if you do not
have high-res timers enabled in the kernel and you don't have
interrupts enabled, the driver will run VERY slowly. Don't blame me,
If your IPMI interface does not support interrupts and is a KCS or
SMIC interface, the IPMI driver will start a kernel thread for the
interface to help speed things up. This is a low-priority kernel
thread that constantly polls the IPMI driver while an IPMI operation
is in progress. The force_kipmid module parameter will all the user to
force this thread on or off. If you force it off and don't have
interrupts, the driver will run VERY slowly. Don't blame me,
these interfaces suck.

The driver supports a hot add and remove of interfaces. This way,
interfaces can be added or removed after the kernel is up and running.
This is done using /sys/modules/ipmi_si/hotmod, which is a write-only
parameter. You write a string to this interface. The string has the
format:
This is done using /sys/modules/ipmi_si/parameters/hotmod, which is a
write-only parameter. You write a string to this interface. The string
has the format:
<op1>[:op2[:op3...]]
The "op"s are:
add|remove,kcs|bt|smic,mem|i/o,<address>[,<opt1>[,<opt2>[,...]]]
Expand Down Expand Up @@ -581,9 +584,11 @@ The watchdog will panic and start a 120 second reset timeout if it
gets a pre-action. During a panic or a reboot, the watchdog will
start a 120 timer if it is running to make sure the reboot occurs.

Note that if you use the NMI preaction for the watchdog, you MUST
NOT use nmi watchdog mode 1. If you use the NMI watchdog, you
must use mode 2.
Note that if you use the NMI preaction for the watchdog, you MUST NOT
use the nmi watchdog. There is no reasonable way to tell if an NMI
comes from the IPMI controller, so it must assume that if it gets an
otherwise unhandled NMI, it must be from IPMI and it will panic
immediately.

Once you open the watchdog timer, you must write a 'V' character to the
device to close it, or the timer will not stop. This is a new semantic
Expand Down
2 changes: 1 addition & 1 deletion trunk/Documentation/SubmitChecklist
Original file line number Diff line number Diff line change
Expand Up @@ -67,7 +67,7 @@ kernel patches.
20: Check that it all passes `make headers_check'.

21: Has been checked with injection of at least slab and page-allocation
fauilures. See Documentation/fault-injection/.
failures. See Documentation/fault-injection/.

If the new code is substantial, addition of subsystem-specific fault
injection might be appropriate.
Expand Down
3 changes: 1 addition & 2 deletions trunk/Documentation/SubmittingDrivers
Original file line number Diff line number Diff line change
Expand Up @@ -36,8 +36,7 @@ Linux 2.4:
If the code area has a general maintainer then please submit it to
the maintainer listed in MAINTAINERS in the kernel file. If the
maintainer does not respond or you cannot find the appropriate
maintainer then please contact Marcelo Tosatti
<marcelo.tosatti@cyclades.com>.
maintainer then please contact Willy Tarreau <w@1wt.eu>.

Linux 2.6:
The same rules apply as 2.4 except that you should follow linux-kernel
Expand Down
27 changes: 27 additions & 0 deletions trunk/Documentation/accounting/cgroupstats.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
Control Groupstats is inspired by the discussion at
http://lkml.org/lkml/2007/4/11/187 and implements per cgroup statistics as
suggested by Andrew Morton in http://lkml.org/lkml/2007/4/11/263.

Per cgroup statistics infrastructure re-uses code from the taskstats
interface. A new set of cgroup operations are registered with commands
and attributes specific to cgroups. It should be very easy to
extend per cgroup statistics, by adding members to the cgroupstats
structure.

The current model for cgroupstats is a pull, a push model (to post
statistics on interesting events), should be very easy to add. Currently
user space requests for statistics by passing the cgroup path.
Statistics about the state of all the tasks in the cgroup is returned to
user space.

NOTE: We currently rely on delay accounting for extracting information
about tasks blocked on I/O. If CONFIG_TASK_DELAY_ACCT is disabled, this
information will not be available.

To extract cgroup statistics a utility very similar to getdelays.c
has been developed, the sample output of the utility is shown below

~/balbir/cgroupstats # ./getdelays -C "/cgroup/a"
sleeping 1, blocked 0, running 1, stopped 0, uninterruptible 0
~/balbir/cgroupstats # ./getdelays -C "/cgroup"
sleeping 155, blocked 0, running 1, stopped 0, uninterruptible 2
18 changes: 9 additions & 9 deletions trunk/Documentation/arm/Samsung-S3C24XX/DMA.txt
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ Introduction
------------

The kernel provides an interface to manage DMA transfers
using the DMA channels in the cpu, so that the central
using the DMA channels in the CPU, so that the central
duty of managing channel mappings, and programming the
channel generators is in one place.

Expand All @@ -17,24 +17,24 @@ DMA Channel Ordering
channels to all sources, which means that some devices
have a restricted number of channels that can be used.

To allow flexibilty for each cpu type and board, the
dma code can be given an dma ordering structure which
To allow flexibility for each CPU type and board, the
DMA code can be given a DMA ordering structure which
allows the order of channel search to be specified, as
well as allowing the prohibition of certain claims.

struct s3c24xx_dma_order has a list of channels, and
each channel within has a slot for a list of dma
channel numbers. The slots are searched in order, for
the presence of a dma channel number with DMA_CH_VALID
orred in.
each channel within has a slot for a list of DMA
channel numbers. The slots are searched in order for
the presence of a DMA channel number with DMA_CH_VALID
or-ed in.

If the order has the flag DMA_CH_NEVER set, then after
checking the channel list, the system will return no
found channel, thus denying the request.

A board support file can call s3c24xx_dma_order_set()
to register an complete ordering set. The routine will
copy the data, so the original can be discared with
to register a complete ordering set. The routine will
copy the data, so the original can be discarded with
__initdata.


Expand Down
14 changes: 14 additions & 0 deletions trunk/Documentation/atomic_ops.txt
Original file line number Diff line number Diff line change
Expand Up @@ -418,6 +418,20 @@ brothers:
*/
smp_mb__after_clear_bit();

There are two special bitops with lock barrier semantics (acquire/release,
same as spinlocks). These operate in the same way as their non-_lock/unlock
postfixed variants, except that they are to provide acquire/release semantics,
respectively. This means they can be used for bit_spin_trylock and
bit_spin_unlock type operations without specifying any more barriers.

int test_and_set_bit_lock(unsigned long nr, unsigned long *addr);
void clear_bit_unlock(unsigned long nr, unsigned long *addr);
void __clear_bit_unlock(unsigned long nr, unsigned long *addr);

The __clear_bit_unlock version is non-atomic, however it still implements
unlock barrier semantics. This can be useful if the lock itself is protecting
the other bits in the word.

Finally, there are non-atomic versions of the bitmask operations
provided. They are used in contexts where some other higher-level SMP
locking scheme is being used to protect the bitmask, and thus less
Expand Down
27 changes: 2 additions & 25 deletions trunk/Documentation/cachetlb.txt
Original file line number Diff line number Diff line change
Expand Up @@ -87,30 +87,7 @@ changes occur:

This is used primarily during fault processing.

5) void flush_tlb_pgtables(struct mm_struct *mm,
unsigned long start, unsigned long end)

The software page tables for address space 'mm' for virtual
addresses in the range 'start' to 'end-1' are being torn down.

Some platforms cache the lowest level of the software page tables
in a linear virtually mapped array, to make TLB miss processing
more efficient. On such platforms, since the TLB is caching the
software page table structure, it needs to be flushed when parts
of the software page table tree are unlinked/freed.

Sparc64 is one example of a platform which does this.

Usually, when munmap()'ing an area of user virtual address
space, the kernel leaves the page table parts around and just
marks the individual pte's as invalid. However, if very large
portions of the address space are unmapped, the kernel frees up
those portions of the software page tables to prevent potential
excessive kernel memory usage caused by erratic mmap/mmunmap
sequences. It is at these times that flush_tlb_pgtables will
be invoked.

6) void update_mmu_cache(struct vm_area_struct *vma,
5) void update_mmu_cache(struct vm_area_struct *vma,
unsigned long address, pte_t pte)

At the end of every page fault, this routine is invoked to
Expand All @@ -123,7 +100,7 @@ changes occur:
translations for software managed TLB configurations.
The sparc64 port currently does this.

7) void tlb_migrate_finish(struct mm_struct *mm)
6) void tlb_migrate_finish(struct mm_struct *mm)

This interface is called at the end of an explicit
process migration. This interface provides a hook
Expand Down
2 changes: 1 addition & 1 deletion trunk/Documentation/cdrom/cdrom-standard.tex
Original file line number Diff line number Diff line change
Expand Up @@ -1009,7 +1009,7 @@ \subsubsection{Device dependent $ioctl$s}
\cdrom-related code in the 2.1-kernel. Thanks to Scott Snyder and
Gerd Knorr, who were the first to implement this interface for SCSI
and IDE-CD drivers and added many ideas for extension of the data
structures relative to kernel~2.0. Further thanks to Heiko Eissfeldt,
structures relative to kernel~2.0. Further thanks to Heiko Ei{\sz}feldt,
Thomas Quinot, Jon Tombs, Ken Pizzini, Eberhard M\"onkeberg and Andrew
Kroll, the \linux\ \cdrom\ device driver developers who were kind
enough to give suggestions and criticisms during the writing. Finally
Expand Down
Loading

0 comments on commit 4655a77

Please sign in to comment.