Skip to content

Commit

Permalink
Merge branch 'master' of /home/trondmy/repositories/git/linux-2.6/
Browse files Browse the repository at this point in the history
  • Loading branch information
Trond Myklebust authored and Trond Myklebust committed May 17, 2007
2 parents 5cf4cf6 + 0479ea0 commit dd504ea
Show file tree
Hide file tree
Showing 94 changed files with 647 additions and 669 deletions.
123 changes: 78 additions & 45 deletions Documentation/DocBook/kernel-locking.tmpl
Original file line number Diff line number Diff line change
Expand Up @@ -551,10 +551,12 @@
<function>spin_lock_irqsave()</function>, which is a superset
of all other spinlock primitives.
</para>

<table>
<title>Table of Locking Requirements</title>
<tgroup cols="11">
<tbody>

<row>
<entry></entry>
<entry>IRQ Handler A</entry>
Expand All @@ -576,97 +578,128 @@

<row>
<entry>IRQ Handler B</entry>
<entry>spin_lock_irqsave</entry>
<entry>SLIS</entry>
<entry>None</entry>
</row>

<row>
<entry>Softirq A</entry>
<entry>spin_lock_irq</entry>
<entry>spin_lock_irq</entry>
<entry>spin_lock</entry>
<entry>SLI</entry>
<entry>SLI</entry>
<entry>SL</entry>
</row>

<row>
<entry>Softirq B</entry>
<entry>spin_lock_irq</entry>
<entry>spin_lock_irq</entry>
<entry>spin_lock</entry>
<entry>spin_lock</entry>
<entry>SLI</entry>
<entry>SLI</entry>
<entry>SL</entry>
<entry>SL</entry>
</row>

<row>
<entry>Tasklet A</entry>
<entry>spin_lock_irq</entry>
<entry>spin_lock_irq</entry>
<entry>spin_lock</entry>
<entry>spin_lock</entry>
<entry>SLI</entry>
<entry>SLI</entry>
<entry>SL</entry>
<entry>SL</entry>
<entry>None</entry>
</row>

<row>
<entry>Tasklet B</entry>
<entry>spin_lock_irq</entry>
<entry>spin_lock_irq</entry>
<entry>spin_lock</entry>
<entry>spin_lock</entry>
<entry>spin_lock</entry>
<entry>SLI</entry>
<entry>SLI</entry>
<entry>SL</entry>
<entry>SL</entry>
<entry>SL</entry>
<entry>None</entry>
</row>

<row>
<entry>Timer A</entry>
<entry>spin_lock_irq</entry>
<entry>spin_lock_irq</entry>
<entry>spin_lock</entry>
<entry>spin_lock</entry>
<entry>spin_lock</entry>
<entry>spin_lock</entry>
<entry>SLI</entry>
<entry>SLI</entry>
<entry>SL</entry>
<entry>SL</entry>
<entry>SL</entry>
<entry>SL</entry>
<entry>None</entry>
</row>

<row>
<entry>Timer B</entry>
<entry>spin_lock_irq</entry>
<entry>spin_lock_irq</entry>
<entry>spin_lock</entry>
<entry>spin_lock</entry>
<entry>spin_lock</entry>
<entry>spin_lock</entry>
<entry>spin_lock</entry>
<entry>SLI</entry>
<entry>SLI</entry>
<entry>SL</entry>
<entry>SL</entry>
<entry>SL</entry>
<entry>SL</entry>
<entry>SL</entry>
<entry>None</entry>
</row>

<row>
<entry>User Context A</entry>
<entry>spin_lock_irq</entry>
<entry>spin_lock_irq</entry>
<entry>spin_lock_bh</entry>
<entry>spin_lock_bh</entry>
<entry>spin_lock_bh</entry>
<entry>spin_lock_bh</entry>
<entry>spin_lock_bh</entry>
<entry>spin_lock_bh</entry>
<entry>SLI</entry>
<entry>SLI</entry>
<entry>SLBH</entry>
<entry>SLBH</entry>
<entry>SLBH</entry>
<entry>SLBH</entry>
<entry>SLBH</entry>
<entry>SLBH</entry>
<entry>None</entry>
</row>

<row>
<entry>User Context B</entry>
<entry>SLI</entry>
<entry>SLI</entry>
<entry>SLBH</entry>
<entry>SLBH</entry>
<entry>SLBH</entry>
<entry>SLBH</entry>
<entry>SLBH</entry>
<entry>SLBH</entry>
<entry>DI</entry>
<entry>None</entry>
</row>

</tbody>
</tgroup>
</table>

<table>
<title>Legend for Locking Requirements Table</title>
<tgroup cols="2">
<tbody>

<row>
<entry>SLIS</entry>
<entry>spin_lock_irqsave</entry>
</row>
<row>
<entry>SLI</entry>
<entry>spin_lock_irq</entry>
<entry>spin_lock_irq</entry>
<entry>spin_lock_bh</entry>
<entry>spin_lock_bh</entry>
<entry>spin_lock_bh</entry>
<entry>spin_lock_bh</entry>
<entry>spin_lock_bh</entry>
</row>
<row>
<entry>SL</entry>
<entry>spin_lock</entry>
</row>
<row>
<entry>SLBH</entry>
<entry>spin_lock_bh</entry>
</row>
<row>
<entry>DI</entry>
<entry>down_interruptible</entry>
<entry>None</entry>
</row>

</tbody>
</tgroup>
</table>

</sect1>
</chapter>

Expand Down
8 changes: 6 additions & 2 deletions Documentation/gpio.txt
Original file line number Diff line number Diff line change
Expand Up @@ -111,7 +111,9 @@ setting up a platform_device using the GPIO, is mark its direction:

The return value is zero for success, else a negative errno. It should
be checked, since the get/set calls don't have error returns and since
misconfiguration is possible. (These calls could sleep.)
misconfiguration is possible. You should normally issue these calls from
a task context. However, for spinlock-safe GPIOs it's OK to use them
before tasking is enabled, as part of early board setup.

For output GPIOs, the value provided becomes the initial output value.
This helps avoid signal glitching during system startup.
Expand Down Expand Up @@ -197,7 +199,9 @@ However, many platforms don't currently support this mechanism.

Passing invalid GPIO numbers to gpio_request() will fail, as will requesting
GPIOs that have already been claimed with that call. The return value of
gpio_request() must be checked. (These calls could sleep.)
gpio_request() must be checked. You should normally issue these calls from
a task context. However, for spinlock-safe GPIOs it's OK to request GPIOs
before tasking is enabled, as part of early board setup.

These calls serve two basic purposes. One is marking the signals which
are actually in use as GPIOs, for better diagnostics; systems may have
Expand Down
17 changes: 12 additions & 5 deletions Documentation/vm/slabinfo.c
Original file line number Diff line number Diff line change
Expand Up @@ -242,6 +242,9 @@ void decode_numa_list(int *numa, char *t)

memset(numa, 0, MAX_NODES * sizeof(int));

if (!t)
return;

while (*t == 'N') {
t++;
node = strtoul(t, &t, 10);
Expand Down Expand Up @@ -386,7 +389,9 @@ void report(struct slabinfo *s)
{
if (strcmp(s->name, "*") == 0)
return;
printf("\nSlabcache: %-20s Aliases: %2d Order : %2d\n", s->name, s->aliases, s->order);

printf("\nSlabcache: %-20s Aliases: %2d Order : %2d Objects: %d\n",
s->name, s->aliases, s->order, s->objects);
if (s->hwcache_align)
printf("** Hardware cacheline aligned\n");
if (s->cache_dma)
Expand Down Expand Up @@ -791,11 +796,11 @@ void totals(void)

store_size(b1, total_size);store_size(b2, total_waste);
store_size(b3, total_waste * 100 / total_used);
printf("Memory used: %6s # Loss : %6s MRatio: %6s%%\n", b1, b2, b3);
printf("Memory used: %6s # Loss : %6s MRatio:%6s%%\n", b1, b2, b3);

store_size(b1, total_objects);store_size(b2, total_partobj);
store_size(b3, total_partobj * 100 / total_objects);
printf("# Objects : %6s # PartObj: %6s ORatio: %6s%%\n", b1, b2, b3);
printf("# Objects : %6s # PartObj: %6s ORatio:%6s%%\n", b1, b2, b3);

printf("\n");
printf("Per Cache Average Min Max Total\n");
Expand All @@ -818,7 +823,7 @@ void totals(void)
store_size(b1, avg_ppart);store_size(b2, min_ppart);
store_size(b3, max_ppart);
store_size(b4, total_partial * 100 / total_slabs);
printf("%%PartSlab %10s%% %10s%% %10s%% %10s%%\n",
printf("%%PartSlab%10s%% %10s%% %10s%% %10s%%\n",
b1, b2, b3, b4);

store_size(b1, avg_partobj);store_size(b2, min_partobj);
Expand All @@ -830,7 +835,7 @@ void totals(void)
store_size(b1, avg_ppartobj);store_size(b2, min_ppartobj);
store_size(b3, max_ppartobj);
store_size(b4, total_partobj * 100 / total_objects);
printf("%% PartObj %10s%% %10s%% %10s%% %10s%%\n",
printf("%% PartObj%10s%% %10s%% %10s%% %10s%%\n",
b1, b2, b3, b4);

store_size(b1, avg_size);store_size(b2, min_size);
Expand Down Expand Up @@ -1100,6 +1105,8 @@ void output_slabs(void)
ops(slab);
else if (show_slab)
slabcache(slab);
else if (show_report)
report(slab);
}
}

Expand Down
4 changes: 2 additions & 2 deletions MAINTAINERS
Original file line number Diff line number Diff line change
Expand Up @@ -2689,13 +2689,13 @@ L: i2c@lm-sensors.org
S: Maintained

PARALLEL PORT SUPPORT
L: linux-parport@lists.infradead.org
L: linux-parport@lists.infradead.org (subscribers-only)
S: Orphan

PARIDE DRIVERS FOR PARALLEL PORT IDE DEVICES
P: Tim Waugh
M: tim@cyberelk.net
L: linux-parport@lists.infradead.org
L: linux-parport@lists.infradead.org (subscribers-only)
W: http://www.torque.net/linux-pp.html
S: Maintained

Expand Down
8 changes: 0 additions & 8 deletions arch/blackfin/Kconfig
Original file line number Diff line number Diff line change
Expand Up @@ -560,14 +560,6 @@ endchoice

source "mm/Kconfig"

config LARGE_ALLOCS
bool "Allow allocating large blocks (> 1MB) of memory"
help
Allow the slab memory allocator to keep chains for very large
memory sizes - upto 32MB. You may need this if your system has
a lot of RAM, and you need to able to allocate very large
contiguous chunks. If unsure, say N.

config BFIN_DMA_5XX
bool "Enable DMA Support"
depends on (BF533 || BF532 || BF531 || BF537 || BF536 || BF534 || BF561)
Expand Down
8 changes: 0 additions & 8 deletions arch/frv/Kconfig
Original file line number Diff line number Diff line change
Expand Up @@ -102,14 +102,6 @@ config HIGHPTE
with a lot of RAM, this can be wasteful of precious low memory.
Setting this option will put user-space page tables in high memory.

config LARGE_ALLOCS
bool "Allow allocating large blocks (> 1MB) of memory"
help
Allow the slab memory allocator to keep chains for very large memory
sizes - up to 32MB. You may need this if your system has a lot of
RAM, and you need to able to allocate very large contiguous chunks.
If unsure, say N.

source "mm/Kconfig"

choice
Expand Down
2 changes: 1 addition & 1 deletion arch/i386/kernel/cpu/mtrr/generic.c
Original file line number Diff line number Diff line change
Expand Up @@ -78,7 +78,7 @@ static void __cpuinit print_fixed(unsigned base, unsigned step, const mtrr_type*
}

/* Grab all of the MTRR state for this CPU into *state */
void __init get_mtrr_state(void)
void get_mtrr_state(void)
{
unsigned int i;
struct mtrr_var_range *vrs;
Expand Down
2 changes: 1 addition & 1 deletion arch/i386/kernel/cpu/mtrr/main.c
Original file line number Diff line number Diff line change
Expand Up @@ -639,7 +639,7 @@ static struct sysdev_driver mtrr_sysdev_driver = {
* initialized (i.e. before smp_init()).
*
*/
void __init mtrr_bp_init(void)
void mtrr_bp_init(void)
{
init_ifs();

Expand Down
2 changes: 1 addition & 1 deletion arch/i386/kernel/smp.c
Original file line number Diff line number Diff line change
Expand Up @@ -421,7 +421,7 @@ void flush_tlb_mm (struct mm_struct * mm)
}
if (!cpus_empty(cpu_mask))
flush_tlb_others(cpu_mask, mm, TLB_FLUSH_ALL);
check_pgt_cache();

preempt_enable();
}

Expand Down
8 changes: 0 additions & 8 deletions arch/m68knommu/Kconfig
Original file line number Diff line number Diff line change
Expand Up @@ -470,14 +470,6 @@ config AVNET
default y
depends on (AVNET5282)

config LARGE_ALLOCS
bool "Allow allocating large blocks (> 1MB) of memory"
help
Allow the slab memory allocator to keep chains for very large
memory sizes - upto 32MB. You may need this if your system has
a lot of RAM, and you need to able to allocate very large
contiguous chunks. If unsure, say N.

config 4KSTACKS
bool "Use 4Kb for kernel stacks instead of 8Kb"
default y
Expand Down
4 changes: 1 addition & 3 deletions arch/powerpc/platforms/cell/spufs/inode.c
Original file line number Diff line number Diff line change
Expand Up @@ -71,9 +71,7 @@ spufs_init_once(void *p, struct kmem_cache * cachep, unsigned long flags)
{
struct spufs_inode_info *ei = p;

if (flags & SLAB_CTOR_CONSTRUCTOR) {
inode_init_once(&ei->vfs_inode);
}
inode_init_once(&ei->vfs_inode);
}

static struct inode *
Expand Down
8 changes: 0 additions & 8 deletions arch/v850/Kconfig
Original file line number Diff line number Diff line change
Expand Up @@ -240,14 +240,6 @@ menu "Processor type and features"
config RESET_GUARD
bool "Reset Guard"

config LARGE_ALLOCS
bool "Allow allocating large blocks (> 1MB) of memory"
help
Allow the slab memory allocator to keep chains for very large
memory sizes - upto 32MB. You may need this if your system has
a lot of RAM, and you need to able to allocate very large
contiguous chunks. If unsure, say N.

source "mm/Kconfig"

endmenu
Expand Down
Loading

0 comments on commit dd504ea

Please sign in to comment.