- md-fix-for-raid6-reshape-fix.patch removed from -mm tree

2007-03-05 Thread akpm

The patch titled
 md-fix-for-raid6-reshape-fix
has been removed from the -mm tree.  Its filename was
 md-fix-for-raid6-reshape-fix.patch

This patch was dropped because it was folded into md-fix-for-raid6-reshape.patch

--
Subject: md-fix-for-raid6-reshape-fix
From: Andrew Morton [EMAIL PROTECTED]

Cc: Neil Brown [EMAIL PROTECTED]
Signed-off-by: Andrew Morton [EMAIL PROTECTED]
---

 drivers/md/raid5.c |2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff -puN drivers/md/raid5.c~md-fix-for-raid6-reshape-fix drivers/md/raid5.c
--- a/drivers/md/raid5.c~md-fix-for-raid6-reshape-fix
+++ a/drivers/md/raid5.c
@@ -3071,7 +3071,7 @@ static sector_t reshape_request(mddev_t 
release_stripe(sh);
}
spin_lock_irq(conf-device_lock);
-   conf-expand_progress = (sector_nr + i) * new_data_disks);
+   conf-expand_progress = (sector_nr + i) * new_data_disks;
spin_unlock_irq(conf-device_lock);
/* Ok, those stripe are ready. We can start scheduling
 * reads on the source stripes.
_

Patches currently in -mm which might be from [EMAIL PROTECTED] are

origin.patch
cyclades-return-closing_wait.patch
md-fix-for-raid6-reshape.patch
md-fix-for-raid6-reshape-fix.patch
slab-introduce-krealloc-fix.patch
make-aout-executables-work-again-fix.patch
sony-laptop-fix-uninitialised-variable.patch
git-alsa-oops-fix.patch
git-drm.patch
git-dvb.patch
git-input.patch
setstream-param-for-psmouse-tweak.patch
git-md-accel-fixup.patch
nommu-present-backing-device-capabilities-for-mtd-fix.patch
git-ubi.patch
git-netdev-all.patch
revert-drivers-net-tulip-dmfe-support-basic-carrier-detection.patch
dmfe-add-support-for-suspend-resume-fix.patch
sis900-warning-fixes.patch
div64_64-common-code-fix.patch
bonding-replace-system-timer-with-work-queue-tidy.patch
git-parisc.patch
rm9000-serial-driver-tidy.patch
git-pciseg.patch
revert-md-avoid-possible-bug_on-in-md-bitmap-handling-for-git-block.patch
git-block-fixup.patch
git-block-another-md-fix.patch
git-unionfs.patch
usbatm-create-sysfs-link-device-from-atm-class-device-tidy.patch
git-wireless-fixup.patch
revert-x86_64-mm-change-sysenter_setup-to-__cpuinit-improve-__init-__initdata.patch
after-before-x86_64-mm-mmconfig-share.patch
linux-sysdevh-needs-to-include-linux-moduleh-up-fix.patch
linux-sysdevh-needs-to-include-linux-moduleh-up-fix-2.patch
safer-nr_node_ids-and-nr_node_ids-determination-and-initial-up-fix.patch
safer-nr_node_ids-and-nr_node_ids-determination-and-initial-tweak.patch
smaps-add-clear_refs-file-to-clear-reference-fix.patch
driver_bfin_serial_core-update.patch
fix-rmmod-read-write-races-in-proc-entries-fix.patch
reduce-size-of-task_struct-on-64-bit-machines.patch
mm-shrink-parent-dentries-when-shrinking-slab.patch
merge-sys_clone-sys_unshare-nsproxy-and-namespace-fix.patch
merge-sys_clone-sys_unshare-nsproxy-and-namespace-fix-2.patch
call-cpu_chain-with-cpu_down_failed-if-cpu_down_prepare-failed-vs-reduce-size-of-task_struct-on-64-bit-machines.patch
speedup-divides-by-cpu_power-in-scheduler-up-fix.patch
lutimesat-compat-syscall-and-wire-up-on-x86_64-tidy.patch
utrace-prep.patch
utrace-prep-2.patch
revert-utrace-prep-2.patch
utrace-vs-reduce-size-of-task_struct-on-64-bit-machines.patch
local_t-mips-extension-shrink-duplicated-mips-32-64-bits-functions-from-localh-fix.patch
linux-kernel-markers-kconfig-menus-fix-4.patch
fbdev-hecuba-framebuffer-driver-fix.patch
mm-only-free-swap-space-of-reactivated-pages-debug.patch

-
To unsubscribe from this list: send the line unsubscribe mm-commits in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


+ ia64-kexec-use-efi_loader_data-for-elf-core-header.patch added to -mm tree

2007-03-05 Thread akpm

The patch titled
 ia64 kexec: Use EFI_LOADER_DATA for ELF core header
has been added to the -mm tree.  Its filename is
 ia64-kexec-use-efi_loader_data-for-elf-core-header.patch

*** Remember to use Documentation/SubmitChecklist when testing your code ***

See http://www.zip.com.au/~akpm/linux/patches/stuff/added-to-mm.txt to find
out what to do about this

--
Subject: ia64 kexec: Use EFI_LOADER_DATA for ELF core header
From: Magnus Damm [EMAIL PROTECTED]

The address where the ELF core header is stored is passed to the secondary
kernel as a kernel command line option.  The memory area for this header is
also marked as a separate EFI memory descriptor on ia64.

The separate EFI memory descriptor is at the moment of the type
EFI_UNUSABLE_MEMORY.  With such a type the secondary kernel skips over the
entire memory granule (config option, 16M or 64M) when detecting memory. 
If we are lucky we will just lose some memory, but if we happen to have
data in the same granule (such as an initramfs image), then this data will
never get mapped and the kernel bombs out when trying to access it.

So this is an attempt to fix this by changing the EFI memory descriptor
type into EFI_LOADER_DATA.  This type is the same type used for the kernel
data and for initramfs.  In the secondary kernel we then handle the ELF
core header data the same way as we handle the initramfs image.

This patch contains the kernel changes to make this happen.  Pretty
straightforward, we reserve the area in reserve_memory().  The address for
the area comes from the kernel command line and the size comes from the
specialized EFI parsing function vmcore_find_descriptor_size().

The kexec-tools-testing code for this can be found here:
http://lists.osdl.org/pipermail/fastboot/2007-February/005983.html

Signed-off-by: Magnus Damm [EMAIL PROTECTED]
Cc: Simon Horman [EMAIL PROTECTED]
Cc: Luck, Tony [EMAIL PROTECTED]
Cc: Vivek Goyal [EMAIL PROTECTED]
Signed-off-by: Andrew Morton [EMAIL PROTECTED]
---

 arch/ia64/kernel/efi.c |   30 ++
 arch/ia64/kernel/setup.c   |   30 ++
 include/asm-ia64/meminit.h |8 +++-
 3 files changed, 67 insertions(+), 1 deletion(-)

diff -puN 
arch/ia64/kernel/efi.c~ia64-kexec-use-efi_loader_data-for-elf-core-header 
arch/ia64/kernel/efi.c
--- a/arch/ia64/kernel/efi.c~ia64-kexec-use-efi_loader_data-for-elf-core-header
+++ a/arch/ia64/kernel/efi.c
@@ -1183,3 +1183,33 @@ kdump_find_rsvd_region (unsigned long si
   return ~0UL;
 }
 #endif
+
+#ifdef CONFIG_PROC_VMCORE
+/* locate the size find a the descriptor at a certain address */
+unsigned long
+vmcore_find_descriptor_size (unsigned long address)
+{
+   void *efi_map_start, *efi_map_end, *p;
+   efi_memory_desc_t *md;
+   u64 efi_desc_size;
+   unsigned long ret = 0;
+
+   efi_map_start = __va(ia64_boot_param-efi_memmap);
+   efi_map_end   = efi_map_start + ia64_boot_param-efi_memmap_size;
+   efi_desc_size = ia64_boot_param-efi_memdesc_size;
+
+   for (p = efi_map_start; p  efi_map_end; p += efi_desc_size) {
+   md = p;
+   if (efi_wb(md)  md-type == EFI_LOADER_DATA
+md-phys_addr == address) {
+   ret = efi_md_size(md);
+   break;
+   }
+   }
+
+   if (ret == 0)
+   printk(KERN_WARNING Cannot locate EFI vmcore descriptor\n);
+
+   return ret;
+}
+#endif
diff -puN 
arch/ia64/kernel/setup.c~ia64-kexec-use-efi_loader_data-for-elf-core-header 
arch/ia64/kernel/setup.c
--- 
a/arch/ia64/kernel/setup.c~ia64-kexec-use-efi_loader_data-for-elf-core-header
+++ a/arch/ia64/kernel/setup.c
@@ -250,6 +250,12 @@ reserve_memory (void)
}
 #endif
 
+#ifdef CONFIG_PROC_VMCORE
+   if (reserve_elfcorehdr(rsvd_region[n].start,
+  rsvd_region[n].end) == 0)
+   n++;
+#endif
+
efi_memmap_init(rsvd_region[n].start, rsvd_region[n].end);
n++;
 
@@ -452,6 +458,30 @@ static int __init parse_elfcorehdr(char 
return 0;
 }
 early_param(elfcorehdr, parse_elfcorehdr);
+
+int __init reserve_elfcorehdr(unsigned long *start, unsigned long *end)
+{
+   unsigned long length;
+
+   /* We get the address using the kernel command line,
+* but the size is extracted from the EFI tables.
+* Both address and size are required for reservation
+* to work properly.
+*/
+
+   if (elfcorehdr_addr = ELFCORE_ADDR_MAX)
+   return -EINVAL;
+
+   if ((length = vmcore_find_descriptor_size(elfcorehdr_addr)) == 0) {
+   elfcorehdr_addr = ELFCORE_ADDR_MAX;
+   return -EINVAL;
+   }
+
+   *start = (unsigned long)__va(elfcorehdr_addr);
+   *end = *start + length;
+   return 0;
+}
+
 #endif /* CONFIG_PROC_VMCORE */
 
 void __init
diff -puN 

+ ia64-kexec-use-efi_loader_data-for-elf-core-header-tidy.patch added to -mm tree

2007-03-05 Thread akpm

The patch titled
 ia64-kexec-use-efi_loader_data-for-elf-core-header-tidy
has been added to the -mm tree.  Its filename is
 ia64-kexec-use-efi_loader_data-for-elf-core-header-tidy.patch

*** Remember to use Documentation/SubmitChecklist when testing your code ***

See http://www.zip.com.au/~akpm/linux/patches/stuff/added-to-mm.txt to find
out what to do about this

--
Subject: ia64-kexec-use-efi_loader_data-for-elf-core-header-tidy
From: Andrew Morton [EMAIL PROTECTED]

no need for ifdefs around declarations.

Cc: Luck, Tony [EMAIL PROTECTED]
Cc: Magnus Damm [EMAIL PROTECTED]
Cc: Simon Horman [EMAIL PROTECTED]
Cc: Vivek Goyal [EMAIL PROTECTED]
Signed-off-by: Andrew Morton [EMAIL PROTECTED]
---

 include/asm-ia64/meminit.h |4 +---
 1 file changed, 1 insertion(+), 3 deletions(-)

diff -puN 
include/asm-ia64/meminit.h~ia64-kexec-use-efi_loader_data-for-elf-core-header-tidy
 include/asm-ia64/meminit.h
--- 
a/include/asm-ia64/meminit.h~ia64-kexec-use-efi_loader_data-for-elf-core-header-tidy
+++ a/include/asm-ia64/meminit.h
@@ -37,10 +37,8 @@ extern void find_initrd (void);
 extern int filter_rsvd_memory (unsigned long start, unsigned long end, void 
*arg);
 extern void efi_memmap_init(unsigned long *, unsigned long *);
 
-#ifdef CONFIG_PROC_VMCORE
-extern unsigned long vmcore_find_descriptor_size (unsigned long address);
+extern unsigned long vmcore_find_descriptor_size(unsigned long address);
 extern int reserve_elfcorehdr(unsigned long *start, unsigned long *end);
-#endif
 
 /*
  * For rounding an address to the next IA64_GRANULE_SIZE or order
_

Patches currently in -mm which might be from [EMAIL PROTECTED] are

origin.patch
cyclades-return-closing_wait.patch
slab-introduce-krealloc-fix.patch
make-aout-executables-work-again-fix.patch
sony-laptop-fix-uninitialised-variable.patch
git-alsa-oops-fix.patch
git-drm.patch
git-dvb.patch
ia64-kexec-use-efi_loader_data-for-elf-core-header-tidy.patch
git-input.patch
setstream-param-for-psmouse-tweak.patch
git-md-accel-fixup.patch
nommu-present-backing-device-capabilities-for-mtd-fix.patch
git-ubi.patch
git-netdev-all.patch
revert-drivers-net-tulip-dmfe-support-basic-carrier-detection.patch
dmfe-add-support-for-suspend-resume-fix.patch
sis900-warning-fixes.patch
div64_64-common-code-fix.patch
bonding-replace-system-timer-with-work-queue-tidy.patch
git-parisc.patch
rm9000-serial-driver-tidy.patch
git-pciseg.patch
revert-md-avoid-possible-bug_on-in-md-bitmap-handling-for-git-block.patch
git-block-fixup.patch
git-block-another-md-fix.patch
git-unionfs.patch
usbatm-create-sysfs-link-device-from-atm-class-device-tidy.patch
git-wireless-fixup.patch
revert-x86_64-mm-change-sysenter_setup-to-__cpuinit-improve-__init-__initdata.patch
after-before-x86_64-mm-mmconfig-share.patch
linux-sysdevh-needs-to-include-linux-moduleh-up-fix.patch
linux-sysdevh-needs-to-include-linux-moduleh-up-fix-2.patch
safer-nr_node_ids-and-nr_node_ids-determination-and-initial-up-fix.patch
safer-nr_node_ids-and-nr_node_ids-determination-and-initial-tweak.patch
smaps-add-clear_refs-file-to-clear-reference-fix.patch
driver_bfin_serial_core-update.patch
fix-rmmod-read-write-races-in-proc-entries-fix.patch
reduce-size-of-task_struct-on-64-bit-machines.patch
mm-shrink-parent-dentries-when-shrinking-slab.patch
merge-sys_clone-sys_unshare-nsproxy-and-namespace-fix.patch
merge-sys_clone-sys_unshare-nsproxy-and-namespace-fix-2.patch
call-cpu_chain-with-cpu_down_failed-if-cpu_down_prepare-failed-vs-reduce-size-of-task_struct-on-64-bit-machines.patch
speedup-divides-by-cpu_power-in-scheduler-up-fix.patch
lutimesat-compat-syscall-and-wire-up-on-x86_64-tidy.patch
utrace-prep.patch
utrace-prep-2.patch
revert-utrace-prep-2.patch
utrace-vs-reduce-size-of-task_struct-on-64-bit-machines.patch
local_t-mips-extension-shrink-duplicated-mips-32-64-bits-functions-from-localh-fix.patch
linux-kernel-markers-kconfig-menus-fix-4.patch
fbdev-hecuba-framebuffer-driver-fix.patch
mm-only-free-swap-space-of-reactivated-pages-debug.patch

-
To unsubscribe from this list: send the line unsubscribe mm-commits in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


+ cleanup-the-includes-of-linux-pcih-fix.patch added to -mm tree

2007-03-05 Thread akpm

The patch titled
 cleanup-the-includes-of-linux-pcih-fix
has been added to the -mm tree.  Its filename is
 cleanup-the-includes-of-linux-pcih-fix.patch

*** Remember to use Documentation/SubmitChecklist when testing your code ***

See http://www.zip.com.au/~akpm/linux/patches/stuff/added-to-mm.txt to find
out what to do about this

--
Subject: cleanup-the-includes-of-linux-pcih-fix
From: Andrew Morton [EMAIL PROTECTED]

In file included from include/linux/scatterlist.h:4,
 from drivers/scsi/libsas/sas_expander.c:25:
include/asm/scatterlist.h:7: error: expected specifier-qualifier-list before 
'dma_addr_t'
In file included from drivers/scsi/libsas/sas_expander.c:25:
include/linux/scatterlist.h: In function 'sg_set_buf':
include/linux/scatterlist.h:13: error: 'struct scatterlist' has no member named 
'length'
In file included from include/linux/dma-mapping.h:34,
 from include/asm-generic/pci-dma-compat.h:7,
 from include/asm/pci.h:114,
 from include/linux/pci.h:766,
 from include/scsi/libsas.h:31,
 from drivers/scsi/libsas/sas_internal.h:32,
 from drivers/scsi/libsas/sas_expander.c:27:
include/asm/dma-mapping.h: In function 'dma_map_sg':
include/asm/dma-mapping.h:44: error: 'struct scatterlist' has no member named 
'length'
include/asm/dma-mapping.h:44: warning: type defaults to 'int' in declaration of 
'__ret_warn_on'
include/asm/dma-mapping.h:44: error: 'struct scatterlist' has no member named 
'length'
include/asm/dma-mapping.h:49: error: 'struct scatterlist' has no member named 
'dma_address'
make[1]: *** [drivers/scsi/libsas/sas_expander.o] Error 1
make: *** [drivers/scsi/libsas/sas_expander.o] Error 2

Cc: Jean Delvare [EMAIL PROTECTED]
Cc: Greg KH [EMAIL PROTECTED]
Signed-off-by: Andrew Morton [EMAIL PROTECTED]
---

 include/asm-i386/scatterlist.h |2 ++
 1 file changed, 2 insertions(+)

diff -puN include/asm-i386/scatterlist.h~cleanup-the-includes-of-linux-pcih-fix 
include/asm-i386/scatterlist.h
--- a/include/asm-i386/scatterlist.h~cleanup-the-includes-of-linux-pcih-fix
+++ a/include/asm-i386/scatterlist.h
@@ -1,6 +1,8 @@
 #ifndef _I386_SCATTERLIST_H
 #define _I386_SCATTERLIST_H
 
+#include linux/types.h
+
 struct scatterlist {
 struct page*page;
 unsigned int   offset;
_

Patches currently in -mm which might be from [EMAIL PROTECTED] are

origin.patch
cyclades-return-closing_wait.patch
slab-introduce-krealloc-fix.patch
make-aout-executables-work-again-fix.patch
sony-laptop-fix-uninitialised-variable.patch
git-alsa-oops-fix.patch
git-drm.patch
git-dvb.patch
ia64-kexec-use-efi_loader_data-for-elf-core-header-tidy.patch
git-input.patch
setstream-param-for-psmouse-tweak.patch
git-md-accel-fixup.patch
nommu-present-backing-device-capabilities-for-mtd-fix.patch
git-ubi.patch
git-netdev-all.patch
revert-drivers-net-tulip-dmfe-support-basic-carrier-detection.patch
dmfe-add-support-for-suspend-resume-fix.patch
sis900-warning-fixes.patch
div64_64-common-code-fix.patch
bonding-replace-system-timer-with-work-queue-tidy.patch
git-parisc.patch
rm9000-serial-driver-tidy.patch
cleanup-the-includes-of-linux-pcih-fix.patch
git-pciseg.patch
revert-md-avoid-possible-bug_on-in-md-bitmap-handling-for-git-block.patch
git-block-fixup.patch
git-block-another-md-fix.patch
git-unionfs.patch
usbatm-create-sysfs-link-device-from-atm-class-device-tidy.patch
git-wireless-fixup.patch
revert-x86_64-mm-change-sysenter_setup-to-__cpuinit-improve-__init-__initdata.patch
after-before-x86_64-mm-mmconfig-share.patch
linux-sysdevh-needs-to-include-linux-moduleh-up-fix.patch
linux-sysdevh-needs-to-include-linux-moduleh-up-fix-2.patch
safer-nr_node_ids-and-nr_node_ids-determination-and-initial-up-fix.patch
safer-nr_node_ids-and-nr_node_ids-determination-and-initial-tweak.patch
smaps-add-clear_refs-file-to-clear-reference-fix.patch
driver_bfin_serial_core-update.patch
fix-rmmod-read-write-races-in-proc-entries-fix.patch
reduce-size-of-task_struct-on-64-bit-machines.patch
mm-shrink-parent-dentries-when-shrinking-slab.patch
merge-sys_clone-sys_unshare-nsproxy-and-namespace-fix.patch
merge-sys_clone-sys_unshare-nsproxy-and-namespace-fix-2.patch
call-cpu_chain-with-cpu_down_failed-if-cpu_down_prepare-failed-vs-reduce-size-of-task_struct-on-64-bit-machines.patch
speedup-divides-by-cpu_power-in-scheduler-up-fix.patch
lutimesat-compat-syscall-and-wire-up-on-x86_64-tidy.patch
utrace-prep.patch
utrace-prep-2.patch
revert-utrace-prep-2.patch
utrace-vs-reduce-size-of-task_struct-on-64-bit-machines.patch
local_t-mips-extension-shrink-duplicated-mips-32-64-bits-functions-from-localh-fix.patch
linux-kernel-markers-kconfig-menus-fix-4.patch
fbdev-hecuba-framebuffer-driver-fix.patch
mm-only-free-swap-space-of-reactivated-pages-debug.patch

-
To unsubscribe from this list: send the line unsubscribe mm-commits in
the body of a message to [EMAIL PROTECTED]

+ git-netdev-all-ipw2200-fix.patch added to -mm tree

2007-03-05 Thread akpm

The patch titled
 git-netdev-all: ipw2200 fix
has been added to the -mm tree.  Its filename is
 git-netdev-all-ipw2200-fix.patch

*** Remember to use Documentation/SubmitChecklist when testing your code ***

See http://www.zip.com.au/~akpm/linux/patches/stuff/added-to-mm.txt to find
out what to do about this

--
Subject: git-netdev-all: ipw2200 fix
From: Andrew Morton [EMAIL PROTECTED]

drivers/net/wireless/ipw2200.c: In function 'show_channels':
drivers/net/wireless/ipw2200.c:1855: warning: implicit declaration of function 
'ipw_get_geo'
drivers/net/wireless/ipw2200.c:1855: warning: initialization makes pointer from 
integer without a cast


Signed-off-by: Andrew Morton [EMAIL PROTECTED]
---

 drivers/net/wireless/ipw2200.c |2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff -puN drivers/net/wireless/ipw2200.c~git-netdev-all-ipw2200-fix 
drivers/net/wireless/ipw2200.c
--- a/drivers/net/wireless/ipw2200.c~git-netdev-all-ipw2200-fix
+++ a/drivers/net/wireless/ipw2200.c
@@ -1852,7 +1852,7 @@ static ssize_t show_channels(struct devi
 char *buf)
 {
struct ipw_priv *priv = dev_get_drvdata(d);
-   const struct ieee80211_geo *geo = ipw_get_geo(priv-ieee);
+   const struct ieee80211_geo *geo = ieee80211_get_geo(priv-ieee);
int len = 0, i;
 
len = sprintf(buf[len],
_

Patches currently in -mm which might be from [EMAIL PROTECTED] are

origin.patch
cyclades-return-closing_wait.patch
slab-introduce-krealloc-fix.patch
make-aout-executables-work-again-fix.patch
sony-laptop-fix-uninitialised-variable.patch
git-alsa-oops-fix.patch
git-drm.patch
git-dvb.patch
ia64-kexec-use-efi_loader_data-for-elf-core-header-tidy.patch
git-input.patch
setstream-param-for-psmouse-tweak.patch
git-md-accel-fixup.patch
nommu-present-backing-device-capabilities-for-mtd-fix.patch
git-ubi.patch
git-netdev-all.patch
git-netdev-all-ipw2200-fix.patch
revert-drivers-net-tulip-dmfe-support-basic-carrier-detection.patch
dmfe-add-support-for-suspend-resume-fix.patch
sis900-warning-fixes.patch
div64_64-common-code-fix.patch
bonding-replace-system-timer-with-work-queue-tidy.patch
git-parisc.patch
rm9000-serial-driver-tidy.patch
cleanup-the-includes-of-linux-pcih-fix.patch
git-pciseg.patch
revert-md-avoid-possible-bug_on-in-md-bitmap-handling-for-git-block.patch
git-block-fixup.patch
git-block-another-md-fix.patch
git-unionfs.patch
usbatm-create-sysfs-link-device-from-atm-class-device-tidy.patch
git-wireless-fixup.patch
revert-x86_64-mm-change-sysenter_setup-to-__cpuinit-improve-__init-__initdata.patch
after-before-x86_64-mm-mmconfig-share.patch
linux-sysdevh-needs-to-include-linux-moduleh-up-fix.patch
linux-sysdevh-needs-to-include-linux-moduleh-up-fix-2.patch
safer-nr_node_ids-and-nr_node_ids-determination-and-initial-up-fix.patch
safer-nr_node_ids-and-nr_node_ids-determination-and-initial-tweak.patch
smaps-add-clear_refs-file-to-clear-reference-fix.patch
driver_bfin_serial_core-update.patch
fix-rmmod-read-write-races-in-proc-entries-fix.patch
reduce-size-of-task_struct-on-64-bit-machines.patch
mm-shrink-parent-dentries-when-shrinking-slab.patch
merge-sys_clone-sys_unshare-nsproxy-and-namespace-fix.patch
merge-sys_clone-sys_unshare-nsproxy-and-namespace-fix-2.patch
call-cpu_chain-with-cpu_down_failed-if-cpu_down_prepare-failed-vs-reduce-size-of-task_struct-on-64-bit-machines.patch
speedup-divides-by-cpu_power-in-scheduler-up-fix.patch
lutimesat-compat-syscall-and-wire-up-on-x86_64-tidy.patch
utrace-prep.patch
utrace-prep-2.patch
revert-utrace-prep-2.patch
utrace-vs-reduce-size-of-task_struct-on-64-bit-machines.patch
local_t-mips-extension-shrink-duplicated-mips-32-64-bits-functions-from-localh-fix.patch
linux-kernel-markers-kconfig-menus-fix-4.patch
fbdev-hecuba-framebuffer-driver-fix.patch
mm-only-free-swap-space-of-reactivated-pages-debug.patch

-
To unsubscribe from this list: send the line unsubscribe mm-commits in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


+ fbdev-add-ultrasharp-uxga-to-broken-monitor-database-fix.patch added to -mm tree

2007-03-05 Thread akpm

The patch titled
 fbdev: fix Sharp UXGA checking
has been added to the -mm tree.  Its filename is
 fbdev-add-ultrasharp-uxga-to-broken-monitor-database-fix.patch

*** Remember to use Documentation/SubmitChecklist when testing your code ***

See http://www.zip.com.au/~akpm/linux/patches/stuff/added-to-mm.txt to find
out what to do about this

--
Subject: fbdev: fix Sharp UXGA checking
From: Antonino A. Daplas [EMAIL PROTECTED]

If the Ultrasharp UXGA is detected, the check function returns a nonzero
value.  It should return the type of fix instead.

Signed-off-by: Antonino Daplas [EMAIL PROTECTED]
Cc: James Simmons [EMAIL PROTECTED]
Signed-off-by: Andrew Morton [EMAIL PROTECTED]
---

 drivers/video/fbmon.c |3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff -puN 
drivers/video/fbmon.c~fbdev-add-ultrasharp-uxga-to-broken-monitor-database-fix 
drivers/video/fbmon.c
--- 
a/drivers/video/fbmon.c~fbdev-add-ultrasharp-uxga-to-broken-monitor-database-fix
+++ a/drivers/video/fbmon.c
@@ -183,10 +183,11 @@ static int check_edid(unsigned char *edi
break;
case FBMON_FIX_TIMINGS:
b = edid + DETAILED_TIMING_DESCRIPTIONS_START;
+   ret = fix;
 
for (i = 0; i  4; i++) {
if (edid_is_limits_block(b)) {
-   ret = fix;
+   ret = 0;
break;
}
 
_

Patches currently in -mm which might be from [EMAIL PROTECTED] are

origin.patch
atyfb-fix-kconfig-error.patch
fbdev-add-ultrasharp-uxga-to-broken-monitor-database.patch
fbdev-add-ultrasharp-uxga-to-broken-monitor-database-fix.patch
intelfb-fix-ring-space-calculation.patch
nvidiafb-bring-back-generic-ddc-reading.patch
nvidiafb-bring-back-generic-ddc-reading-fix.patch
fbdev-ignore-vesa-modes-if-framebuffer-is-disabled.patch
fbdev-fix-obvious-bug-in-show_pan.patch
neofb-fill-transp-msb_right-with-the-correct.patch
atyfb-kill-dead-code.patch
fbdev-mm-deferred-io-support.patch
fbdev-hecuba-framebuffer-driver.patch
fbdev-hecuba-framebuffer-driver-fix.patch
nvidiafb-backlight-fix-implicit-declaration-in-nv_backlight.patch
atyfb-fix-kconfig-error-part-2.patch
fbdev-fix-kconfig-error-if-fb_ddc=n.patch

-
To unsubscribe from this list: send the line unsubscribe mm-commits in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


+ fbdev-fix-kconfig-error-if-fb_ddc=n.patch added to -mm tree

2007-03-05 Thread akpm

The patch titled
 fbdev: fix kconfig error if FB_DDC=n
has been added to the -mm tree.  Its filename is
 fbdev-fix-kconfig-error-if-fb_ddc=n.patch

*** Remember to use Documentation/SubmitChecklist when testing your code ***

See http://www.zip.com.au/~akpm/linux/patches/stuff/added-to-mm.txt to find
out what to do about this

--
Subject: fbdev: fix kconfig error if FB_DDC=n
From: James Simmons [EMAIL PROTECTED]

Fix the following error if FB_DDC=n

Kernel: arch/x86_64/boot/bzImage is ready  (#1)
  Building modules, stage 2.
  MODPOST 229 modules
WARNING: fb_ddc_read [drivers/video/nvidia/nvidiafb.ko] undefined!
make[1]: *** [__modpost] Error 1

Signed-off-by: Antonino Daplas [EMAIL PROTECTED]
Cc: James Simmons [EMAIL PROTECTED]
Signed-off-by: Andrew Morton [EMAIL PROTECTED]
---

 drivers/video/Kconfig |   16 +++-
 1 file changed, 7 insertions(+), 9 deletions(-)

diff -puN drivers/video/Kconfig~fbdev-fix-kconfig-error-if-fb_ddc=n 
drivers/video/Kconfig
--- a/drivers/video/Kconfig~fbdev-fix-kconfig-error-if-fb_ddc=n
+++ a/drivers/video/Kconfig
@@ -707,8 +707,6 @@ config FB_S1D13XXX
 config FB_NVIDIA
tristate nVidia Framebuffer Support
depends on FB  PCI
-   select I2C_ALGOBIT if FB_NVIDIA_I2C
-   select I2C if FB_NVIDIA_I2C
select FB_BACKLIGHT if FB_NVIDIA_BACKLIGHT
select FB_MODE_HELPERS
select FB_CFB_FILLRECT
@@ -727,6 +725,7 @@ config FB_NVIDIA
 config FB_NVIDIA_I2C
bool Enable DDC Support
depends on FB_NVIDIA
+   select FB_DDC
help
  This enables I2C support for nVidia Chipsets.  This is used
  only for getting EDID information from the attached display
@@ -746,7 +745,6 @@ config FB_NVIDIA_BACKLIGHT
 config FB_RIVA
tristate nVidia Riva support
depends on FB  PCI
-   select FB_DDC if FB_RIVA_I2C
select FB_BACKLIGHT if FB_RIVA_BACKLIGHT
select FB_MODE_HELPERS
select FB_CFB_FILLRECT
@@ -764,6 +762,7 @@ config FB_RIVA
 config FB_RIVA_I2C
bool Enable DDC Support
depends on FB_RIVA
+   select FB_DDC
help
  This enables I2C support for nVidia Chipsets.  This is used
  only for getting EDID information from the attached display
@@ -842,8 +841,6 @@ config FB_INTEL
depends on FB  EXPERIMENTAL  PCI  X86
select AGP
select AGP_INTEL
-   select I2C_ALGOBIT if FB_INTEL_I2C
-   select I2C if FB_INTEL_I2C
select FB_MODE_HELPERS
select FB_CFB_FILLRECT
select FB_CFB_COPYAREA
@@ -876,6 +873,7 @@ config FB_INTEL_DEBUG
 config FB_INTEL_I2C
bool DDC/I2C for Intel framebuffer support
depends on FB_INTEL
+   select FB_DDC
default y
help
  Say Y here if you want DDC/I2C support for your on-board Intel 
graphics.
@@ -954,8 +952,8 @@ config FB_MATROX_G
 
 config FB_MATROX_I2C
tristate Matrox I2C support
-   depends on FB_MATROX  I2C
-   select I2C_ALGOBIT
+   depends on FB_MATROX
+   select FB_DDC
---help---
  This drivers creates I2C buses which are needed for accessing the
  DDC (I2C) bus present on all Matroxes, an I2C bus which
@@ -1023,7 +1021,6 @@ config FB_MATROX_MULTIHEAD
 config FB_RADEON
tristate ATI Radeon display support
depends on FB  PCI
-   select FB_DDC if FB_RADEON_I2C
select FB_BACKLIGHT if FB_RADEON_BACKLIGHT
select FB_MODE_HELPERS
select FB_CFB_FILLRECT
@@ -1048,6 +1045,7 @@ config FB_RADEON
 config FB_RADEON_I2C
bool DDC/I2C for ATI Radeon support
depends on FB_RADEON
+   select FB_DDC
default y
help
  Say Y here if you want DDC/I2C support for your Radeon board. 
@@ -1155,7 +1153,6 @@ config FB_S3
 config FB_SAVAGE
tristate S3 Savage support
depends on FB  PCI  EXPERIMENTAL
-   select FB_DDC if FB_SAVAGE_I2C
select FB_MODE_HELPERS
select FB_CFB_FILLRECT
select FB_CFB_COPYAREA
@@ -1172,6 +1169,7 @@ config FB_SAVAGE
 config FB_SAVAGE_I2C
bool Enable DDC2 Support
depends on FB_SAVAGE
+   select FB_DDC
help
  This enables I2C support for S3 Savage Chipsets.  This is used
  only for getting EDID information from the attached display
_

Patches currently in -mm which might be from [EMAIL PROTECTED] are

ps3fb-thread-updates.patch
ps3av-thread-updates.patch
ps3fb-kill-superfluous-zero-initializations.patch
ps3av-misc-updates.patch
aty128fb-fix-blanking.patch
change-rivafb_remove-to-__devexit.patch
atyfb-replace-busy-loop-with-mdelay.patch
fbdev-display-class.patch
fbdev-display-class-update.patch
fbdev-add-ultrasharp-uxga-to-broken-monitor-database-fix.patch
tgafb-turbochannel-support.patch
tgafb-accelerated-code.patch
nvidiafb-backlight-fix-implicit-declaration-in-nv_backlight.patch
atyfb-fix-kconfig-error-part-2.patch

+ nvidiafb-backlight-fix-implicit-declaration-in-nv_backlight.patch added to -mm tree

2007-03-05 Thread akpm

The patch titled
 nvidiafb backlight: Fix implicit declaration in nv_backlight
has been added to the -mm tree.  Its filename is
 nvidiafb-backlight-fix-implicit-declaration-in-nv_backlight.patch

*** Remember to use Documentation/SubmitChecklist when testing your code ***

See http://www.zip.com.au/~akpm/linux/patches/stuff/added-to-mm.txt to find
out what to do about this

--
Subject: nvidiafb backlight: Fix implicit declaration in nv_backlight
From: Dave Jones [EMAIL PROTECTED]

drivers/video/nvidia/nv_backlight.c: In function 'nvidia_bl_init':
drivers/video/nvidia/nv_backlight.c:103: error: implicit declaration of 
function 'pmac_has_backlight_type'

Signed-off-by: Dave Jones [EMAIL PROTECTED]
Signed-off-by: Antonino Daplas [EMAIL PROTECTED]
Cc: James Simmons [EMAIL PROTECTED]
Signed-off-by: Andrew Morton [EMAIL PROTECTED]
---

 drivers/video/nvidia/nv_backlight.c |5 +
 1 file changed, 5 insertions(+)

diff -puN 
drivers/video/nvidia/nv_backlight.c~nvidiafb-backlight-fix-implicit-declaration-in-nv_backlight
 drivers/video/nvidia/nv_backlight.c
--- 
a/drivers/video/nvidia/nv_backlight.c~nvidiafb-backlight-fix-implicit-declaration-in-nv_backlight
+++ a/drivers/video/nvidia/nv_backlight.c
@@ -12,6 +12,11 @@
 #include linux/backlight.h
 #include linux/fb.h
 #include linux/pci.h
+
+#ifdef CONFIG_PMAC_BACKLIGHT
+#include asm/backlight.h
+#endif
+
 #include nv_local.h
 #include nv_type.h
 #include nv_proto.h
_

Patches currently in -mm which might be from [EMAIL PROTECTED] are

origin.patch
nvidiafb-backlight-fix-implicit-declaration-in-nv_backlight.patch

-
To unsubscribe from this list: send the line unsubscribe mm-commits in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


+ atyfb-fix-kconfig-error-part-2.patch added to -mm tree

2007-03-05 Thread akpm

The patch titled
 atyfb: fix kconfig error part 2
has been added to the -mm tree.  Its filename is
 atyfb-fix-kconfig-error-part-2.patch

*** Remember to use Documentation/SubmitChecklist when testing your code ***

See http://www.zip.com.au/~akpm/linux/patches/stuff/added-to-mm.txt to find
out what to do about this

--
Subject: atyfb: fix kconfig error part 2
From: Randy Dunlap [EMAIL PROTECTED]

Fix implicit declarations and missing code in atyfb.

drivers/video/aty/atyfb_base.c:2137: warning: implicit declaration of function 
'a
ty_ld_lcd'
drivers/video/aty/atyfb_base.c:2154: warning: implicit declaration of function 
'a
ty_st_lcd'
atyfb_base.c:(.text+0x33e5c): undefined reference to `aty_ld_lcd'
atyfb_base.c:(.text+0x33eb2): undefined reference to `aty_st_lcd'

Signed-off-by: Randy Dunlap [EMAIL PROTECTED]
Signed-off-by: Antonino Daplas [EMAIL PROTECTED]
Cc: James Simmons [EMAIL PROTECTED]
Signed-off-by: Andrew Morton [EMAIL PROTECTED]
---

 drivers/video/aty/atyfb.h |3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff -puN drivers/video/aty/atyfb.h~atyfb-fix-kconfig-error-part-2 
drivers/video/aty/atyfb.h
--- a/drivers/video/aty/atyfb.h~atyfb-fix-kconfig-error-part-2
+++ a/drivers/video/aty/atyfb.h
@@ -284,7 +284,8 @@ static inline void aty_st_8(int regindex
 #endif
 }
 
-#if defined(CONFIG_PM) || defined(CONFIG_PMAC_BACKLIGHT) || defined 
(CONFIG_FB_ATY_GENERIC_LCD)
+#if defined(CONFIG_PM) || defined(CONFIG_PMAC_BACKLIGHT) || \
+defined (CONFIG_FB_ATY_GENERIC_LCD) || defined (CONFIG_FB_ATY_BACKLIGHT)
 extern void aty_st_lcd(int index, u32 val, const struct atyfb_par *par);
 extern u32 aty_ld_lcd(int index, const struct atyfb_par *par);
 #endif
_

Patches currently in -mm which might be from [EMAIL PROTECTED] are

origin.patch
git-drm.patch
phy-layer-add-kernel-doc-docbook.patch
fusion-kernel-doc-warning-fixes.patch
scripts-kernel-doc-whitespace-cleanup.patch
extend-notifier_call_chain-to-count-nr_calls-made-fixes.patch
reiser4-use-null-for-pointers.patch
atyfb-fix-kconfig-error-part-2.patch
profile_likely-export-do_check_likely.patch

-
To unsubscribe from this list: send the line unsubscribe mm-commits in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


- cleanup-the-includes-of-linux-pcih-fix.patch removed from -mm tree

2007-03-05 Thread akpm

The patch titled
 cleanup-the-includes-of-linux-pcih-fix
has been removed from the -mm tree.  Its filename was
 cleanup-the-includes-of-linux-pcih-fix.patch

This patch was dropped because it is obsolete

--
Subject: cleanup-the-includes-of-linux-pcih-fix
From: Andrew Morton [EMAIL PROTECTED]

In file included from include/linux/scatterlist.h:4,
 from drivers/scsi/libsas/sas_expander.c:25:
include/asm/scatterlist.h:7: error: expected specifier-qualifier-list before 
'dma_addr_t'
In file included from drivers/scsi/libsas/sas_expander.c:25:
include/linux/scatterlist.h: In function 'sg_set_buf':
include/linux/scatterlist.h:13: error: 'struct scatterlist' has no member named 
'length'
In file included from include/linux/dma-mapping.h:34,
 from include/asm-generic/pci-dma-compat.h:7,
 from include/asm/pci.h:114,
 from include/linux/pci.h:766,
 from include/scsi/libsas.h:31,
 from drivers/scsi/libsas/sas_internal.h:32,
 from drivers/scsi/libsas/sas_expander.c:27:
include/asm/dma-mapping.h: In function 'dma_map_sg':
include/asm/dma-mapping.h:44: error: 'struct scatterlist' has no member named 
'length'
include/asm/dma-mapping.h:44: warning: type defaults to 'int' in declaration of 
'__ret_warn_on'
include/asm/dma-mapping.h:44: error: 'struct scatterlist' has no member named 
'length'
include/asm/dma-mapping.h:49: error: 'struct scatterlist' has no member named 
'dma_address'
make[1]: *** [drivers/scsi/libsas/sas_expander.o] Error 1
make: *** [drivers/scsi/libsas/sas_expander.o] Error 2

Cc: Jean Delvare [EMAIL PROTECTED]
Cc: Greg KH [EMAIL PROTECTED]
Signed-off-by: Andrew Morton [EMAIL PROTECTED]
---

 include/asm-i386/scatterlist.h |2 ++
 1 file changed, 2 insertions(+)

diff -puN include/asm-i386/scatterlist.h~cleanup-the-includes-of-linux-pcih-fix 
include/asm-i386/scatterlist.h
--- a/include/asm-i386/scatterlist.h~cleanup-the-includes-of-linux-pcih-fix
+++ a/include/asm-i386/scatterlist.h
@@ -1,6 +1,8 @@
 #ifndef _I386_SCATTERLIST_H
 #define _I386_SCATTERLIST_H
 
+#include linux/types.h
+
 struct scatterlist {
 struct page*page;
 unsigned int   offset;
_

Patches currently in -mm which might be from [EMAIL PROTECTED] are

origin.patch
cyclades-return-closing_wait.patch
slab-introduce-krealloc-fix.patch
make-aout-executables-work-again-fix.patch
sony-laptop-fix-uninitialised-variable.patch
git-alsa-oops-fix.patch
git-drm.patch
git-dvb.patch
ia64-kexec-use-efi_loader_data-for-elf-core-header-tidy.patch
git-input.patch
setstream-param-for-psmouse-tweak.patch
git-md-accel-fixup.patch
nommu-present-backing-device-capabilities-for-mtd-fix.patch
git-ubi.patch
git-netdev-all.patch
git-netdev-all-ipw2200-fix.patch
revert-drivers-net-tulip-dmfe-support-basic-carrier-detection.patch
dmfe-add-support-for-suspend-resume-fix.patch
sis900-warning-fixes.patch
div64_64-common-code-fix.patch
bonding-replace-system-timer-with-work-queue-tidy.patch
git-parisc.patch
rm9000-serial-driver-tidy.patch
cleanup-the-includes-of-linux-pcih-fix.patch
git-pciseg.patch
revert-md-avoid-possible-bug_on-in-md-bitmap-handling-for-git-block.patch
git-block-fixup.patch
git-block-another-md-fix.patch
git-unionfs.patch
usbatm-create-sysfs-link-device-from-atm-class-device-tidy.patch
git-wireless-fixup.patch
revert-x86_64-mm-change-sysenter_setup-to-__cpuinit-improve-__init-__initdata.patch
after-before-x86_64-mm-mmconfig-share.patch
linux-sysdevh-needs-to-include-linux-moduleh-up-fix.patch
linux-sysdevh-needs-to-include-linux-moduleh-up-fix-2.patch
safer-nr_node_ids-and-nr_node_ids-determination-and-initial-up-fix.patch
safer-nr_node_ids-and-nr_node_ids-determination-and-initial-tweak.patch
smaps-add-clear_refs-file-to-clear-reference-fix.patch
driver_bfin_serial_core-update.patch
fix-rmmod-read-write-races-in-proc-entries-fix.patch
reduce-size-of-task_struct-on-64-bit-machines.patch
mm-shrink-parent-dentries-when-shrinking-slab.patch
merge-sys_clone-sys_unshare-nsproxy-and-namespace-fix.patch
merge-sys_clone-sys_unshare-nsproxy-and-namespace-fix-2.patch
call-cpu_chain-with-cpu_down_failed-if-cpu_down_prepare-failed-vs-reduce-size-of-task_struct-on-64-bit-machines.patch
speedup-divides-by-cpu_power-in-scheduler-up-fix.patch
lutimesat-compat-syscall-and-wire-up-on-x86_64-tidy.patch
utrace-prep.patch
utrace-prep-2.patch
revert-utrace-prep-2.patch
utrace-vs-reduce-size-of-task_struct-on-64-bit-machines.patch
local_t-mips-extension-shrink-duplicated-mips-32-64-bits-functions-from-localh-fix.patch
linux-kernel-markers-kconfig-menus-fix-4.patch
fbdev-hecuba-framebuffer-driver-fix.patch
mm-only-free-swap-space-of-reactivated-pages-debug.patch

-
To unsubscribe from this list: send the line unsubscribe mm-commits in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


- fully-honor-vdso_enabled.patch removed from -mm tree

2007-03-05 Thread akpm

The patch titled
 fully honor vdso_enabled [i386, sh; x86_64?]
has been removed from the -mm tree.  Its filename was
 fully-honor-vdso_enabled.patch

This patch was dropped because I am hopelessly confused - please resend

--
Subject: fully honor vdso_enabled [i386, sh; x86_64?]
From: John Reiser [EMAIL PROTECTED]

Architectures such as i386, sh, x86_64 have a flag
/proc/sys/vm/vdso_enabled to choose whether the kernel should setup a
process to use vdso after execve().  Informing the user code via
AT_SYSINFO* is controlled by macro ARCH_DLINFO in fs/binfmt_elf.c and
include/asm-$ARCH/elf.h, but the vdso page is established always via
arch_setup_additonal_pages() called from load_elf_binary().  If
vdso_enabled is off, then current code wastes kernel time during execve()
and fragments the address space unnecessarily.

This patch changes arch_setup_additonal_pages() to honor vdso_enabled.  For
i386 it also allows the option of a fixed addresss to avoid fragmenting the
address space.  Compiles and runs on i386.  x86_64 [IA32 support] and sh
maintainers also please comment.

For some related history, including interaction with exec-shield, see:
http://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=229304
and also 207020 and 162797.

Signed-off-by: John Reiser [EMAIL PROTECTED]
Cc: Andi Kleen [EMAIL PROTECTED]
Cc: Ingo Molnar [EMAIL PROTECTED]
Cc: Arjan van de Ven [EMAIL PROTECTED]
Acked-by: Paul Mundt [EMAIL PROTECTED]
Signed-off-by: Andrew Morton [EMAIL PROTECTED]
---

 arch/i386/kernel/sysenter.c|   19 ++-
 arch/sh/kernel/vsyscall/vsyscall.c |3 +++
 include/asm-i386/a.out.h   |2 +-
 3 files changed, 22 insertions(+), 2 deletions(-)

diff -puN arch/i386/kernel/sysenter.c~fully-honor-vdso_enabled 
arch/i386/kernel/sysenter.c
--- a/arch/i386/kernel/sysenter.c~fully-honor-vdso_enabled
+++ a/arch/i386/kernel/sysenter.c
@@ -22,6 +22,8 @@
 #include asm/msr.h
 #include asm/pgtable.h
 #include asm/unistd.h
+#include asm/a.out.h
+#include asm/mman.h
 
 /*
  * Should the kernel map a VDSO page into processes and pass its
@@ -105,10 +107,25 @@ int arch_setup_additional_pages(struct l
 {
struct mm_struct *mm = current-mm;
unsigned long addr;
+   unsigned long flags;
int ret;
 
+   switch (vdso_enabled) {
+   case 0:  /* none */
+   return 0;
+   default:
+   case 1:  /* vdso in random available page */
+   addr = 0ul;
+   flags = 0ul;
+   break;
+   case 2:  /* out of user's way */
+   addr = STACK_TOP;
+   flags = MAP_FIXED;
+   break;
+   }
+
down_write(mm-mmap_sem);
-   addr = get_unmapped_area(NULL, 0, PAGE_SIZE, 0, 0);
+   addr = get_unmapped_area(NULL, addr, PAGE_SIZE, 0, flags);
if (IS_ERR_VALUE(addr)) {
ret = addr;
goto up_fail;
diff -puN arch/sh/kernel/vsyscall/vsyscall.c~fully-honor-vdso_enabled 
arch/sh/kernel/vsyscall/vsyscall.c
--- a/arch/sh/kernel/vsyscall/vsyscall.c~fully-honor-vdso_enabled
+++ a/arch/sh/kernel/vsyscall/vsyscall.c
@@ -64,6 +64,9 @@ int arch_setup_additional_pages(struct l
unsigned long addr;
int ret;
 
+   if (!vdso_enabled)
+   return 0;
+
down_write(mm-mmap_sem);
addr = get_unmapped_area(NULL, 0, PAGE_SIZE, 0, 0);
if (IS_ERR_VALUE(addr)) {
diff -puN include/asm-i386/a.out.h~fully-honor-vdso_enabled 
include/asm-i386/a.out.h
--- a/include/asm-i386/a.out.h~fully-honor-vdso_enabled
+++ a/include/asm-i386/a.out.h
@@ -19,7 +19,7 @@ struct exec
 
 #ifdef __KERNEL__
 
-#define STACK_TOP  TASK_SIZE
+#define STACK_TOP  (TASK_SIZE - PAGE_SIZE)  /* 1 page optional for vdso */
 
 #endif
 
_

Patches currently in -mm which might be from [EMAIL PROTECTED] are

fully-honor-vdso_enabled.patch

-
To unsubscribe from this list: send the line unsubscribe mm-commits in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


mm snapshot broken-out-2007-03-05-02-22.tar.gz uploaded

2007-03-05 Thread akpm
The mm snapshot broken-out-2007-03-05-02-22.tar.gz has been uploaded to

   
ftp://ftp.kernel.org/pub/linux/kernel/people/akpm/mm/broken-out-2007-03-05-02-22.tar.gz

It contains the following patches against 2.6.21-rc2:

origin.patch
cyclades-return-closing_wait.patch
io_apic-needs-apicdefh.patch
msi-sanely-support-hardware-level-msi-disabling.patch
msi-fixup-the-msi-enable-disable-logic.patch
msi-support-masking-msi-irqs-without-a-mask-bit.patch
ecryptfs-check-xattr-operation-support-fix.patch
parport-is-an-orphan.patch
fix-soft-lockup-with-iseries-viocd-driver.patch
add-config_generic_gpio.patch
gpio_keys-driver-shouldnt-be-arm-specific.patch
dz-remove-struct-pt_regs-references.patch
shmem-and-simple-const-super_operations.patch
sched-remove-smt-nice.patch
fb-sm501fb-off-by-1-sysfs-store.patch
page-migration-fix-vma-flag-checking.patch
vmi-timer-fixes-round-two.patch
vmi-sched-clock-paravirt-op-fix.patch
vmi-cpu-cycles-fix.patch
vmi-fix-highpte.patch
vmi-paravirt-drop-udelay-op.patch
vmi-pit-override.patch
vmi-fix-nohz-compile.patch
vmi-apic-ops.patch
vmi-smp-fixes.patch
md-fix-for-raid6-reshape.patch
fix-nmi-appears-to-be-stuck.patch
ecryptfs-lower-root-result-must-be-adirectory.patch
ecryptfs-handles-aop_truncated_page-better.patch
ipmi-check-if-default-ports-are-accessible-on-ppc.patch
x86_64-remove-unusued-flags-variable.patch
clocksource-init-adjustments-fix-bug-7426.patch
timer-hrtimer-take-per-cpu-locks-in-sane-order.patch
char-epcac-remove-unused-function.patch
atyfb-fix-kconfig-error.patch
documentation-for-io-accounting--reporting-via-procfs.patch
usb-storage-do-not-rebuild-when-kernel-version-changes.patch
arch-i386-kernel-vmic-must-include-asm-kmap_typesh.patch
bugfix-dont-use-the-tsc-in-sched_clock-if-unstable.patch
cleanup-unify-tsc_unstable-and-tsc_disable.patch
possible-bugfix-make-dmi_mark_tsc_unstable-call-mark_tsc_unstable.patch
slab-introduce-krealloc.patch
slab-introduce-krealloc-fix.patch
make-aout-executables-work-again.patch
make-aout-executables-work-again-fix.patch
macintosh-mangle-caps-lock-events-on-adb-keyboards.patch
git-acpi.patch
git-acpi-fix-cpuidle-borkage-2.patch
exit-acpi-processor-module-gracefully-if-acpi-is-disabled.patch
sony-laptop-fix-uninitialised-variable.patch
altix-reinitialize-acpi-tables.patch
fix-acpi-documentation-in-kernel-parameterstxt.patch
asus_acpi-invert-read-of-wled-proc-file-to-show-correct.patch
git-alsa.patch
git-alsa-oops-fix.patch
agp-prevent-probe-collision-of-sis-agp-and-amd64_agp.patch
git-arm.patch
arm-dma-mappingh.patch
git-avr32.patch
avr32-dma-mappingh.patch
git-cifs.patch
powerpc-rtas-msi-support.patch
gregkh-driver-platform-reorder-platform_device_del.patch
gregkh-driver-driver-core-udev-triggered-device-driver-binding.patch
gregkh-driver-driver-core-per-subsystem-multithreaded-probing.patch
gregkh-driver-powerpc-make-it-compile-for-multithread-change.patch
gregkh-driver-driver-core-don-t-fail-attaching-the-device-if-it-cannot-be-bound.patch
gregkh-driver-uio.patch
gregkh-driver-uio-documentation.patch
gregkh-driver-uio-dummy.patch
gregkh-driver-uio-irq.patch
gregkh-driver-uio-support-for-multiple-mappings.patch
gregkh-driver-uio-update-documentation-for-multiple-mappings.patch
gregkh-driver-put_device-might_sleep.patch
gregkh-driver-sysfs-crash-debugging.patch
gregkh-driver-kobject-warn.patch
gregkh-driver-warn-when-statically-allocated-kobjects-are-used.patch
gregkh-driver-nozomi.patch
driver-core-cleanup-device-links-code.patch
driver-core-add-missing-symlinks-error-handling.patch
driver-core-check-sysfs_create_link-errors.patch
git-drm.patch
git-dvb.patch
video4linux-fix-audio-input-for-avertv-go-007.patch
fix-saa7146_clipping_mem-size.patch
drivers-media-video-cpia_ppc-dont-use-_work_nar.patch
jdelvare-i2c-i2c-amd8111-missed-cleanup.patch
jdelvare-i2c-i2c-02-revert-core-warning-removal.patch
jdelvare-i2c-i2c-03-use-i2c_adapterdevparent-for-messages.patch
jdelvare-i2c-i2c-04-kill-i2c_adapterclass_dev.patch
jdelvare-i2c-i2c-05-i2c_adapter-devices-have-no-driver.patch
jdelvare-i2c-i2c-06-remove-duplicate-i2c-drivers-list.patch
jdelvare-i2c-i2c-algo-bit-always-send-stop-before-leaving.patch
jdelvare-i2c-i2c-add-smbus-block-read-emulation.patch
jdelvare-i2c-i2c-algo-bit-emulate-smbus-block-read.patch
jdelvare-i2c-i2c-parport-optimize-size.patch
jdelvare-i2c-i2c-nforce2-add-mcp61-mcp65-support.patch
jdelvare-i2c-clean-up-i2c-header-includes.patch
jdelvare-i2c-i2c-i801-restore-initial-state.patch
i2c-tsl2550-support.patch
ds1374-check-for-workqueue-creation.patch
jdelvare-hwmon-hwmon-smsc47m192-document-lpc47m292-support.patch
jdelvare-hwmon-hwmon-request-regions.patch
jdelvare-hwmon-hwmon-smsc47m1-add-lpc47m292-support.patch
jdelvare-hwmon-hwmon-smsc47m1-drop-useless-lock.patch
jdelvare-hwmon-hwmon-only-call-vid_which_vrm-when-needed.patch
jdelvare-hwmon-hwmon-fix-vid-table.patch
git-gfs2-nmw.patch
git-hid.patch
git-ia64.patch
ia64-point-saved_max_pfn-to-the-max_pfn-of-the-entire-system.patch
remove-stack-hard-limit-on-ia64.patch

- nvidiafb-bring-back-generic-ddc-reading-fix.patch removed from -mm tree

2007-03-05 Thread akpm

The patch titled
 nvidiafb-bring-back-generic-ddc-reading fix
has been removed from the -mm tree.  Its filename was
 nvidiafb-bring-back-generic-ddc-reading-fix.patch

This patch was dropped because it is obsolete

--
Subject: nvidiafb-bring-back-generic-ddc-reading fix
From: Michal Piotrowski [EMAIL PROTECTED]

Possible fix for

nvidiafb-bring-back-generic-ddc-reading.patch

drivers/built-in.o: In function `nvidia_probe_i2c_connector':
/mnt/md0/devel/linux-mm/drivers/video/nvidia/nv_i2c.c:166: undefined reference 
to `fb_ddc_read'
make[1]: *** [.tmp_vmlinux1] Error 1
make: *** [_all] Error 2

Signed-off-by: Michal Piotrowski [EMAIL PROTECTED]
Cc: Antonino Daplas [EMAIL PROTECTED]
Signed-off-by: Andrew Morton [EMAIL PROTECTED]
---

 drivers/video/Makefile |1 +
 1 files changed, 1 insertion(+)

diff -puN drivers/video/Makefile~nvidiafb-bring-back-generic-ddc-reading-fix 
drivers/video/Makefile
--- a/drivers/video/Makefile~nvidiafb-bring-back-generic-ddc-reading-fix
+++ a/drivers/video/Makefile
@@ -32,6 +32,7 @@ obj-$(CONFIG_FB_PM3)+= pm3fb.o
 obj-$(CONFIG_FB_MATROX)  += matrox/
 obj-$(CONFIG_FB_RIVA)+= riva/ vgastate.o
 obj-$(CONFIG_FB_NVIDIA)  += nvidia/
+obj-$(CONFIG_FB_NVIDIA_I2C)  += fb_ddc.o
 obj-$(CONFIG_FB_ATY) += aty/ macmodes.o
 obj-$(CONFIG_FB_ATY128)  += aty/ macmodes.o
 obj-$(CONFIG_FB_RADEON)  += aty/
_

Patches currently in -mm which might be from [EMAIL PROTECTED] are

origin.patch
char-epcac-remove-unused-function.patch
git-ia64.patch
git-input.patch
i386-irq-kill-irq-compression-fix.patch
extend-notifier_call_chain-to-count-nr_calls-made-fixes-3.patch
edac-new-opteron-athlon64-memory-controller-driver.patch
reiser4-configh.patch
nvidiafb-bring-back-generic-ddc-reading-fix.patch

-
To unsubscribe from this list: send the line unsubscribe mm-commits in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


+ fix-2621-rfcomm-lockups.patch added to -mm tree

2007-03-05 Thread akpm

The patch titled
 Fix 2.6.21 rfcomm lockups
has been added to the -mm tree.  Its filename is
 fix-2621-rfcomm-lockups.patch

*** Remember to use Documentation/SubmitChecklist when testing your code ***

See http://www.zip.com.au/~akpm/linux/patches/stuff/added-to-mm.txt to find
out what to do about this

--
Subject: Fix 2.6.21 rfcomm lockups
From: Mark Lord [EMAIL PROTECTED]

Any attempt to open/use a bluetooth rfcomm device locks up
scheduling completely on my machine.

Interrupts (ping, alt-sysrq) seem to be alive, but nothing else.

This was working fine in 2.6.20, broken now in 2.6.21-rc2-git*

Reverting this change (below) fixes it:

| authorMarcel Holtmann [EMAIL PROTECTED]
|  Sat, 17 Feb 2007 22:58:57 + (23:58 +0100)
| committerDavid S. Miller [EMAIL PROTECTED]
|  Mon, 26 Feb 2007 19:42:41 + (11:42 -0800)
| commitc1a3313698895d8ad4760f98642007bf236af2e8
| tree337a876f727061362b6a169f8759849c105b8f7atree | snapshot
| parentf5ffd4620aba9e55656483ae1ef5c79ba81f5403commit | diff
| | [Bluetooth] Make use of device_move() for RFCOMM TTY devices
| | In the case of bound RFCOMM TTY devices the parent is not available
| before its usage. So when opening a RFCOMM TTY device, move it to
| the corresponding ACL device as a child. When closing the device,
| move it back to the virtual device tree.
| Signed-off-by: Marcel Holtmann [EMAIL PROTECTED]

The simplest fix for this bug is to prevent sysfs_move_dir()
from self-deadlocking when (old_parent == new_parent).

This patch prevents total system lockup when using rfcomm devices.

Signed-off-by:  Mark Lord [EMAIL PROTECTED]
Acked-by: Cornelia Huck [EMAIL PROTECTED]
Cc: Greg KH [EMAIL PROTECTED]
Signed-off-by: Andrew Morton [EMAIL PROTECTED]
---

 fs/sysfs/dir.c |2 ++
 1 files changed, 2 insertions(+)

diff -puN fs/sysfs/dir.c~fix-2621-rfcomm-lockups fs/sysfs/dir.c
--- a/fs/sysfs/dir.c~fix-2621-rfcomm-lockups
+++ a/fs/sysfs/dir.c
@@ -431,6 +431,8 @@ int sysfs_move_dir(struct kobject *kobj,
new_parent_dentry = new_parent ?
new_parent-dentry : sysfs_mount-mnt_sb-s_root;
 
+   if (old_parent_dentry-d_inode == new_parent_dentry-d_inode)
+   return 0;   /* nothing to move */
 again:
mutex_lock(old_parent_dentry-d_inode-i_mutex);
if (!mutex_trylock(new_parent_dentry-d_inode-i_mutex)) {
_

Patches currently in -mm which might be from [EMAIL PROTECTED] are

fix-2621-rfcomm-lockups.patch

-
To unsubscribe from this list: send the line unsubscribe mm-commits in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


- atyfb-replace-busy-loop-with-mdelay.patch removed from -mm tree

2007-03-05 Thread akpm

The patch titled
 atyfb: replace busy loop with mdelay()
has been removed from the -mm tree.  Its filename was
 atyfb-replace-busy-loop-with-mdelay.patch

This patch was dropped because it is obsolete

--
Subject: atyfb: replace busy loop with mdelay()
From: Ville Syrjala [EMAIL PROTECTED]

Replace a busy loop with mdelay() in atyfb clock setup code. This fixes
boot hangs several people have experienced.

Signed-off-by: Ville Syrjala [EMAIL PROTECTED]
Acked-by: James Simmons [EMAIL PROTECTED]
Cc: Antonino A. Daplas [EMAIL PROTECTED]
Signed-off-by: Andrew Morton [EMAIL PROTECTED]
---

 drivers/video/aty/mach64_ct.c |9 +++--
 1 file changed, 3 insertions(+), 6 deletions(-)

diff -puN drivers/video/aty/mach64_ct.c~atyfb-replace-busy-loop-with-mdelay 
drivers/video/aty/mach64_ct.c
--- a/drivers/video/aty/mach64_ct.c~atyfb-replace-busy-loop-with-mdelay
+++ a/drivers/video/aty/mach64_ct.c
@@ -598,7 +598,6 @@ static void aty_resume_pll_ct(const stru
struct atyfb_par *par = info-par;
 
if (par-mclk_per != par-xclk_per) {
-   int i;
/*
* This disables the sclk, crashes the computer as reported:
* aty_st_pll_ct(SPLL_CNTL2, 3, info);
@@ -609,12 +608,10 @@ static void aty_resume_pll_ct(const stru
aty_st_pll_ct(SCLK_FB_DIV, pll-ct.sclk_fb_div, par);
aty_st_pll_ct(SPLL_CNTL2, pll-ct.spll_cntl2, par);
/*
-* The sclk has been started. However, I believe the first clock
-* ticks it generates are not very stable. Hope this primitive 
loop
-* helps for Rage Mobilities that sometimes crash when
-* we switch to sclk. (Daniel Mantione, 13-05-2003)
+* SCLK has been started. Wait for the PLL to lock. 5 ms
+* should be enough according to mach64 programmer's guide.
 */
-   for (i=0;i=0x1;i++);
+   mdelay(5);
}
 
aty_st_pll_ct(PLL_REF_DIV, pll-ct.pll_ref_div, par);
_

Patches currently in -mm which might be from [EMAIL PROTECTED] are

atyfb-replace-busy-loop-with-mdelay.patch

-
To unsubscribe from this list: send the line unsubscribe mm-commits in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


- cyclades-return-closing_wait.patch removed from -mm tree

2007-03-05 Thread akpm

The patch titled
 cyclades: return closing_wait
has been removed from the -mm tree.  Its filename was
 cyclades-return-closing_wait.patch

This patch was dropped because it was merged into mainline or a subsystem tree

--
Subject: cyclades: return closing_wait
From: Andrew Morton [EMAIL PROTECTED]

In http://bugzilla.kernel.org/show_bug.cgi?id=8065, Shen points out that the
cyclades driver forget to return closing_wait to userspace.

Cc: Alan Cox [EMAIL PROTECTED]
Cc: Russell King [EMAIL PROTECTED]
Cc: Shen [EMAIL PROTECTED]
Signed-off-by: Andrew Morton [EMAIL PROTECTED]
---

 drivers/char/cyclades.c |1 +
 1 file changed, 1 insertion(+)

diff -puN drivers/char/cyclades.c~cyclades-return-closing_wait 
drivers/char/cyclades.c
--- a/drivers/char/cyclades.c~cyclades-return-closing_wait
+++ a/drivers/char/cyclades.c
@@ -3501,6 +3501,7 @@ get_serial_info(struct cyclades_port *in
tmp.irq = cinfo-irq;
tmp.flags = info-flags;
tmp.close_delay = info-close_delay;
+   tmp.closing_wait = info-closing_wait;
tmp.baud_base = info-baud;
tmp.custom_divisor = info-custom_divisor;
tmp.hub6 = 0;   /*!!! */
_

Patches currently in -mm which might be from [EMAIL PROTECTED] are

origin.patch
slab-introduce-krealloc-fix.patch
make-aout-executables-work-again-fix.patch
sony-laptop-fix-uninitialised-variable.patch
git-alsa-oops-fix.patch
git-drm.patch
git-dvb.patch
ia64-kexec-use-efi_loader_data-for-elf-core-header-tidy.patch
git-input.patch
setstream-param-for-psmouse-tweak.patch
git-md-accel-fixup.patch
nommu-present-backing-device-capabilities-for-mtd-fix.patch
git-ubi.patch
git-netdev-all.patch
git-netdev-all-ipw2200-fix.patch
revert-drivers-net-tulip-dmfe-support-basic-carrier-detection.patch
dmfe-add-support-for-suspend-resume-fix.patch
sis900-warning-fixes.patch
div64_64-common-code-fix.patch
bonding-replace-system-timer-with-work-queue-tidy.patch
git-parisc.patch
rm9000-serial-driver-tidy.patch
git-pciseg.patch
revert-md-avoid-possible-bug_on-in-md-bitmap-handling-for-git-block.patch
git-block-fixup.patch
git-block-another-md-fix.patch
git-unionfs.patch
usbatm-create-sysfs-link-device-from-atm-class-device-tidy.patch
git-wireless-fixup.patch
revert-x86_64-mm-change-sysenter_setup-to-__cpuinit-improve-__init-__initdata.patch
after-before-x86_64-mm-mmconfig-share.patch
linux-sysdevh-needs-to-include-linux-moduleh-up-fix.patch
linux-sysdevh-needs-to-include-linux-moduleh-up-fix-2.patch
safer-nr_node_ids-and-nr_node_ids-determination-and-initial-up-fix.patch
safer-nr_node_ids-and-nr_node_ids-determination-and-initial-tweak.patch
smaps-add-clear_refs-file-to-clear-reference-fix.patch
driver_bfin_serial_core-update.patch
fix-rmmod-read-write-races-in-proc-entries-fix.patch
reduce-size-of-task_struct-on-64-bit-machines.patch
mm-shrink-parent-dentries-when-shrinking-slab.patch
merge-sys_clone-sys_unshare-nsproxy-and-namespace-fix.patch
merge-sys_clone-sys_unshare-nsproxy-and-namespace-fix-2.patch
call-cpu_chain-with-cpu_down_failed-if-cpu_down_prepare-failed-vs-reduce-size-of-task_struct-on-64-bit-machines.patch
speedup-divides-by-cpu_power-in-scheduler-up-fix.patch
lutimesat-compat-syscall-and-wire-up-on-x86_64-tidy.patch
utrace-prep.patch
utrace-prep-2.patch
revert-utrace-prep-2.patch
utrace-vs-reduce-size-of-task_struct-on-64-bit-machines.patch
local_t-mips-extension-shrink-duplicated-mips-32-64-bits-functions-from-localh-fix.patch
linux-kernel-markers-kconfig-menus-fix-4.patch
fbdev-hecuba-framebuffer-driver-fix.patch
mm-only-free-swap-space-of-reactivated-pages-debug.patch

-
To unsubscribe from this list: send the line unsubscribe mm-commits in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


- msi-sanely-support-hardware-level-msi-disabling.patch removed from -mm tree

2007-03-05 Thread akpm

The patch titled
 msi: sanely support hardware level msi disabling
has been removed from the -mm tree.  Its filename was
 msi-sanely-support-hardware-level-msi-disabling.patch

This patch was dropped because it was merged into mainline or a subsystem tree

--
Subject: msi: sanely support hardware level msi disabling
From: Eric W. Biederman [EMAIL PROTECTED]

In some cases when we are not using msi we need a way to ensure that the
hardware does not have an msi capability enabled.  Currently the code has been
calling disable_msi_mode to try and achieve that.  However disable_msi_mode
has several other side effects and is only available when msi support is
compiled in so it isn't really appropriate.

Instead this patch implements pci_msi_off which disables all msi and msix
capabilities unconditionally with no additional side effects.

pci_disable_device was redundantly clearing the bus master enable flag and
clearing the msi enable bit.  A device that is not allowed to perform bus
mastering operations cannot generate intx or msi interrupt messages as those
are essentially a special case of dma, and require bus mastering.  So the call
in pci_disable_device to disable msi capabilities was redundant.

quirk_pcie_pxh also called disable_msi_mode and is updated to use pci_msi_off.

Signed-off-by: Eric W. Biederman [EMAIL PROTECTED]
Cc: Michael Ellerman [EMAIL PROTECTED]
Cc: Paul Mackerras [EMAIL PROTECTED]
Cc: Benjamin Herrenschmidt [EMAIL PROTECTED]
Cc: Greg KH [EMAIL PROTECTED]
Signed-off-by: Andrew Morton [EMAIL PROTECTED]
---

 arch/powerpc/kernel/irq.c |1 -
 drivers/pci/msi.c |2 +-
 drivers/pci/pci.c |   34 +++---
 drivers/pci/pci.h |2 --
 drivers/pci/quirks.c  |4 ++--
 include/linux/pci.h   |1 +
 include/linux/pci_regs.h  |7 ---
 7 files changed, 35 insertions(+), 16 deletions(-)

diff -puN 
arch/powerpc/kernel/irq.c~msi-sanely-support-hardware-level-msi-disabling 
arch/powerpc/kernel/irq.c
--- a/arch/powerpc/kernel/irq.c~msi-sanely-support-hardware-level-msi-disabling
+++ a/arch/powerpc/kernel/irq.c
@@ -968,7 +968,6 @@ void pci_scan_msi_device(struct pci_dev 
 int pci_enable_msix(struct pci_dev* dev, struct msix_entry *entries, int nvec) 
{return -1;}
 void pci_disable_msix(struct pci_dev *dev) {}
 void msi_remove_pci_irq_vectors(struct pci_dev *dev) {}
-void disable_msi_mode(struct pci_dev *dev, int pos, int type) {}
 void pci_no_msi(void) {}
 EXPORT_SYMBOL(pci_enable_msix);
 EXPORT_SYMBOL(pci_disable_msix);
diff -puN drivers/pci/msi.c~msi-sanely-support-hardware-level-msi-disabling 
drivers/pci/msi.c
--- a/drivers/pci/msi.c~msi-sanely-support-hardware-level-msi-disabling
+++ a/drivers/pci/msi.c
@@ -211,7 +211,7 @@ static void enable_msi_mode(struct pci_d
pci_intx(dev, 0);  /* disable intx */
 }
 
-void disable_msi_mode(struct pci_dev *dev, int pos, int type)
+static void disable_msi_mode(struct pci_dev *dev, int pos, int type)
 {
u16 control;
 
diff -puN drivers/pci/pci.c~msi-sanely-support-hardware-level-msi-disabling 
drivers/pci/pci.c
--- a/drivers/pci/pci.c~msi-sanely-support-hardware-level-msi-disabling
+++ a/drivers/pci/pci.c
@@ -881,13 +881,6 @@ pci_disable_device(struct pci_dev *dev)
if (atomic_sub_return(1, dev-enable_cnt) != 0)
return;
 
-   if (dev-msi_enabled)
-   disable_msi_mode(dev, pci_find_capability(dev, PCI_CAP_ID_MSI),
-   PCI_CAP_ID_MSI);
-   if (dev-msix_enabled)
-   disable_msi_mode(dev, pci_find_capability(dev, PCI_CAP_ID_MSI),
-   PCI_CAP_ID_MSIX);
-
pci_read_config_word(dev, PCI_COMMAND, pci_command);
if (pci_command  PCI_COMMAND_MASTER) {
pci_command = ~PCI_COMMAND_MASTER;
@@ -1277,6 +1270,33 @@ pci_intx(struct pci_dev *pdev, int enabl
}
 }
 
+/**
+ * pci_msi_off - disables any msi or msix capabilities
+ * @pdev: the PCI device to operate on
+ *
+ * If you want to use msi see pci_enable_msi and friends.
+ * This is a lower level primitive that allows us to disable
+ * msi operation at the device level.
+ */
+void pci_msi_off(struct pci_dev *dev)
+{
+   int pos;
+   u16 control;
+
+   pos = pci_find_capability(dev, PCI_CAP_ID_MSI);
+   if (pos) {
+   pci_read_config_word(dev, pos + PCI_MSI_FLAGS, control);
+   control = ~PCI_MSI_FLAGS_ENABLE;
+   pci_write_config_word(dev, pos + PCI_MSI_FLAGS, control);
+   }
+   pos = pci_find_capability(dev, PCI_CAP_ID_MSIX);
+   if (pos) {
+   pci_read_config_word(dev, pos + PCI_MSIX_FLAGS, control);
+   control = ~PCI_MSIX_FLAGS_ENABLE;
+   pci_write_config_word(dev, pos + PCI_MSIX_FLAGS, control);
+   }
+}
+
 #ifndef HAVE_ARCH_PCI_SET_DMA_MASK
 /*
  * These can be overridden by arch-specific implementations
diff -puN 

- io_apic-needs-apicdefh.patch removed from -mm tree

2007-03-05 Thread akpm

The patch titled
 io_apic.h needs apicdef.h
has been removed from the -mm tree.  Its filename was
 io_apic-needs-apicdefh.patch

This patch was dropped because it was merged into mainline or a subsystem tree

--
Subject: io_apic.h needs apicdef.h
From: Jean Delvare [EMAIL PROTECTED]

A -mm patch caused:

In file included from drivers/pci/quirks.c:532:
include/asm/io_apic.h:61: error: MAX_IO_APICS undeclared here (not in a 
function)

So let's include the needed header.

Signed-off-by: Jean Delvare [EMAIL PROTECTED]
Cc: Andi Kleen [EMAIL PROTECTED]
Signed-off-by: Andrew Morton [EMAIL PROTECTED]
---

 include/asm-i386/io_apic.h   |1 +
 include/asm-x86_64/io_apic.h |1 +
 2 files changed, 2 insertions(+)

diff -puN include/asm-i386/io_apic.h~io_apic-needs-apicdefh 
include/asm-i386/io_apic.h
--- a/include/asm-i386/io_apic.h~io_apic-needs-apicdefh
+++ a/include/asm-i386/io_apic.h
@@ -3,6 +3,7 @@
 
 #include asm/types.h
 #include asm/mpspec.h
+#include asm/apicdef.h
 
 /*
  * Intel IO-APIC support for SMP and UP systems.
diff -puN include/asm-x86_64/io_apic.h~io_apic-needs-apicdefh 
include/asm-x86_64/io_apic.h
--- a/include/asm-x86_64/io_apic.h~io_apic-needs-apicdefh
+++ a/include/asm-x86_64/io_apic.h
@@ -3,6 +3,7 @@
 
 #include asm/types.h
 #include asm/mpspec.h
+#include asm/apicdef.h
 
 /*
  * Intel IO-APIC support for SMP and UP systems.
_

Patches currently in -mm which might be from [EMAIL PROTECTED] are

origin.patch
git-dvb.patch
scatterlisth-needs-typesh.patch
cleanup-the-includes-of-linux-pcih.patch

-
To unsubscribe from this list: send the line unsubscribe mm-commits in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


- msi-fixup-the-msi-enable-disable-logic.patch removed from -mm tree

2007-03-05 Thread akpm

The patch titled
 msi: fix up the msi enable/disable logic
has been removed from the -mm tree.  Its filename was
 msi-fixup-the-msi-enable-disable-logic.patch

This patch was dropped because it was merged into mainline or a subsystem tree

--
Subject: msi: fix up the msi enable/disable logic
From: Eric W. Biederman [EMAIL PROTECTED]

enable/disable_msi_mode have several side effects which keeps them from being
generally useful.  So this patch replaces them with with two much more
targeted functions: msi_set_enable and msix_set_enable.

This patch makes pci_dev-msi_enabled and pci_dev-msix_enabled the definitive
way to test if linux has enabled the msi capability, and has the appropriate
msi data structures set up.

This patch ensures that while writing the msi messages in save/restore and
during device initialization we have the msi capability disabled so we don't
get into races.  The pci spec requires that we do not have the msi capability
enabled and the msi messages unmasked while we write the messages.  Completely
disabling the capability is overkill but it is easy :)

Care has been taken so we never have both a msi capability and intx enabled
simultaneously.  We haven't run into a problem yet but better safe then sorry.

Signed-off-by: Eric W. Biederman [EMAIL PROTECTED]
Cc: Michael Ellerman [EMAIL PROTECTED]
Cc: Paul Mackerras [EMAIL PROTECTED]
Cc: Benjamin Herrenschmidt [EMAIL PROTECTED]
Cc: Greg KH [EMAIL PROTECTED]
Signed-off-by: Andrew Morton [EMAIL PROTECTED]
---

 drivers/pci/msi.c |  144 +++-
 1 file changed, 64 insertions(+), 80 deletions(-)

diff -puN drivers/pci/msi.c~msi-fixup-the-msi-enable-disable-logic 
drivers/pci/msi.c
--- a/drivers/pci/msi.c~msi-fixup-the-msi-enable-disable-logic
+++ a/drivers/pci/msi.c
@@ -38,6 +38,36 @@ static int msi_cache_init(void)
return 0;
 }
 
+static void msi_set_enable(struct pci_dev *dev, int enable)
+{
+   int pos;
+   u16 control;
+
+   pos = pci_find_capability(dev, PCI_CAP_ID_MSI);
+   if (pos) {
+   pci_read_config_word(dev, pos + PCI_MSI_FLAGS, control);
+   control = ~PCI_MSI_FLAGS_ENABLE;
+   if (enable)
+   control |= PCI_MSI_FLAGS_ENABLE;
+   pci_write_config_word(dev, pos + PCI_MSI_FLAGS, control);
+   }
+}
+
+static void msix_set_enable(struct pci_dev *dev, int enable)
+{
+   int pos;
+   u16 control;
+
+   pos = pci_find_capability(dev, PCI_CAP_ID_MSIX);
+   if (pos) {
+   pci_read_config_word(dev, pos + PCI_MSIX_FLAGS, control);
+   control = ~PCI_MSIX_FLAGS_ENABLE;
+   if (enable)
+   control |= PCI_MSIX_FLAGS_ENABLE;
+   pci_write_config_word(dev, pos + PCI_MSIX_FLAGS, control);
+   }
+}
+
 static void msi_set_mask_bit(unsigned int irq, int flag)
 {
struct msi_desc *entry;
@@ -192,44 +222,6 @@ static struct msi_desc* alloc_msi_entry(
return entry;
 }
 
-static void enable_msi_mode(struct pci_dev *dev, int pos, int type)
-{
-   u16 control;
-
-   pci_read_config_word(dev, msi_control_reg(pos), control);
-   if (type == PCI_CAP_ID_MSI) {
-   /* Set enabled bits to single MSI  enable MSI_enable bit */
-   msi_enable(control, 1);
-   pci_write_config_word(dev, msi_control_reg(pos), control);
-   dev-msi_enabled = 1;
-   } else {
-   msix_enable(control);
-   pci_write_config_word(dev, msi_control_reg(pos), control);
-   dev-msix_enabled = 1;
-   }
-
-   pci_intx(dev, 0);  /* disable intx */
-}
-
-static void disable_msi_mode(struct pci_dev *dev, int pos, int type)
-{
-   u16 control;
-
-   pci_read_config_word(dev, msi_control_reg(pos), control);
-   if (type == PCI_CAP_ID_MSI) {
-   /* Set enabled bits to single MSI  enable MSI_enable bit */
-   msi_disable(control);
-   pci_write_config_word(dev, msi_control_reg(pos), control);
-   dev-msi_enabled = 0;
-   } else {
-   msix_disable(control);
-   pci_write_config_word(dev, msi_control_reg(pos), control);
-   dev-msix_enabled = 0;
-   }
-
-   pci_intx(dev, 1);  /* enable intx */
-}
-
 #ifdef CONFIG_PM
 static int __pci_save_msi_state(struct pci_dev *dev)
 {
@@ -238,12 +230,11 @@ static int __pci_save_msi_state(struct p
struct pci_cap_saved_state *save_state;
u32 *cap;
 
-   pos = pci_find_capability(dev, PCI_CAP_ID_MSI);
-   if (pos = 0 || dev-no_msi)
+   if (!dev-msi_enabled)
return 0;
 
-   pci_read_config_word(dev, msi_control_reg(pos), control);
-   if (!(control  PCI_MSI_FLAGS_ENABLE))
+   pos = pci_find_capability(dev, PCI_CAP_ID_MSI);
+   if (pos = 0)
return 0;
 
save_state = kzalloc(sizeof(struct 

- msi-support-masking-msi-irqs-without-a-mask-bit.patch removed from -mm tree

2007-03-05 Thread akpm

The patch titled
 msi: support masking msi irqs without a mask bit
has been removed from the -mm tree.  Its filename was
 msi-support-masking-msi-irqs-without-a-mask-bit.patch

This patch was dropped because it was merged into mainline or a subsystem tree

--
Subject: msi: support masking msi irqs without a mask bit
From: Eric W. Biederman [EMAIL PROTECTED]

For devices that do not support msi-x we only support 1 interrupt.  Therefore
we can disable that one interrupt by disabling the msi capability itself.  If
we leave the intx interrupts disabled while we have the msi capability
disabled no interrupts should be delivered from that device.

Devices with just the minimal msi support (and thus hitting this code path)
include things like the intel e1000 nic, so it looks like is going to be a
fairly common case and thus important to get right.

Signed-off-by: Eric W. Biederman [EMAIL PROTECTED]
Cc: Michael Ellerman [EMAIL PROTECTED]
Cc: Paul Mackerras [EMAIL PROTECTED]
Cc: Benjamin Herrenschmidt [EMAIL PROTECTED]
Cc: Greg KH [EMAIL PROTECTED]
Signed-off-by: Andrew Morton [EMAIL PROTECTED]
---

 drivers/pci/msi.c |2 ++
 1 file changed, 2 insertions(+)

diff -puN drivers/pci/msi.c~msi-support-masking-msi-irqs-without-a-mask-bit 
drivers/pci/msi.c
--- a/drivers/pci/msi.c~msi-support-masking-msi-irqs-without-a-mask-bit
+++ a/drivers/pci/msi.c
@@ -85,6 +85,8 @@ static void msi_set_mask_bit(unsigned in
mask_bits = ~(1);
mask_bits |= flag;
pci_write_config_dword(entry-dev, pos, mask_bits);
+   } else {
+   msi_set_enable(entry-dev, !flag);
}
break;
case PCI_CAP_ID_MSIX:
_

Patches currently in -mm which might be from [EMAIL PROTECTED] are

origin.patch
powerpc-rtas-msi-support.patch
fix-i-oat-for-kexec.patch
i386-irq-kill-irq-compression.patch
i386-irq-kill-irq-compression-fix.patch
remove-hardcoding-of-hard_smp_processor_id-on-up.patch
remove-hardcoding-of-hard_smp_processor_id-on-up-move-definition-of-hard_smp_processor_id-to-asm-smph.patch
use-the-apic-to-determine-the-hardware-processor-id-i386.patch
use-the-apic-to-determine-the-hardware-processor-id-x86_64.patch
always-ask-the-hardware-to-obtain-hardware-processor.patch
procfs-fix-race-between-proc_readdir-and-remove_proc_entry.patch
procfs-fix-race-between-proc_readdir-and-remove_proc_entry-fix.patch
clone-flag-clone_parent_tidptr-leaves-invalid-results-in-memory.patch
fix-rmmod-read-write-races-in-proc-entries.patch
fix-rmmod-read-write-races-in-proc-entries-fix.patch
allow-access-to-proc-pid-fd-after-setuid.patch
allow-access-to-proc-pid-fd-after-setuid-fix.patch
allow-access-to-proc-pid-fd-after-setuid-update.patch
allow-access-to-proc-pid-fd-after-setuid-update-2.patch
merge-sys_clone-sys_unshare-nsproxy-and-namespace.patch
merge-sys_clone-sys_unshare-nsproxy-and-namespace-fix.patch
merge-sys_clone-sys_unshare-nsproxy-and-namespace-fix-2.patch
edac-k8-driver-coding-tidy.patch
sched2-sched-domain-sysctl-use-ctl_unnumbered.patch
mm-implement-swap-prefetching-use-ctl_unnumbered.patch
readahead-sysctl-parameters-use-ctl_unnumbered.patch
vdso-print-fatal-signals-use-ctl_unnumbered.patch

-
To unsubscribe from this list: send the line unsubscribe mm-commits in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


- fix-soft-lockup-with-iseries-viocd-driver.patch removed from -mm tree

2007-03-05 Thread akpm

The patch titled
 Fix soft lockup with iSeries viocd driver
has been removed from the -mm tree.  Its filename was
 fix-soft-lockup-with-iseries-viocd-driver.patch

This patch was dropped because it was merged into mainline or a subsystem tree

--
Subject: Fix soft lockup with iSeries viocd driver
From: Tony Breeds [EMAIL PROTECTED]

Fix soft lockup with iSeries viocd driver, caused by eventually calling
end_that_request_first() with nr_bytes 0.

Some versions of hald do an SG_IO ioctl on the viocd device which becomes a
request with hard_nr_sectors and hard_cur_sectors set to zero.  Passing zero
as the number of sectors to end_request() (which calls
end_that_request_first()) causes an infinite loop when the bio is being freed.

This patch makes sure that the zero is never passed.  It only requires some
number larger the the request size the terminate the loop.

The lockup is triggered by hald, interrogating the device.

Signed-off-by: Tony Breeds [EMAIL PROTECTED]
Signed-off-by: Jens Axboe [EMAIL PROTECTED]
Cc: Stephen Rothwell [EMAIL PROTECTED]
Signed-off-by: Andrew Morton [EMAIL PROTECTED]
---

 drivers/cdrom/viocd.c |   27 +++
 1 file changed, 23 insertions(+), 4 deletions(-)

diff -puN drivers/cdrom/viocd.c~fix-soft-lockup-with-iseries-viocd-driver 
drivers/cdrom/viocd.c
--- a/drivers/cdrom/viocd.c~fix-soft-lockup-with-iseries-viocd-driver
+++ a/drivers/cdrom/viocd.c
@@ -376,6 +376,25 @@ static int send_request(struct request *
return 0;
 }
 
+static void viocd_end_request(struct request *req, int uptodate)
+{
+   int nsectors = req-hard_nr_sectors;
+
+   /*
+* Make sure it's fully ended, and ensure that we process
+* at least one sector.
+*/
+   if (blk_pc_request(req))
+   nsectors = (req-data_len + 511)  9;
+   if (!nsectors)
+   nsectors = 1;
+
+   if (end_that_request_first(req, uptodate, nsectors))
+   BUG();
+   add_disk_randomness(req-rq_disk);
+   blkdev_dequeue_request(req);
+   end_that_request_last(req, uptodate);
+}
 
 static int rwreq;
 
@@ -385,11 +404,11 @@ static void do_viocd_request(request_que
 
while ((rwreq == 0)  ((req = elv_next_request(q)) != NULL)) {
if (!blk_fs_request(req))
-   end_request(req, 0);
+   viocd_end_request(req, 0);
else if (send_request(req)  0) {
printk(VIOCD_KERN_WARNING
unable to send message to OS/400!);
-   end_request(req, 0);
+   viocd_end_request(req, 0);
} else
rwreq++;
}
@@ -601,9 +620,9 @@ return_complete:
with rc %d:0x%04X: %s\n,
req, event-xRc,
bevent-sub_result, err-msg);
-   end_request(req, 0);
+   viocd_end_request(req, 0);
} else
-   end_request(req, 1);
+   viocd_end_request(req, 1);
 
/* restart handling of incoming requests */
spin_unlock_irqrestore(viocd_reqlock, flags);
_

Patches currently in -mm which might be from [EMAIL PROTECTED] are

origin.patch

-
To unsubscribe from this list: send the line unsubscribe mm-commits in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


- parport-is-an-orphan.patch removed from -mm tree

2007-03-05 Thread akpm

The patch titled
 parport is an orphan
has been removed from the -mm tree.  Its filename was
 parport-is-an-orphan.patch

This patch was dropped because it was merged into mainline or a subsystem tree

--
Subject: parport is an orphan
From: David Brownell [EMAIL PROTECTED]

The writing on the wall seem to be that the parport stack is orphaned,
rather than maintained by four folk ...  and having a webpage that says the
latest patches are based on a 2.5 kernel.

Signed-off-by: David Brownell [EMAIL PROTECTED]
Acked-by: Jean Delvare [EMAIL PROTECTED]
Signed-off-by: Andrew Morton [EMAIL PROTECTED]
---

 MAINTAINERS |   10 +-
 1 file changed, 1 insertion(+), 9 deletions(-)

diff -puN MAINTAINERS~parport-is-an-orphan MAINTAINERS
--- a/MAINTAINERS~parport-is-an-orphan
+++ a/MAINTAINERS
@@ -2553,16 +2553,8 @@ L:   [EMAIL PROTECTED]
 S: Maintained
 
 PARALLEL PORT SUPPORT
-P: Phil Blundell
-M: [EMAIL PROTECTED]
-P: Tim Waugh
-M: [EMAIL PROTECTED]
-P: David Campbell
-P: Andrea Arcangeli
-M: [EMAIL PROTECTED]
 L: [EMAIL PROTECTED]
-W: http://people.redhat.com/twaugh/parport/
-S: Maintained
+S: Orphan
 
 PARIDE DRIVERS FOR PARALLEL PORT IDE DEVICES
 P: Tim Waugh
_

Patches currently in -mm which might be from [EMAIL PROTECTED] are

origin.patch
git-avr32.patch
git-input.patch
git-md-accel.patch
8250-make-probing-for-txen-bug-a-config-option.patch
blackfin-on-chip-rtc-controller-driver.patch
documentation-ask-driver-writers-to-provide-pm-support.patch
init-dma-masks-in-pnp_dev.patch
rtc-remove-sys-class-rtc-dev.patch
rtc-rtc-interfaces-dont-use-class_device.patch
rtc-simplified-rtc-sysfs-attribute-handling.patch
rtc-simplified-proc-driver-rtc-handling.patch
rtc-remove-rest-of-class_device.patch
rtc-suspend-resume-restores-system-clock.patch
rtc-simplified-rtc-sysfs-attribute-handling-tidy.patch

-
To unsubscribe from this list: send the line unsubscribe mm-commits in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


- shmem-and-simple-const-super_operations.patch removed from -mm tree

2007-03-05 Thread akpm

The patch titled
 shmem and simple const super_operations
has been removed from the -mm tree.  Its filename was
 shmem-and-simple-const-super_operations.patch

This patch was dropped because it was merged into mainline or a subsystem tree

--
Subject: shmem and simple const super_operations
From: Hugh Dickins [EMAIL PROTECTED]

shmem's super_operations were missed from the recent const-ification;
and simple_fill_super()'s, which can share with get_sb_pseudo()'s.

Signed-off-by: Hugh Dickins [EMAIL PROTECTED]
Acked-by: Josef 'Jeff' Sipek [EMAIL PROTECTED]
Signed-off-by: Andrew Morton [EMAIL PROTECTED]
---

 fs/libfs.c |   10 ++
 mm/shmem.c |4 ++--
 2 files changed, 8 insertions(+), 6 deletions(-)

diff -puN fs/libfs.c~shmem-and-simple-const-super_operations fs/libfs.c
--- a/fs/libfs.c~shmem-and-simple-const-super_operations
+++ a/fs/libfs.c
@@ -190,6 +190,10 @@ const struct inode_operations simple_dir
.lookup = simple_lookup,
 };
 
+static const struct super_operations simple_super_operations = {
+   .statfs = simple_statfs,
+};
+
 /*
  * Common helper for pseudo-filesystems (sockfs, pipefs, bdev - stuff that
  * will never be mountable)
@@ -199,7 +203,6 @@ int get_sb_pseudo(struct file_system_typ
struct vfsmount *mnt)
 {
struct super_block *s = sget(fs_type, NULL, set_anon_super, NULL);
-   static const struct super_operations default_ops = {.statfs = 
simple_statfs};
struct dentry *dentry;
struct inode *root;
struct qstr d_name = {.name = name, .len = strlen(name)};
@@ -212,7 +215,7 @@ int get_sb_pseudo(struct file_system_typ
s-s_blocksize = 1024;
s-s_blocksize_bits = 10;
s-s_magic = magic;
-   s-s_op = ops ? ops : default_ops;
+   s-s_op = ops ? ops : simple_super_operations;
s-s_time_gran = 1;
root = new_inode(s);
if (!root)
@@ -359,7 +362,6 @@ int simple_commit_write(struct file *fil
 
 int simple_fill_super(struct super_block *s, int magic, struct tree_descr 
*files)
 {
-   static struct super_operations s_ops = {.statfs = simple_statfs};
struct inode *inode;
struct dentry *root;
struct dentry *dentry;
@@ -368,7 +370,7 @@ int simple_fill_super(struct super_block
s-s_blocksize = PAGE_CACHE_SIZE;
s-s_blocksize_bits = PAGE_CACHE_SHIFT;
s-s_magic = magic;
-   s-s_op = s_ops;
+   s-s_op = simple_super_operations;
s-s_time_gran = 1;
 
inode = new_inode(s);
diff -puN mm/shmem.c~shmem-and-simple-const-super_operations mm/shmem.c
--- a/mm/shmem.c~shmem-and-simple-const-super_operations
+++ a/mm/shmem.c
@@ -175,7 +175,7 @@ static inline void shmem_unacct_blocks(u
vm_unacct_memory(pages * VM_ACCT(PAGE_CACHE_SIZE));
 }
 
-static struct super_operations shmem_ops;
+static const struct super_operations shmem_ops;
 static const struct address_space_operations shmem_aops;
 static const struct file_operations shmem_file_operations;
 static const struct inode_operations shmem_inode_operations;
@@ -2383,7 +2383,7 @@ static const struct inode_operations shm
 #endif
 };
 
-static struct super_operations shmem_ops = {
+static const struct super_operations shmem_ops = {
.alloc_inode= shmem_alloc_inode,
.destroy_inode  = shmem_destroy_inode,
 #ifdef CONFIG_TMPFS
_

Patches currently in -mm which might be from [EMAIL PROTECTED] are

origin.patch
mm-more-rmap-checking.patch
mm-make-read_cache_page-synchronous.patch
fs-buffer-dont-pageuptodate-without-page-locked.patch
take-anonymous-pages-off-the-lru-if-we-have-no-swap.patch
free-swap-space-of-reactivated-pages.patch
add-__gfp_movable-for-callers-to-flag-allocations-from-high-memory-that-may-be-migrated.patch
smaps-extract-pmd-walker-from-smaps-code.patch
smaps-add-pages-referenced-count-to-smaps.patch
smaps-add-clear_refs-file-to-clear-reference.patch
smaps-add-clear_refs-file-to-clear-reference-fix.patch
ext2-reservations.patch
ext2-balloc-fix-_with_rsv-freeze.patch
ext2-balloc-reset-windowsz-when-full.patch
ext2-balloc-fix-off-by-one-against-rsv_end.patch
ext2-balloc-fix-off-by-one-against-grp_goal.patch
ext2-balloc-say-rb_entry-not-list_entry.patch
ext2-balloc-use-io_error-label.patch
add-__gfp_movable-for-callers-to-flag-allocations-from-high-memory-that-may-be-migrated-swap-prefetch.patch
rcu-preemptible-rcu-fix.patch
mm-only-free-swap-space-of-reactivated-pages-debug.patch

-
To unsubscribe from this list: send the line unsubscribe mm-commits in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


- vmi-timer-fixes-round-two.patch removed from -mm tree

2007-03-05 Thread akpm

The patch titled
 vmi: timer fixes round two
has been removed from the -mm tree.  Its filename was
 vmi-timer-fixes-round-two.patch

This patch was dropped because it was merged into mainline or a subsystem tree

--
Subject: vmi: timer fixes round two
From: Zachary Amsden [EMAIL PROTECTED]

Critical bugfixes for the VMI-Timer code.

1) Do not setup a one shot alarm if we are keeping the periodic alarm
   armed.  Additionally, since the periodic alarm can be run at a lower rate
   than HZ, let's fixup the guard to the no-idle-hz mode appropriately.  This
   fixes the bug where the no-idle-hz mode might have a higher interrupt rate
   than the non-idle case.

2) The interrupt handler can no longer adjust xtime due to nested lock
   acquisition.  Drop this.  We don't need to check for wallclock time at
   every tick, it can be done in userspace instead.

3) Add a bypass to disable noidle operation.  This is useful as a last
   minute workaround, or testing measure.

4) The code to skip the IO_APIC timer testing (no_timer_check) should be
   conditional on IO_APIC, not SMP, since UP kernels can have this configured
   in as well.

Signed-off-by: Dan Hecht [EMAIL PROTECTED]
Signed-off-by: Zachary Amsden [EMAIL PROTECTED]
Signed-off-by: Andrew Morton [EMAIL PROTECTED]
---

 arch/i386/kernel/vmi.c |   23 +--
 arch/i386/kernel/vmitime.c |   30 +++---
 2 files changed, 24 insertions(+), 29 deletions(-)

diff -puN arch/i386/kernel/vmi.c~vmi-timer-fixes-round-two 
arch/i386/kernel/vmi.c
--- a/arch/i386/kernel/vmi.c~vmi-timer-fixes-round-two
+++ a/arch/i386/kernel/vmi.c
@@ -54,6 +54,7 @@ static int disable_pse;
 static int disable_sep;
 static int disable_tsc;
 static int disable_mtrr;
+static int disable_noidle;
 
 /* Cached VMI operations */
 struct {
@@ -255,7 +256,6 @@ static void vmi_nop(void)
 }
 
 /* For NO_IDLE_HZ, we stop the clock when halting the kernel */
-#ifdef CONFIG_NO_IDLE_HZ
 static fastcall void vmi_safe_halt(void)
 {
int idle = vmi_stop_hz_timer();
@@ -266,7 +266,6 @@ static fastcall void vmi_safe_halt(void)
local_irq_enable();
}
 }
-#endif
 
 #ifdef CONFIG_DEBUG_PAGE_TYPE
 
@@ -742,12 +741,7 @@ static inline int __init activate_vmi(vo
 (char *)paravirt_ops.save_fl);
patch_offset(irq_save_disable_callout[IRQ_PATCH_DISABLE],
 (char *)paravirt_ops.irq_disable);
-#ifndef CONFIG_NO_IDLE_HZ
-   para_fill(safe_halt, Halt);
-#else
-   vmi_ops.halt = vmi_get_function(VMI_CALL_Halt);
-   paravirt_ops.safe_halt = vmi_safe_halt;
-#endif
+
para_fill(wbinvd, WBINVD);
/* paravirt_ops.read_msr = vmi_rdmsr */
/* paravirt_ops.write_msr = vmi_wrmsr */
@@ -881,6 +875,12 @@ static inline int __init activate_vmi(vo
 #endif
custom_sched_clock = vmi_sched_clock;
}
+   if (!disable_noidle)
+   para_fill(safe_halt, Halt);
+   else {
+   vmi_ops.halt = vmi_get_function(VMI_CALL_Halt);
+   paravirt_ops.safe_halt = vmi_safe_halt;
+   }
 
/*
 * Alternative instruction rewriting doesn't happen soon enough
@@ -914,9 +914,11 @@ void __init vmi_init(void)
 
local_irq_save(flags);
activate_vmi();
-#ifdef CONFIG_SMP
+
+#ifdef CONFIG_X86_IO_APIC
no_timer_check = 1;
 #endif
+
local_irq_restore(flags  X86_EFLAGS_IF);
 }
 
@@ -942,7 +944,8 @@ static int __init parse_vmi(char *arg)
} else if (!strcmp(arg, disable_mtrr)) {
clear_bit(X86_FEATURE_MTRR, boot_cpu_data.x86_capability);
disable_mtrr = 1;
-   }
+   } else if (!strcmp(arg, disable_noidle))
+   disable_noidle = 1;
return 0;
 }
 
diff -puN arch/i386/kernel/vmitime.c~vmi-timer-fixes-round-two 
arch/i386/kernel/vmitime.c
--- a/arch/i386/kernel/vmitime.c~vmi-timer-fixes-round-two
+++ a/arch/i386/kernel/vmitime.c
@@ -276,16 +276,13 @@ static void vmi_account_real_cycles(unsi
 
cycles_not_accounted = cur_real_cycles - real_cycles_accounted_system;
while (cycles_not_accounted = cycles_per_jiffy) {
-   /* systems wide jiffies and wallclock. */
+   /* systems wide jiffies. */
do_timer(1);
 
cycles_not_accounted -= cycles_per_jiffy;
real_cycles_accounted_system += cycles_per_jiffy;
}
 
-   if (vmi_timer_ops.wallclock_updated())
-   update_xtime_from_wallclock();
-
write_sequnlock(xtime_lock);
 }
 
@@ -380,7 +377,6 @@ int vmi_stop_hz_timer(void)
unsigned long seq, next;
unsigned long long real_cycles_expiry;
int cpu = smp_processor_id();
-   int idle;
 
BUG_ON(!irqs_disabled());
if (sysctl_hz_timer != 0)
@@ -388,13 +384,13 @@ int vmi_stop_hz_timer(void)
 
cpu_set(cpu, nohz_cpu_mask);
smp_mb();
+
if 

- page-migration-fix-vma-flag-checking.patch removed from -mm tree

2007-03-05 Thread akpm

The patch titled
 Page migration: Fix vma flag checking
has been removed from the -mm tree.  Its filename was
 page-migration-fix-vma-flag-checking.patch

This patch was dropped because it was merged into mainline or a subsystem tree

--
Subject: Page migration: Fix vma flag checking
From: Christoph Lameter [EMAIL PROTECTED]

Currently we do not check for vma flags if sys_move_pages is called to move
individual pages.  If sys_migrate_pages is called to move pages then we
check for vm_flags that indicate a non migratable vma but that still
includes VM_LOCKED and we can migrate mlocked pages.

Extract the vma_migratable check from mm/mempolicy.c, fix it and put it
into migrate.h so that is can be used from both locations.

Problem was spotted by Lee Schermerhorn

Signed-off-by: Christoph Lameter [EMAIL PROTECTED]
Signed-off-by: Lee Schermerhorn [EMAIL PROTECTED]
Signed-off-by: Andrew Morton [EMAIL PROTECTED]
---

 include/linux/migrate.h |8 
 mm/mempolicy.c  |9 -
 mm/migrate.c|2 +-
 3 files changed, 9 insertions(+), 10 deletions(-)

diff -puN include/linux/migrate.h~page-migration-fix-vma-flag-checking 
include/linux/migrate.h
--- a/include/linux/migrate.h~page-migration-fix-vma-flag-checking
+++ a/include/linux/migrate.h
@@ -5,6 +5,14 @@
 
 typedef struct page *new_page_t(struct page *, unsigned long private, int **);
 
+/* Check if a vma is migratable */
+static inline int vma_migratable(struct vm_area_struct *vma)
+{
+   if (vma-vm_flags  (VM_IO|VM_HUGETLB|VM_PFNMAP|VM_RESERVED))
+   return 0;
+   return 1;
+}
+
 #ifdef CONFIG_MIGRATION
 extern int isolate_lru_page(struct page *p, struct list_head *pagelist);
 extern int putback_lru_pages(struct list_head *l);
diff -puN mm/mempolicy.c~page-migration-fix-vma-flag-checking mm/mempolicy.c
--- a/mm/mempolicy.c~page-migration-fix-vma-flag-checking
+++ a/mm/mempolicy.c
@@ -321,15 +321,6 @@ static inline int check_pgd_range(struct
return 0;
 }
 
-/* Check if a vma is migratable */
-static inline int vma_migratable(struct vm_area_struct *vma)
-{
-   if (vma-vm_flags  (
-   VM_LOCKED|VM_IO|VM_HUGETLB|VM_PFNMAP|VM_RESERVED))
-   return 0;
-   return 1;
-}
-
 /*
  * Check if all pages in a range are on a set of nodes.
  * If pagelist != NULL then isolate pages from the LRU and
diff -puN mm/migrate.c~page-migration-fix-vma-flag-checking mm/migrate.c
--- a/mm/migrate.c~page-migration-fix-vma-flag-checking
+++ a/mm/migrate.c
@@ -781,7 +781,7 @@ static int do_move_pages(struct mm_struc
 
err = -EFAULT;
vma = find_vma(mm, pp-addr);
-   if (!vma)
+   if (!vma || !vma_migratable(vma))
goto set_status;
 
page = follow_page(vma, pp-addr, FOLL_GET);
_

Patches currently in -mm which might be from [EMAIL PROTECTED] are

origin.patch
nfs-fix-congestion-control-v4.patch
git-block-xfs-barriers-broke.patch
mm-set-hashdist_default-to-1-for-x86_64-numa.patch
x86_64-configurable-fake-numa-node-sizes.patch
x86_64-split-remaining-fake-nodes-equally.patch
x86_64-fixed-size-remaining-fake-nodes.patch
x86_64-map-fake-nodes-to-real-nodes.patch
x86_64-disable-alien-cache-for-fake-numa.patch
x86_64-export-physnode-mapping-to-userspace.patch
x86_64-fake-numa-for-cpusets-document.patch
safer-nr_node_ids-and-nr_node_ids-determination-and-initial.patch
safer-nr_node_ids-and-nr_node_ids-determination-and-initial-tweak.patch
cpuset-remove-sched-domain-hooks-from-cpusets.patch
swap_prefetch-vs-zoned-counters.patch
reiser4-vs-zoned-allocator.patch
slab-leaks3-default-y.patch

-
To unsubscribe from this list: send the line unsubscribe mm-commits in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


- vmi-sched-clock-paravirt-op-fix.patch removed from -mm tree

2007-03-05 Thread akpm

The patch titled
 vmi: sched clock paravirt op fix
has been removed from the -mm tree.  Its filename was
 vmi-sched-clock-paravirt-op-fix.patch

This patch was dropped because it was merged into mainline or a subsystem tree

--
Subject: vmi: sched clock paravirt op fix
From: Zachary Amsden [EMAIL PROTECTED]

The custom_sched_clock hook is broken.  The result from sched_clock needs to
be in nanoseconds, not in CPU cycles.  The TSC is insufficient for this
purpose, because TSC is poorly defined in a virtual environment, and mostly
represents real world time instead of scheduled process time (which can be
interrupted without notice when a virtual machine is descheduled).

To make the scheduler consistent, we must expose a different nature of time,
that is scheduled time.  So deprecate this custom_sched_clock hack and turn it
into a paravirt-op, as it should have been all along.  This allows the tsc.c
code which converts cycles to nanoseconds to be shared by all paravirt-ops
backends.

It is unfortunate to add a new paravirt-op, but this is a very distinct
abstraction which is clearly different for all virtual machine
implementations, and it gets rid of an ugly indirect function which I
ashamedly admit I hacked in to try to get this to work earlier, and then even
got in the wrong units.

Signed-off-by: Zachary Amsden [EMAIL PROTECTED]
Signed-off-by: Andrew Morton [EMAIL PROTECTED]
---

 arch/i386/kernel/paravirt.c |2 ++
 arch/i386/kernel/tsc.c  |6 ++
 arch/i386/kernel/vmi.c  |2 +-
 arch/i386/kernel/vmitime.c  |2 +-
 include/asm-i386/paravirt.h |3 +++
 include/asm-i386/time.h |1 -
 include/asm-i386/timer.h|8 +++-
 include/asm-i386/vmi_time.h |2 +-
 8 files changed, 17 insertions(+), 9 deletions(-)

diff -puN arch/i386/kernel/paravirt.c~vmi-sched-clock-paravirt-op-fix 
arch/i386/kernel/paravirt.c
--- a/arch/i386/kernel/paravirt.c~vmi-sched-clock-paravirt-op-fix
+++ a/arch/i386/kernel/paravirt.c
@@ -32,6 +32,7 @@
 #include asm/fixmap.h
 #include asm/apic.h
 #include asm/tlbflush.h
+#include asm/timer.h
 
 /* nop stub */
 static void native_nop(void)
@@ -520,6 +521,7 @@ struct paravirt_ops paravirt_ops = {
.write_msr = native_write_msr,
.read_tsc = native_read_tsc,
.read_pmc = native_read_pmc,
+   .get_scheduled_cycles = native_read_tsc,
.load_tr_desc = native_load_tr_desc,
.set_ldt = native_set_ldt,
.load_gdt = native_load_gdt,
diff -puN arch/i386/kernel/tsc.c~vmi-sched-clock-paravirt-op-fix 
arch/i386/kernel/tsc.c
--- a/arch/i386/kernel/tsc.c~vmi-sched-clock-paravirt-op-fix
+++ a/arch/i386/kernel/tsc.c
@@ -14,6 +14,7 @@
 #include asm/delay.h
 #include asm/tsc.h
 #include asm/io.h
+#include asm/timer.h
 
 #include mach_timer.h
 
@@ -102,9 +103,6 @@ unsigned long long sched_clock(void)
 {
unsigned long long this_offset;
 
-   if (unlikely(custom_sched_clock))
-   return (*custom_sched_clock)();
-
/*
 * Fall back to jiffies if there's no TSC available:
 */
@@ -113,7 +111,7 @@ unsigned long long sched_clock(void)
return (jiffies_64 - INITIAL_JIFFIES) * (10 / HZ);
 
/* read the Time Stamp Counter: */
-   rdtscll(this_offset);
+   get_scheduled_cycles(this_offset);
 
/* return the value in ns */
return cycles_2_ns(this_offset);
diff -puN arch/i386/kernel/vmi.c~vmi-sched-clock-paravirt-op-fix 
arch/i386/kernel/vmi.c
--- a/arch/i386/kernel/vmi.c~vmi-sched-clock-paravirt-op-fix
+++ a/arch/i386/kernel/vmi.c
@@ -873,7 +873,7 @@ static inline int __init activate_vmi(vo
paravirt_ops.setup_boot_clock = vmi_timer_setup_boot_alarm;
paravirt_ops.setup_secondary_clock = 
vmi_timer_setup_secondary_alarm;
 #endif
-   custom_sched_clock = vmi_sched_clock;
+   paravirt_ops.get_scheduled_cycles = vmi_get_sched_cycles;
}
if (!disable_noidle)
para_fill(safe_halt, Halt);
diff -puN arch/i386/kernel/vmitime.c~vmi-sched-clock-paravirt-op-fix 
arch/i386/kernel/vmitime.c
--- a/arch/i386/kernel/vmitime.c~vmi-sched-clock-paravirt-op-fix
+++ a/arch/i386/kernel/vmitime.c
@@ -172,7 +172,7 @@ int vmi_set_wallclock(unsigned long now)
return -1;
 }
 
-unsigned long long vmi_sched_clock(void)
+unsigned long long vmi_get_sched_cycles(void)
 {
return read_available_cycles();
 }
diff -puN include/asm-i386/paravirt.h~vmi-sched-clock-paravirt-op-fix 
include/asm-i386/paravirt.h
--- a/include/asm-i386/paravirt.h~vmi-sched-clock-paravirt-op-fix
+++ a/include/asm-i386/paravirt.h
@@ -94,6 +94,7 @@ struct paravirt_ops
 
u64 (*read_tsc)(void);
u64 (*read_pmc)(void);
+   u64 (*get_scheduled_cycles)(void);
 
void (*load_tr_desc)(void);
void (*load_gdt)(const struct Xgt_desc_struct *);
@@ -273,6 +274,8 @@ static inline void halt(void)
 
 #define rdtscll(val) 

- sched-remove-smt-nice.patch removed from -mm tree

2007-03-05 Thread akpm

The patch titled
 sched: remove SMT nice
has been removed from the -mm tree.  Its filename was
 sched-remove-smt-nice.patch

This patch was dropped because it was merged into mainline or a subsystem tree

--
Subject: sched: remove SMT nice
From: Con Kolivas [EMAIL PROTECTED]

Remove the SMT-nice feature which idles sibling cpus on SMT cpus to
facilitiate nice working properly where cpu power is shared.  The idling of
cpus in the presence of runnable tasks is considered too fragile, easy to
break with outside code, and the complexity of managing this system if an
architecture comes along with many logical cores sharing cpu power will be
unworkable.

Remove the associated per_cpu_gain variable in sched_domains used only by
this code.

Also:

  The reason is that with dynticks enabled, this code breaks without yet
  further tweaks so dynticks brought on the rapid demise of this code.  So
  either we tweak this code or kill it off entirely.  It was Ingo's preference
  to kill it off.  Either way this needs to happen for 2.6.21 since dynticks
  has gone in.

Signed-off-by: Con Kolivas [EMAIL PROTECTED]
Cc: Ingo Molnar [EMAIL PROTECTED]
Cc: Nick Piggin [EMAIL PROTECTED]
Signed-off-by: Andrew Morton [EMAIL PROTECTED]
---

 include/asm-i386/topology.h   |1 
 include/asm-ia64/topology.h   |2 
 include/asm-mips/mach-ip27/topology.h |1 
 include/asm-powerpc/topology.h|1 
 include/asm-x86_64/topology.h |1 
 include/linux/sched.h |1 
 include/linux/topology.h  |4 
 kernel/sched.c|  155 
 8 files changed, 1 insertion(+), 165 deletions(-)

diff -puN include/asm-i386/topology.h~sched-remove-smt-nice 
include/asm-i386/topology.h
--- a/include/asm-i386/topology.h~sched-remove-smt-nice
+++ a/include/asm-i386/topology.h
@@ -85,7 +85,6 @@ static inline int node_to_first_cpu(int 
.idle_idx   = 1,\
.newidle_idx= 2,\
.wake_idx   = 1,\
-   .per_cpu_gain   = 100,  \
.flags  = SD_LOAD_BALANCE   \
| SD_BALANCE_EXEC   \
| SD_BALANCE_FORK   \
diff -puN include/asm-ia64/topology.h~sched-remove-smt-nice 
include/asm-ia64/topology.h
--- a/include/asm-ia64/topology.h~sched-remove-smt-nice
+++ a/include/asm-ia64/topology.h
@@ -65,7 +65,6 @@ void build_cpu_to_node_map(void);
.max_interval   = 4,\
.busy_factor= 64,   \
.imbalance_pct  = 125,  \
-   .per_cpu_gain   = 100,  \
.cache_nice_tries   = 2,\
.busy_idx   = 2,\
.idle_idx   = 1,\
@@ -97,7 +96,6 @@ void build_cpu_to_node_map(void);
.newidle_idx= 0, /* unused */   \
.wake_idx   = 1,\
.forkexec_idx   = 1,\
-   .per_cpu_gain   = 100,  \
.flags  = SD_LOAD_BALANCE   \
| SD_BALANCE_EXEC   \
| SD_BALANCE_FORK   \
diff -puN include/asm-mips/mach-ip27/topology.h~sched-remove-smt-nice 
include/asm-mips/mach-ip27/topology.h
--- a/include/asm-mips/mach-ip27/topology.h~sched-remove-smt-nice
+++ a/include/asm-mips/mach-ip27/topology.h
@@ -28,7 +28,6 @@ extern unsigned char __node_distances[MA
.busy_factor= 32,   \
.imbalance_pct  = 125,  \
.cache_nice_tries   = 1,\
-   .per_cpu_gain   = 100,  \
.flags  = SD_LOAD_BALANCE   \
| SD_BALANCE_EXEC   \
| SD_WAKE_BALANCE,  \
diff -puN include/asm-powerpc/topology.h~sched-remove-smt-nice 
include/asm-powerpc/topology.h
--- a/include/asm-powerpc/topology.h~sched-remove-smt-nice
+++ a/include/asm-powerpc/topology.h
@@ -57,7 +57,6 @@ static inline int pcibus_to_node(struct 
.busy_factor= 32,   \
.imbalance_pct  = 125,  \
.cache_nice_tries   = 1,\
-   .per_cpu_gain   = 100,  \
.busy_idx   = 3,\
.idle_idx   = 1,\
.newidle_idx= 2,\
diff -puN include/asm-x86_64/topology.h~sched-remove-smt-nice 
include/asm-x86_64/topology.h
--- a/include/asm-x86_64/topology.h~sched-remove-smt-nice
+++ 

- vmi-cpu-cycles-fix.patch removed from -mm tree

2007-03-05 Thread akpm

The patch titled
 vmi: cpu cycles fix
has been removed from the -mm tree.  Its filename was
 vmi-cpu-cycles-fix.patch

This patch was dropped because it was merged into mainline or a subsystem tree

--
Subject: vmi: cpu cycles fix
From: Zachary Amsden [EMAIL PROTECTED]

In order to share the common code in tsc.c which does CPU Khz calibration, we
need to make an accurate value of CPU speed available to the tsc.c code.  This
value loses a lot of precision in a VM because of the timing differences with
real hardware, but we need it to be as precise as possible so the guest can
make accurate time calculations with the cycle counters.

Signed-off-by: Zachary Amsden [EMAIL PROTECTED]
Signed-off-by: Andrew Morton [EMAIL PROTECTED]
---

 arch/i386/kernel/paravirt.c |1 +
 arch/i386/kernel/tsc.c  |2 +-
 arch/i386/kernel/vmi.c  |1 +
 arch/i386/kernel/vmitime.c  |   10 +-
 include/asm-i386/paravirt.h |2 ++
 include/asm-i386/timer.h|2 ++
 include/asm-i386/vmi_time.h |1 +
 7 files changed, 17 insertions(+), 2 deletions(-)

diff -puN arch/i386/kernel/paravirt.c~vmi-cpu-cycles-fix 
arch/i386/kernel/paravirt.c
--- a/arch/i386/kernel/paravirt.c~vmi-cpu-cycles-fix
+++ a/arch/i386/kernel/paravirt.c
@@ -522,6 +522,7 @@ struct paravirt_ops paravirt_ops = {
.read_tsc = native_read_tsc,
.read_pmc = native_read_pmc,
.get_scheduled_cycles = native_read_tsc,
+   .get_cpu_khz = native_calculate_cpu_khz,
.load_tr_desc = native_load_tr_desc,
.set_ldt = native_set_ldt,
.load_gdt = native_load_gdt,
diff -puN arch/i386/kernel/tsc.c~vmi-cpu-cycles-fix arch/i386/kernel/tsc.c
--- a/arch/i386/kernel/tsc.c~vmi-cpu-cycles-fix
+++ a/arch/i386/kernel/tsc.c
@@ -117,7 +117,7 @@ unsigned long long sched_clock(void)
return cycles_2_ns(this_offset);
 }
 
-static unsigned long calculate_cpu_khz(void)
+unsigned long native_calculate_cpu_khz(void)
 {
unsigned long long start, end;
unsigned long count;
diff -puN arch/i386/kernel/vmi.c~vmi-cpu-cycles-fix arch/i386/kernel/vmi.c
--- a/arch/i386/kernel/vmi.c~vmi-cpu-cycles-fix
+++ a/arch/i386/kernel/vmi.c
@@ -874,6 +874,7 @@ static inline int __init activate_vmi(vo
paravirt_ops.setup_secondary_clock = 
vmi_timer_setup_secondary_alarm;
 #endif
paravirt_ops.get_scheduled_cycles = vmi_get_sched_cycles;
+   paravirt_ops.get_cpu_khz = vmi_cpu_khz;
}
if (!disable_noidle)
para_fill(safe_halt, Halt);
diff -puN arch/i386/kernel/vmitime.c~vmi-cpu-cycles-fix 
arch/i386/kernel/vmitime.c
--- a/arch/i386/kernel/vmitime.c~vmi-cpu-cycles-fix
+++ a/arch/i386/kernel/vmitime.c
@@ -177,6 +177,15 @@ unsigned long long vmi_get_sched_cycles(
return read_available_cycles();
 }
 
+unsigned long vmi_cpu_khz(void)
+{
+   unsigned long long khz;
+
+   khz = vmi_timer_ops.get_cycle_frequency();
+   (void)do_div(khz, 1000);
+   return khz;
+}
+
 void __init vmi_time_init(void)
 {
unsigned long long cycles_per_sec, cycles_per_msec;
@@ -206,7 +215,6 @@ void __init vmi_time_init(void)
(void)do_div(cycles_per_alarm, alarm_hz);
cycles_per_msec = cycles_per_sec;
(void)do_div(cycles_per_msec, 1000);
-   cpu_khz = cycles_per_msec;
 
printk(KERN_WARNING VMI timer cycles/sec = %llu ; cycles/jiffy = %llu 
;
   cycles/alarm = %llu\n, cycles_per_sec, cycles_per_jiffy,
diff -puN include/asm-i386/paravirt.h~vmi-cpu-cycles-fix 
include/asm-i386/paravirt.h
--- a/include/asm-i386/paravirt.h~vmi-cpu-cycles-fix
+++ a/include/asm-i386/paravirt.h
@@ -95,6 +95,7 @@ struct paravirt_ops
u64 (*read_tsc)(void);
u64 (*read_pmc)(void);
u64 (*get_scheduled_cycles)(void);
+   unsigned long (*get_cpu_khz)(void);
 
void (*load_tr_desc)(void);
void (*load_gdt)(const struct Xgt_desc_struct *);
@@ -275,6 +276,7 @@ static inline void halt(void)
 #define rdtscll(val) (val = paravirt_ops.read_tsc())
 
 #define get_scheduled_cycles(val) (val = paravirt_ops.get_scheduled_cycles())
+#define calculate_cpu_khz() (paravirt_ops.get_cpu_khz())
 
 #define write_tsc(val1,val2) wrmsr(0x10, val1, val2)
 
diff -puN include/asm-i386/timer.h~vmi-cpu-cycles-fix include/asm-i386/timer.h
--- a/include/asm-i386/timer.h~vmi-cpu-cycles-fix
+++ a/include/asm-i386/timer.h
@@ -7,6 +7,7 @@
 
 void setup_pit_timer(void);
 unsigned long long native_sched_clock(void);
+unsigned long native_calculate_cpu_khz(void);
 
 /* Modifiers for buggy PIT handling */
 extern int pit_latch_buggy;
@@ -17,6 +18,7 @@ extern int recalibrate_cpu_khz(void);
 
 #ifndef CONFIG_PARAVIRT
 #define get_scheduled_cycles(val) rdtscll(val)
+#define calculate_cpu_khz() native_calculate_cpu_khz()
 #endif
 
 #endif
diff -puN include/asm-i386/vmi_time.h~vmi-cpu-cycles-fix 
include/asm-i386/vmi_time.h
--- a/include/asm-i386/vmi_time.h~vmi-cpu-cycles-fix
+++ 

- vmi-fix-highpte.patch removed from -mm tree

2007-03-05 Thread akpm

The patch titled
 vmi: fix highpte
has been removed from the -mm tree.  Its filename was
 vmi-fix-highpte.patch

This patch was dropped because it was merged into mainline or a subsystem tree

--
Subject: vmi: fix highpte
From: Zachary Amsden [EMAIL PROTECTED]

Provide a PT map hook for HIGHPTE kernels to designate where they are mapping
page tables.  This information is required so the physical address of PTE
updates can be determined; otherwise, the mm layer would have to carry the
physical address all the way to each PTE modification callsite, which is even
more hideous that the macros required to provide the proper hooks.

So lets not mess up arch neutral code to achieve this, but keep the horror in
an #ifdef HIGHPTE in include/asm-i386/pgtable.h.  I had to use macros here
because some types are not yet defined in all the include paths for this
header.

This patch is absolutely required for HIGHPTE kernels to operate properly with
VMI.

Signed-off-by: Zachary Amsden [EMAIL PROTECTED]
Signed-off-by: Andrew Morton [EMAIL PROTECTED]
---

 arch/i386/kernel/paravirt.c |2 ++
 arch/i386/kernel/vmi.c  |   19 +++
 include/asm-i386/paravirt.h |4 
 include/asm-i386/pgtable.h  |   23 +++
 4 files changed, 44 insertions(+), 4 deletions(-)

diff -puN arch/i386/kernel/paravirt.c~vmi-fix-highpte 
arch/i386/kernel/paravirt.c
--- a/arch/i386/kernel/paravirt.c~vmi-fix-highpte
+++ a/arch/i386/kernel/paravirt.c
@@ -553,6 +553,8 @@ struct paravirt_ops paravirt_ops = {
.flush_tlb_kernel = native_flush_tlb_global,
.flush_tlb_single = native_flush_tlb_single,
 
+   .map_pt_hook = (void *)native_nop,
+
.alloc_pt = (void *)native_nop,
.alloc_pd = (void *)native_nop,
.alloc_pd_clone = (void *)native_nop,
diff -puN arch/i386/kernel/vmi.c~vmi-fix-highpte arch/i386/kernel/vmi.c
--- a/arch/i386/kernel/vmi.c~vmi-fix-highpte
+++ a/arch/i386/kernel/vmi.c
@@ -370,6 +370,24 @@ static void vmi_check_page_type(u32 pfn,
 #define vmi_check_page_type(p,t) do { } while (0)
 #endif
 
+static void vmi_map_pt_hook(int type, pte_t *va, u32 pfn)
+{
+   /*
+* Internally, the VMI ROM must map virtual addresses to physical
+* addresses for processing MMU updates.  By the time MMU updates
+* are issued, this information is typically already lost.
+* Fortunately, the VMI provides a cache of mapping slots for active
+* page tables.
+*
+* We use slot zero for the linear mapping of physical memory, and
+* in HIGHPTE kernels, slot 1 and 2 for KM_PTE0 and KM_PTE1.
+*
+*  args: SLOT VACOUNT PFN
+*/
+   BUG_ON(type != KM_PTE0  type != KM_PTE1);
+   vmi_ops.set_linear_mapping((type - KM_PTE0)+1, (u32)va, 1, pfn);
+}
+
 static void vmi_allocate_pt(u32 pfn)
 {
vmi_set_page_type(pfn, VMI_PAGE_L1);
@@ -813,6 +831,7 @@ static inline int __init activate_vmi(vo
vmi_ops.allocate_page = vmi_get_function(VMI_CALL_AllocatePage);
vmi_ops.release_page = vmi_get_function(VMI_CALL_ReleasePage);
 
+   paravirt_ops.map_pt_hook = vmi_map_pt_hook;
paravirt_ops.alloc_pt = vmi_allocate_pt;
paravirt_ops.alloc_pd = vmi_allocate_pd;
paravirt_ops.alloc_pd_clone = vmi_allocate_pd_clone;
diff -puN include/asm-i386/paravirt.h~vmi-fix-highpte 
include/asm-i386/paravirt.h
--- a/include/asm-i386/paravirt.h~vmi-fix-highpte
+++ a/include/asm-i386/paravirt.h
@@ -131,6 +131,8 @@ struct paravirt_ops
void (*flush_tlb_kernel)(void);
void (*flush_tlb_single)(u32 addr);
 
+   void (fastcall *map_pt_hook)(int type, pte_t *va, u32 pfn);
+
void (*alloc_pt)(u32 pfn);
void (*alloc_pd)(u32 pfn);
void (*alloc_pd_clone)(u32 pfn, u32 clonepfn, u32 start, u32 count);
@@ -354,6 +356,8 @@ static inline void startup_ipi_hook(int 
 #define __flush_tlb_global() paravirt_ops.flush_tlb_kernel()
 #define __flush_tlb_single(addr) paravirt_ops.flush_tlb_single(addr)
 
+#define paravirt_map_pt_hook(type, va, pfn) paravirt_ops.map_pt_hook(type, va, 
pfn)
+
 #define paravirt_alloc_pt(pfn) paravirt_ops.alloc_pt(pfn)
 #define paravirt_release_pt(pfn) paravirt_ops.release_pt(pfn)
 
diff -puN include/asm-i386/pgtable.h~vmi-fix-highpte include/asm-i386/pgtable.h
--- a/include/asm-i386/pgtable.h~vmi-fix-highpte
+++ a/include/asm-i386/pgtable.h
@@ -263,6 +263,7 @@ static inline pte_t pte_mkhuge(pte_t pte
  */
 #define pte_update(mm, addr, ptep) do { } while (0)
 #define pte_update_defer(mm, addr, ptep)   do { } while (0)
+#define paravirt_map_pt_hook(slot, va, pfn)do { } while (0)
 #endif
 
 /*
@@ -469,10 +470,24 @@ extern pte_t *lookup_address(unsigned lo
 #endif
 
 #if defined(CONFIG_HIGHPTE)
-#define pte_offset_map(dir, address) \
-   ((pte_t *)kmap_atomic(pmd_page(*(dir)),KM_PTE0) + pte_index(address))
-#define 

- gpio_keys-driver-shouldnt-be-arm-specific.patch removed from -mm tree

2007-03-05 Thread akpm

The patch titled
 gpio_keys driver shouldn't be ARM-specific
has been removed from the -mm tree.  Its filename was
 gpio_keys-driver-shouldnt-be-arm-specific.patch

This patch was dropped because it was merged into mainline or a subsystem tree

--
Subject: gpio_keys driver shouldn't be ARM-specific
From: David Brownell [EMAIL PROTECTED]

The gpio_keys driver is wrongly ARM-specific; it can't build on
other platforms with GPIO suport.  This fixes that problem.

Signed-off-by: David Brownell [EMAIL PROTECTED]
Cc: Dmitry Torokhov [EMAIL PROTECTED]
Cc: pHilipp Zabel [EMAIL PROTECTED]
Cc: Haavard Skinnemoen [EMAIL PROTECTED]
Cc: Russell King [EMAIL PROTECTED]
Cc: Richard Purdie [EMAIL PROTECTED]
Cc: Ben Nizette [EMAIL PROTECTED]
Signed-off-by: Andrew Morton [EMAIL PROTECTED]
---

 drivers/input/keyboard/gpio_keys.c   |4 +---
 include/asm-arm/hardware/gpio_keys.h |   17 -
 include/linux/gpio_keys.h|   17 +
 3 files changed, 18 insertions(+), 20 deletions(-)

diff -puN 
drivers/input/keyboard/gpio_keys.c~gpio_keys-driver-shouldnt-be-arm-specific 
drivers/input/keyboard/gpio_keys.c
--- 
a/drivers/input/keyboard/gpio_keys.c~gpio_keys-driver-shouldnt-be-arm-specific
+++ a/drivers/input/keyboard/gpio_keys.c
@@ -23,11 +23,9 @@
 #include linux/platform_device.h
 #include linux/input.h
 #include linux/irq.h
+#include linux/gpio_keys.h
 
 #include asm/gpio.h
-#include asm/arch/hardware.h
-
-#include asm/hardware/gpio_keys.h
 
 static irqreturn_t gpio_keys_isr(int irq, void *dev_id)
 {
diff -puN 
include/asm-arm/hardware/gpio_keys.h~gpio_keys-driver-shouldnt-be-arm-specific 
/dev/null
--- a/include/asm-arm/hardware/gpio_keys.h
+++ /dev/null
@@ -1,17 +0,0 @@
-#ifndef _GPIO_KEYS_H
-#define _GPIO_KEYS_H
-
-struct gpio_keys_button {
-   /* Configuration parameters */
-   int keycode;
-   int gpio;
-   int active_low;
-   char *desc;
-};
-
-struct gpio_keys_platform_data {
-   struct gpio_keys_button *buttons;
-   int nbuttons;
-};
-
-#endif
diff -puN /dev/null include/linux/gpio_keys.h
--- /dev/null
+++ a/include/linux/gpio_keys.h
@@ -0,0 +1,17 @@
+#ifndef _GPIO_KEYS_H
+#define _GPIO_KEYS_H
+
+struct gpio_keys_button {
+   /* Configuration parameters */
+   int keycode;
+   int gpio;
+   int active_low;
+   char *desc;
+};
+
+struct gpio_keys_platform_data {
+   struct gpio_keys_button *buttons;
+   int nbuttons;
+};
+
+#endif
_

Patches currently in -mm which might be from [EMAIL PROTECTED] are

origin.patch
git-avr32.patch
git-input.patch
git-md-accel.patch
8250-make-probing-for-txen-bug-a-config-option.patch
blackfin-on-chip-rtc-controller-driver.patch
documentation-ask-driver-writers-to-provide-pm-support.patch
init-dma-masks-in-pnp_dev.patch
rtc-remove-sys-class-rtc-dev.patch
rtc-rtc-interfaces-dont-use-class_device.patch
rtc-simplified-rtc-sysfs-attribute-handling.patch
rtc-simplified-proc-driver-rtc-handling.patch
rtc-remove-rest-of-class_device.patch
rtc-suspend-resume-restores-system-clock.patch
rtc-simplified-rtc-sysfs-attribute-handling-tidy.patch

-
To unsubscribe from this list: send the line unsubscribe mm-commits in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


- vmi-paravirt-drop-udelay-op.patch removed from -mm tree

2007-03-05 Thread akpm

The patch titled
 vmi: paravirt drop udelay op
has been removed from the -mm tree.  Its filename was
 vmi-paravirt-drop-udelay-op.patch

This patch was dropped because it was merged into mainline or a subsystem tree

--
Subject: vmi: paravirt drop udelay op
From: Zachary Amsden [EMAIL PROTECTED]

Not respecting udelay causes problems with any virtual hardware that is passed
through to real hardware.  This can be noticed by any device that interacts
with the real world in real time - like AP startup, which takes real time.  Or
keyboard LEDs, which should blink in real-time.  Or floppy drives, but only
when passed through to a real floppy controller on OSes which can't
sufficiently buffer the floppy commands to emulate a zero latency floppy.  Or
IDE drives, when connecting to a physical CDROM.

This was mostly a hack to get the kernel to boot faster, but it introduced a
number of misvirtualization bugs, and Alan and Pavel argued pretty strongly
against it.  We were the only client, and now want to clean up this cruft.

Signed-off-by: Zachary Amsden [EMAIL PROTECTED]
Signed-off-by: Andrew Morton [EMAIL PROTECTED]
---

 arch/i386/kernel/paravirt.c |1 -
 arch/i386/kernel/smpboot.c  |5 -
 arch/i386/kernel/vmi.c  |8 +---
 include/asm-i386/delay.h|8 
 include/asm-i386/paravirt.h |1 -
 5 files changed, 1 insertion(+), 22 deletions(-)

diff -puN arch/i386/kernel/paravirt.c~vmi-paravirt-drop-udelay-op 
arch/i386/kernel/paravirt.c
--- a/arch/i386/kernel/paravirt.c~vmi-paravirt-drop-udelay-op
+++ a/arch/i386/kernel/paravirt.c
@@ -538,7 +538,6 @@ struct paravirt_ops paravirt_ops = {
 
.set_iopl_mask = native_set_iopl_mask,
.io_delay = native_io_delay,
-   .const_udelay = __const_udelay,
 
 #ifdef CONFIG_X86_LOCAL_APIC
.apic_write = native_apic_write,
diff -puN arch/i386/kernel/smpboot.c~vmi-paravirt-drop-udelay-op 
arch/i386/kernel/smpboot.c
--- a/arch/i386/kernel/smpboot.c~vmi-paravirt-drop-udelay-op
+++ a/arch/i386/kernel/smpboot.c
@@ -33,11 +33,6 @@
  * Dave Jones  :   Report invalid combinations of Athlon 
CPUs.
 *  Rusty Russell   :   Hacked into shape for new hotplug 
boot process. */
 
-
-/* SMP boot always wants to use real time delay to allow sufficient time for
- * the APs to come online */
-#define USE_REAL_TIME_DELAY
-
 #include linux/module.h
 #include linux/init.h
 #include linux/kernel.h
diff -puN arch/i386/kernel/vmi.c~vmi-paravirt-drop-udelay-op 
arch/i386/kernel/vmi.c
--- a/arch/i386/kernel/vmi.c~vmi-paravirt-drop-udelay-op
+++ a/arch/i386/kernel/vmi.c
@@ -48,7 +48,6 @@ typedef u64 __attribute__((regparm(2))) 
 
 static struct vrom_header *vmi_rom;
 static int license_gplok;
-static int disable_nodelay;
 static int disable_pge;
 static int disable_pse;
 static int disable_sep;
@@ -801,9 +800,6 @@ static inline int __init activate_vmi(vo
 
para_fill(set_iopl_mask, SetIOPLMask);
paravirt_ops.io_delay = (void *)vmi_nop;
-   if (!disable_nodelay) {
-   paravirt_ops.const_udelay = (void *)vmi_nop;
-   }
 
para_fill(set_lazy_mode, SetLazyMode);
 
@@ -947,9 +943,7 @@ static int __init parse_vmi(char *arg)
if (!arg)
return -EINVAL;
 
-   if (!strcmp(arg, disable_nodelay))
-   disable_nodelay = 1;
-   else if (!strcmp(arg, disable_pge)) {
+   if (!strcmp(arg, disable_pge)) {
clear_bit(X86_FEATURE_PGE, boot_cpu_data.x86_capability);
disable_pge = 1;
} else if (!strcmp(arg, disable_pse)) {
diff -puN include/asm-i386/delay.h~vmi-paravirt-drop-udelay-op 
include/asm-i386/delay.h
--- a/include/asm-i386/delay.h~vmi-paravirt-drop-udelay-op
+++ a/include/asm-i386/delay.h
@@ -16,13 +16,6 @@ extern void __ndelay(unsigned long nsecs
 extern void __const_udelay(unsigned long usecs);
 extern void __delay(unsigned long loops);
 
-#if defined(CONFIG_PARAVIRT)  !defined(USE_REAL_TIME_DELAY)
-#define udelay(n) paravirt_ops.const_udelay((n) * 0x10c7ul)
-
-#define ndelay(n) paravirt_ops.const_udelay((n) * 5ul)
-
-#else /* !PARAVIRT || USE_REAL_TIME_DELAY */
-
 /* 0x10c7 is 2**32 / 100 (rounded up) */
 #define udelay(n) (__builtin_constant_p(n) ? \
((n)  2 ? __bad_udelay() : __const_udelay((n) * 0x10c7ul)) : \
@@ -32,7 +25,6 @@ extern void __delay(unsigned long loops)
 #define ndelay(n) (__builtin_constant_p(n) ? \
((n)  2 ? __bad_ndelay() : __const_udelay((n) * 5ul)) : \
__ndelay(n))
-#endif
 
 void use_tsc_delay(void);
 
diff -puN include/asm-i386/paravirt.h~vmi-paravirt-drop-udelay-op 
include/asm-i386/paravirt.h
--- a/include/asm-i386/paravirt.h~vmi-paravirt-drop-udelay-op
+++ a/include/asm-i386/paravirt.h
@@ -117,7 +117,6 @@ struct paravirt_ops
void (*set_iopl_mask)(unsigned mask);
 
void (*io_delay)(void);
-   void (*const_udelay)(unsigned long loops);
 
 #ifdef 

- ecryptfs-check-xattr-operation-support-fix.patch removed from -mm tree

2007-03-05 Thread akpm

The patch titled
 ecryptfs: check xattr operation support fix
has been removed from the -mm tree.  Its filename was
 ecryptfs-check-xattr-operation-support-fix.patch

This patch was dropped because it was merged into mainline or a subsystem tree

--
Subject: ecryptfs: check xattr operation support fix
From: Dmitriy Monakhov [EMAIL PROTECTED]

  - ecryptfs_write_inode_size_to_metadata() error code was ignored.
  - i_op-setxattr() must be supported by lower fs because used below.

Signed-off-by: Monakhov Dmitriy [EMAIL PROTECTED]
Acked-by: Michael Halcrow [EMAIL PROTECTED]
Signed-off-by: Andrew Morton [EMAIL PROTECTED]
---

 fs/ecryptfs/inode.c |6 +++---
 fs/ecryptfs/mmap.c  |3 ++-
 2 files changed, 5 insertions(+), 4 deletions(-)

diff -puN fs/ecryptfs/inode.c~ecryptfs-check-xattr-operation-support-fix 
fs/ecryptfs/inode.c
--- a/fs/ecryptfs/inode.c~ecryptfs-check-xattr-operation-support-fix
+++ a/fs/ecryptfs/inode.c
@@ -168,9 +168,9 @@ static int grow_file(struct dentry *ecry
goto out;
}
i_size_write(inode, 0);
-   ecryptfs_write_inode_size_to_metadata(lower_file, lower_inode, inode,
- ecryptfs_dentry,
- ECRYPTFS_LOWER_I_MUTEX_NOT_HELD);
+   rc = ecryptfs_write_inode_size_to_metadata(lower_file, lower_inode,
+   inode, ecryptfs_dentry,
+   ECRYPTFS_LOWER_I_MUTEX_NOT_HELD);
ecryptfs_inode_to_private(inode)-crypt_stat.flags |= ECRYPTFS_NEW_FILE;
 out:
return rc;
diff -puN fs/ecryptfs/mmap.c~ecryptfs-check-xattr-operation-support-fix 
fs/ecryptfs/mmap.c
--- a/fs/ecryptfs/mmap.c~ecryptfs-check-xattr-operation-support-fix
+++ a/fs/ecryptfs/mmap.c
@@ -502,7 +502,8 @@ static int ecryptfs_write_inode_size_to_
goto out;
}
lower_dentry = ecryptfs_dentry_to_lower(ecryptfs_dentry);
-   if (!lower_dentry-d_inode-i_op-getxattr) {
+   if (!lower_dentry-d_inode-i_op-getxattr ||
+   !lower_dentry-d_inode-i_op-setxattr) {
printk(KERN_WARNING
   No support for setting xattr in lower filesystem\n);
rc = -ENOSYS;
_

Patches currently in -mm which might be from [EMAIL PROTECTED] are

origin.patch
libata-handle-ata_pci_device_do_resume-failure-while-resuming-v2.patch
3c59x-handle-pci_enable_device-failure-while-resuming.patch
freevxfs-possible-null-pointer-dereference-fix.patch
reiserfs-possible-null-pointer-dereference-during-resize.patch

-
To unsubscribe from this list: send the line unsubscribe mm-commits in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


- vmi-pit-override.patch removed from -mm tree

2007-03-05 Thread akpm

The patch titled
 vmi: pit override
has been removed from the -mm tree.  Its filename was
 vmi-pit-override.patch

This patch was dropped because it was merged into mainline or a subsystem tree

--
Subject: vmi: pit override
From: Zachary Amsden [EMAIL PROTECTED]

The time_init_hook in paravirt-ops no longer functions in the correct manner
after the integration of the hrtimers code.  The problem is that now the call
path for time initialization is:

  time_init :
   late_time_init = hpet_time_init;

  late_time_init - hpet_time_init:
   setup_pit_timer (BAD)
   do_time_init -- (via paravirt.h)
  time_init_hook -- (via arch_hooks.h)
  time_init_hook (in SUBARCH/setup.c)

If this isn't confusing enough, the paravirt case goes through an indirect
function pointer in the paravirt-ops table.  The problem is, by the time the
paravirt hook is called, the pit timer is already enabled.

But paravirt guests have their own timer, and don't want to use the PIT. 
Rather than intensify the struggle for power going on here, just make it all
nice and simple and just unconditionally do all timer setup in the
late_time_init hook.  This also has the advantage of enabling timers in the
same place in all code paths, so everyone has the same bugs and we don't have
outliers who break other code because they turn on timer too early or too
late.

So the paravirt-ops time init function is now by default hpet_time_init, which
is the time init function used for native hardware.  Paravirt guests have the
chance to override this when they setup the paravirt-ops table, and should
need no change.

Signed-off-by: Zachary Amsden [EMAIL PROTECTED]
Signed-off-by: Andrew Morton [EMAIL PROTECTED]
---

 arch/i386/kernel/paravirt.c |2 +-
 arch/i386/kernel/time.c |   14 +++---
 include/asm-i386/paravirt.h |4 ++--
 include/asm-i386/time.h |5 -
 4 files changed, 18 insertions(+), 7 deletions(-)

diff -puN arch/i386/kernel/paravirt.c~vmi-pit-override 
arch/i386/kernel/paravirt.c
--- a/arch/i386/kernel/paravirt.c~vmi-pit-override
+++ a/arch/i386/kernel/paravirt.c
@@ -494,7 +494,7 @@ struct paravirt_ops paravirt_ops = {
.memory_setup = machine_specific_memory_setup,
.get_wallclock = native_get_wallclock,
.set_wallclock = native_set_wallclock,
-   .time_init = time_init_hook,
+   .time_init = hpet_time_init,
.init_IRQ = native_init_IRQ,
 
.cpuid = native_cpuid,
diff -puN arch/i386/kernel/time.c~vmi-pit-override arch/i386/kernel/time.c
--- a/arch/i386/kernel/time.c~vmi-pit-override
+++ a/arch/i386/kernel/time.c
@@ -262,14 +262,22 @@ void notify_arch_cmos_timer(void)
 
 extern void (*late_time_init)(void);
 /* Duplicate of time_init() below, with hpet_enable part added */
-static void __init hpet_time_init(void)
+void __init hpet_time_init(void)
 {
if (!hpet_enable())
setup_pit_timer();
-   do_time_init();
+   time_init_hook();
 }
 
+/*
+ * This is called directly from init code; we must delay timer setup in the
+ * HPET case as we can't make the decision to turn on HPET this early in the
+ * boot process.
+ *
+ * The chosen time_init function will usually be hpet_time_init, above, but
+ * in the case of virtual hardware, an alternative function may be substituted.
+ */
 void __init time_init(void)
 {
-   late_time_init = hpet_time_init;
+   late_time_init = choose_time_init();
 }
diff -puN include/asm-i386/paravirt.h~vmi-pit-override 
include/asm-i386/paravirt.h
--- a/include/asm-i386/paravirt.h~vmi-pit-override
+++ a/include/asm-i386/paravirt.h
@@ -186,9 +186,9 @@ static inline int set_wallclock(unsigned
return paravirt_ops.set_wallclock(nowtime);
 }
 
-static inline void do_time_init(void)
+static inline void (*choose_time_init(void))(void)
 {
-   return paravirt_ops.time_init();
+   return paravirt_ops.time_init;
 }
 
 /* The paravirtualized CPUID instruction. */
diff -puN include/asm-i386/time.h~vmi-pit-override include/asm-i386/time.h
--- a/include/asm-i386/time.h~vmi-pit-override
+++ a/include/asm-i386/time.h
@@ -28,13 +28,16 @@ static inline int native_set_wallclock(u
return retval;
 }
 
+extern void (*late_time_init)(void);
+extern void hpet_time_init(void);
+
 #ifdef CONFIG_PARAVIRT
 #include asm/paravirt.h
 #else /* !CONFIG_PARAVIRT */
 
 #define get_wallclock() native_get_wallclock()
 #define set_wallclock(x) native_set_wallclock(x)
-#define do_time_init() time_init_hook()
+#define choose_time_init() hpet_time_init
 
 #endif /* CONFIG_PARAVIRT */
 
_

Patches currently in -mm which might be from [EMAIL PROTECTED] are

origin.patch
make-struct-vmi_ops-static.patch

-
To unsubscribe from this list: send the line unsubscribe mm-commits in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


- fb-sm501fb-off-by-1-sysfs-store.patch removed from -mm tree

2007-03-05 Thread akpm

The patch titled
 fb: sm501fb off-by-1 sysfs store
has been removed from the -mm tree.  Its filename was
 fb-sm501fb-off-by-1-sysfs-store.patch

This patch was dropped because it was merged into mainline or a subsystem tree

--
Subject: fb: sm501fb off-by-1 sysfs store
From: Paul Mundt [EMAIL PROTECTED]

Currently sm501fb_crtsrc_store() won't allow the routing to be changed via
echos from userspace in to the sysfs file.  The reason for this is that the
strnicmp() for both heads uses a sizeof() for the string length, which ends
up being strlen() + 1 (\0 in the normal case, but the echo gives a newline,
which is where the issue occurs), this then causes a mismatch and
subsequently bails with the -EINVAL.

In addition to this, the hardcoded lengths were then used for the store
length that was returned, which ended up being erroneous and resulting in a
write error.  There's also no point in returning anything but the full
length since it will -EINVAL out on a mismatch well before then anyways.

sizeof(string) is great for making sure you have space in your buffer,
but rather less so for string comparisons :-)

Signed-off-by: Paul Mundt [EMAIL PROTECTED]
Acked-by: Ben Dooks [EMAIL PROTECTED]
Cc: Antonino A. Daplas [EMAIL PROTECTED]
Signed-off-by: Andrew Morton [EMAIL PROTECTED]
---

 drivers/video/sm501fb.c |6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff -puN drivers/video/sm501fb.c~fb-sm501fb-off-by-1-sysfs-store 
drivers/video/sm501fb.c
--- a/drivers/video/sm501fb.c~fb-sm501fb-off-by-1-sysfs-store
+++ a/drivers/video/sm501fb.c
@@ -1074,9 +1074,9 @@ static ssize_t sm501fb_crtsrc_store(stru
if (len  1)
return -EINVAL;
 
-   if (strnicmp(buf, crt, sizeof(crt)) == 0)
+   if (strnicmp(buf, crt, 3) == 0)
head = HEAD_CRT;
-   else if (strnicmp(buf, panel, sizeof(panel)) == 0)
+   else if (strnicmp(buf, panel, 5) == 0)
head = HEAD_PANEL;
else
return -EINVAL;
@@ -1098,7 +1098,7 @@ static ssize_t sm501fb_crtsrc_store(stru
writel(ctrl, info-regs + SM501_DC_CRT_CONTROL);
sm501fb_sync_regs(info);
 
-   return (head == HEAD_CRT) ? 3 : 5;
+   return len;
 }
 
 /* Prepare the device_attr for registration with sysfs later */
_

Patches currently in -mm which might be from [EMAIL PROTECTED] are

origin.patch
make-aout-executables-work-again.patch
git-sh.patch
smaps-extract-pmd-walker-from-smaps-code.patch
smaps-add-pages-referenced-count-to-smaps.patch
smaps-add-clear_refs-file-to-clear-reference.patch
smaps-add-clear_refs-file-to-clear-reference-fix.patch
smaps-add-clear_refs-file-to-clear-reference-fix-fix.patch
simplify-the-stacktrace-code.patch

-
To unsubscribe from this list: send the line unsubscribe mm-commits in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


- vmi-fix-nohz-compile.patch removed from -mm tree

2007-03-05 Thread akpm

The patch titled
 vmi: fix nohz compile
has been removed from the -mm tree.  Its filename was
 vmi-fix-nohz-compile.patch

This patch was dropped because it was merged into mainline or a subsystem tree

--
Subject: vmi: fix nohz compile
From: Zachary Amsden [EMAIL PROTECTED]

More goo from hrtimers integration.  We do compile and run properly with NO_HZ
enabled.  There was a period when we didn't because of a missing export, but
that was since fixed.

And with the clocksource code now firmly in place, we can get rid of code that
fixes up the wallclock, since this is done in the common infrastructure.  This
actually fixes a timer bug as well, that was caused by do_settimeofday no
longer being callable with interrupts disabled due to the use of
on_each_cpu().

Signed-off-by: Zachary Amsden [EMAIL PROTECTED]
Signed-off-by: Andrew Morton [EMAIL PROTECTED]
---

 arch/i386/Kconfig  |2 +-
 arch/i386/kernel/vmi.c |1 +
 arch/i386/kernel/vmitime.c |   15 ---
 3 files changed, 2 insertions(+), 16 deletions(-)

diff -puN arch/i386/Kconfig~vmi-fix-nohz-compile arch/i386/Kconfig
--- a/arch/i386/Kconfig~vmi-fix-nohz-compile
+++ a/arch/i386/Kconfig
@@ -220,7 +220,7 @@ config PARAVIRT
 
 config VMI
bool VMI Paravirt-ops support
-   depends on PARAVIRT  !NO_HZ
+   depends on PARAVIRT
default y
help
  VMI provides a paravirtualized interface to multiple hypervisors
diff -puN arch/i386/kernel/vmi.c~vmi-fix-nohz-compile arch/i386/kernel/vmi.c
--- a/arch/i386/kernel/vmi.c~vmi-fix-nohz-compile
+++ a/arch/i386/kernel/vmi.c
@@ -934,6 +934,7 @@ void __init vmi_init(void)
 #ifdef CONFIG_X86_IO_APIC
no_timer_check = 1;
 #endif
+   no_sync_cmos_clock = 1;
 
local_irq_restore(flags  X86_EFLAGS_IF);
 }
diff -puN arch/i386/kernel/vmitime.c~vmi-fix-nohz-compile 
arch/i386/kernel/vmitime.c
--- a/arch/i386/kernel/vmitime.c~vmi-fix-nohz-compile
+++ a/arch/i386/kernel/vmitime.c
@@ -153,13 +153,6 @@ static void vmi_get_wallclock_ts(struct 
ts-tv_sec = wallclock;
 }
 
-static void update_xtime_from_wallclock(void)
-{
-   struct timespec ts;
-   vmi_get_wallclock_ts(ts);
-   do_settimeofday(ts);
-}
-
 unsigned long vmi_get_wallclock(void)
 {
struct timespec ts;
@@ -197,18 +190,10 @@ void __init vmi_time_init(void)
set_intr_gate(LOCAL_TIMER_VECTOR, apic_vmi_timer_interrupt);
 #endif
 
-   no_sync_cmos_clock = 1;
-
-   vmi_get_wallclock_ts(xtime);
-   set_normalized_timespec(wall_to_monotonic,
-   -xtime.tv_sec, -xtime.tv_nsec);
-
real_cycles_accounted_system = read_real_cycles();
-   update_xtime_from_wallclock();
per_cpu(process_times_cycles_accounted_cpu, 0) = 
read_available_cycles();
 
cycles_per_sec = vmi_timer_ops.get_cycle_frequency();
-
cycles_per_jiffy = cycles_per_sec;
(void)do_div(cycles_per_jiffy, HZ);
cycles_per_alarm = cycles_per_sec;
_

Patches currently in -mm which might be from [EMAIL PROTECTED] are

origin.patch
make-struct-vmi_ops-static.patch

-
To unsubscribe from this list: send the line unsubscribe mm-commits in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


- vmi-smp-fixes.patch removed from -mm tree

2007-03-05 Thread akpm

The patch titled
 vmi: smp fixes
has been removed from the -mm tree.  Its filename was
 vmi-smp-fixes.patch

This patch was dropped because it was merged into mainline or a subsystem tree

--
Subject: vmi: smp fixes
From: Zachary Amsden [EMAIL PROTECTED]

Critical fixes for SMP.

Fix a couple functions which needed to be __devinit and fix a bogus parameter
to AP startup that just so happened to work because the low virtual mapping of
memory was still established.

Signed-off-by: Zachary Amsden [EMAIL PROTECTED]
Signed-off-by: Andrew Morton [EMAIL PROTECTED]
---

 arch/i386/kernel/vmi.c |7 ---
 arch/i386/kernel/vmitime.c |2 +-
 2 files changed, 5 insertions(+), 4 deletions(-)

diff -puN arch/i386/kernel/vmi.c~vmi-smp-fixes arch/i386/kernel/vmi.c
--- a/arch/i386/kernel/vmi.c~vmi-smp-fixes
+++ a/arch/i386/kernel/vmi.c
@@ -525,13 +525,14 @@ void vmi_pmd_clear(pmd_t *pmd)
 #endif
 
 #ifdef CONFIG_SMP
-struct vmi_ap_state ap;
 extern void setup_pda(void);
 
-static void __init /* XXX cpu hotplug */
+static void __devinit
 vmi_startup_ipi_hook(int phys_apicid, unsigned long start_eip,
 unsigned long start_esp)
 {
+   struct vmi_ap_state ap;
+
/* Default everything to zero.  This is fine for most GPRs. */
memset(ap, 0, sizeof(struct vmi_ap_state));
 
@@ -570,7 +571,7 @@ vmi_startup_ipi_hook(int phys_apicid, un
/* Protected mode, paging, AM, WP, NE, MP. */
ap.cr0 = 0x80050023;
ap.cr4 = mmu_cr4_features;
-   vmi_ops.set_initial_ap_state(__pa(ap), phys_apicid);
+   vmi_ops.set_initial_ap_state((u32)ap, phys_apicid);
 }
 #endif
 
diff -puN arch/i386/kernel/vmitime.c~vmi-smp-fixes arch/i386/kernel/vmitime.c
--- a/arch/i386/kernel/vmitime.c~vmi-smp-fixes
+++ a/arch/i386/kernel/vmitime.c
@@ -243,7 +243,7 @@ void __init vmi_timer_setup_boot_alarm(v
 
 /* Initialize the time accounting variables for an AP on an SMP system.
  * Also, set the local alarm for the AP. */
-void __init vmi_timer_setup_secondary_alarm(void)
+void __devinit vmi_timer_setup_secondary_alarm(void)
 {
int cpu = smp_processor_id();
 
_

Patches currently in -mm which might be from [EMAIL PROTECTED] are

origin.patch
make-struct-vmi_ops-static.patch

-
To unsubscribe from this list: send the line unsubscribe mm-commits in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


- md-fix-for-raid6-reshape.patch removed from -mm tree

2007-03-05 Thread akpm

The patch titled
 md: fix for raid6 reshape
has been removed from the -mm tree.  Its filename was
 md-fix-for-raid6-reshape.patch

This patch was dropped because it was merged into mainline or a subsystem tree

--
Subject: md: fix for raid6 reshape
From: NeilBrown [EMAIL PROTECTED]

Recent patch for raid6 reshape had a change missing that showed up in
subsequent review.

Many places in the raid5 code used conf-raid_disks-1 to mean number of
data disks.  With raid6 that had to be changed to conf-raid_disk -
conf-max_degraded or similar.  One place was missed.

This bug means that if a raid6 reshape were aborted in the middle the
recorded position would be wrong.  On restart it would either fail (as the
position wasn't on an appropriate boundary) or would leave a section of the
array unreshaped, causing data corruption.

Signed-off-by: Neil Brown [EMAIL PROTECTED]
Signed-off-by: Andrew Morton [EMAIL PROTECTED]
---

 drivers/md/raid5.c |2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff -puN drivers/md/raid5.c~md-fix-for-raid6-reshape drivers/md/raid5.c
--- a/drivers/md/raid5.c~md-fix-for-raid6-reshape
+++ a/drivers/md/raid5.c
@@ -3071,7 +3071,7 @@ static sector_t reshape_request(mddev_t 
release_stripe(sh);
}
spin_lock_irq(conf-device_lock);
-   conf-expand_progress = (sector_nr + i)*(conf-raid_disks-1);
+   conf-expand_progress = (sector_nr + i) * new_data_disks;
spin_unlock_irq(conf-device_lock);
/* Ok, those stripe are ready. We can start scheduling
 * reads on the source stripes.
_

Patches currently in -mm which might be from [EMAIL PROTECTED] are

origin.patch
revert-md-avoid-possible-bug_on-in-md-bitmap-handling-for-git-block.patch
fix-quadratic-behavior-of-shrink_dcache_parent.patch
fix-__d_path-for-lazy-unmounts-and-make-it-unambiguous.patch
fix-__d_path-for-lazy-unmounts-and-make-it-unambiguous-tidy.patch
the-nfsv2-nfsv3-server-does-not-handle-zero-length-write.patch
readahead-nfsd-case.patch
readahead-nfsd-case-fix.patch
drivers-mdc-use-array_size-macro-when-appropriate.patch
md-dm-reduce-stack-usage-with-stacked-block-devices.patch

-
To unsubscribe from this list: send the line unsubscribe mm-commits in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


- fix-nmi-appears-to-be-stuck.patch removed from -mm tree

2007-03-05 Thread akpm

The patch titled
 fix NMI appears to be stuck
has been removed from the -mm tree.  Its filename was
 fix-nmi-appears-to-be-stuck.patch

This patch was dropped because it was merged into mainline or a subsystem tree

--
Subject: fix NMI appears to be stuck
From: Thomas Gleixner [EMAIL PROTECTED]

  Testing NMI watchdog ... CPU#0: NMI appears to be stuck (54-54)!
  CPU#1: NMI appears to be stuck (0-0)!

Keep the PIT/HPET alive when nmi_watchdog = 1 is given on the command
line.

Signed-off-by: Thomas Gleixner [EMAIL PROTECTED]
Cc: Ingo Molnar [EMAIL PROTECTED]
Cc: Andi Kleen [EMAIL PROTECTED]
Signed-off-by: Andrew Morton [EMAIL PROTECTED]
---

 arch/i386/kernel/apic.c |   11 +--
 1 file changed, 9 insertions(+), 2 deletions(-)

diff -puN arch/i386/kernel/apic.c~fix-nmi-appears-to-be-stuck 
arch/i386/kernel/apic.c
--- a/arch/i386/kernel/apic.c~fix-nmi-appears-to-be-stuck
+++ a/arch/i386/kernel/apic.c
@@ -493,8 +493,15 @@ void __init setup_boot_APIC_clock(void)
/* No broadcast on UP ! */
if (num_possible_cpus() == 1)
return;
-   } else
-   lapic_clockevent.features = ~CLOCK_EVT_FEAT_DUMMY;
+   } else {
+   /*
+* If nmi_watchdog is set to IO_APIC, we need the
+* PIT/HPET going.  Otherwise register lapic as a dummy
+* device.
+*/
+   if (nmi_watchdog != NMI_IO_APIC)
+   lapic_clockevent.features = ~CLOCK_EVT_FEAT_DUMMY;
+   }
 
/* Setup the lapic or request the broadcast */
setup_APIC_timer();
_

Patches currently in -mm which might be from [EMAIL PROTECTED] are

origin.patch
bugfix-dont-use-the-tsc-in-sched_clock-if-unstable.patch
cleanup-unify-tsc_unstable-and-tsc_disable.patch
possible-bugfix-make-dmi_mark_tsc_unstable-call-mark_tsc_unstable.patch
git-block.patch
log-reason-why-tsc-was-marked-unstable.patch
optimize-timespec_trunc.patch
sched-fix-idle-load-balancing-in-softirqd-context.patch
sched-dynticks-idle-load-balancing-v3.patch
scheduled-removal-of-sa_xxx-interrupt-flags-fixups-3.patch

-
To unsubscribe from this list: send the line unsubscribe mm-commits in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


- x86_64-remove-unusued-flags-variable.patch removed from -mm tree

2007-03-05 Thread akpm

The patch titled
 x86_64: remove unusued 'flags' variable
has been removed from the -mm tree.  Its filename was
 x86_64-remove-unusued-flags-variable.patch

This patch was dropped because it was merged into mainline or a subsystem tree

--
Subject: x86_64: remove unusued 'flags' variable
From: David Rientjes [EMAIL PROTECTED]

Removes unused 'flags' variable from setup_IO_APIC_irq().

Signed-off-by: David Rientjes [EMAIL PROTECTED]
Signed-off-by: Andrew Morton [EMAIL PROTECTED]
---

 arch/x86_64/kernel/io_apic.c |1 -
 1 file changed, 1 deletion(-)

diff -puN arch/x86_64/kernel/io_apic.c~x86_64-remove-unusued-flags-variable 
arch/x86_64/kernel/io_apic.c
--- a/arch/x86_64/kernel/io_apic.c~x86_64-remove-unusued-flags-variable
+++ a/arch/x86_64/kernel/io_apic.c
@@ -789,7 +789,6 @@ static void setup_IO_APIC_irq(int apic, 
struct irq_cfg *cfg = irq_cfg + irq;
struct IO_APIC_route_entry entry;
cpumask_t mask;
-   unsigned long flags;
 
if (!IO_APIC_IRQ(irq))
return;
_

Patches currently in -mm which might be from [EMAIL PROTECTED] are

origin.patch
x86_64-configurable-fake-numa-node-sizes.patch
x86_64-split-remaining-fake-nodes-equally.patch
x86_64-fixed-size-remaining-fake-nodes.patch
x86_64-map-fake-nodes-to-real-nodes.patch
x86_64-map-fake-nodes-to-real-nodes-fix.patch
x86_64-disable-alien-cache-for-fake-numa.patch
x86_64-export-physnode-mapping-to-userspace.patch
x86_64-fake-numa-for-cpusets-document.patch
smaps-extract-pmd-walker-from-smaps-code.patch
smaps-add-pages-referenced-count-to-smaps.patch
smaps-add-clear_refs-file-to-clear-reference.patch
smaps-add-clear_refs-file-to-clear-reference-fix.patch
smaps-add-clear_refs-file-to-clear-reference-fix-fix.patch
smaps-add-clear_refs-file-to-clear-reference-docs.patch

-
To unsubscribe from this list: send the line unsubscribe mm-commits in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


- ipmi-check-if-default-ports-are-accessible-on-ppc.patch removed from -mm tree

2007-03-05 Thread akpm

The patch titled
 ipmi: check, if default ports are accessible on PPC
has been removed from the -mm tree.  Its filename was
 ipmi-check-if-default-ports-are-accessible-on-ppc.patch

This patch was dropped because it was merged into mainline or a subsystem tree

--
Subject: ipmi: check, if default ports are accessible on PPC
From: Christian Krafft [EMAIL PROTECTED]

ipmi_si_intf tries to access default ports, if no device could be found
elsewhere.  On PPC we have a function to check, if these legacy IO ports
are accessible.  This patch adds a check for these ports on PPC.  This
patch fixes a breakage of IPMI module on PPC machines without a BMC.

Signed-off-by: Christian Krafft [EMAIL PROTECTED]
Acked-by: Michael Ellerman [EMAIL PROTECTED]
Signed-off-by: Corey Minyard [EMAIL PROTECTED]
Cc: Paul Mackerras [EMAIL PROTECTED]
Cc: Benjamin Herrenschmidt [EMAIL PROTECTED]
Signed-off-by: Andrew Morton [EMAIL PROTECTED]
---

 drivers/char/ipmi/ipmi_si_intf.c |5 +
 1 file changed, 5 insertions(+)

diff -puN 
drivers/char/ipmi/ipmi_si_intf.c~ipmi-check-if-default-ports-are-accessible-on-ppc
 drivers/char/ipmi/ipmi_si_intf.c
--- 
a/drivers/char/ipmi/ipmi_si_intf.c~ipmi-check-if-default-ports-are-accessible-on-ppc
+++ a/drivers/char/ipmi/ipmi_si_intf.c
@@ -2478,6 +2478,11 @@ static __devinit void default_find_bmc(v
if (!info)
return;
 
+#ifdef CONFIG_PPC_MERGE
+   if (check_legacy_ioport(ipmi_defaults[i].port))
+   continue;
+#endif
+
info-addr_source = NULL;
 
info-si_type = ipmi_defaults[i].type;
_

Patches currently in -mm which might be from [EMAIL PROTECTED] are

origin.patch
ipmi-add-powerpc-openfirmware-sensing.patch

-
To unsubscribe from this list: send the line unsubscribe mm-commits in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


- atyfb-fix-kconfig-error.patch removed from -mm tree

2007-03-05 Thread akpm

The patch titled
 atyfb: Fix kconfig error
has been removed from the -mm tree.  Its filename was
 atyfb-fix-kconfig-error.patch

This patch was dropped because it was merged into mainline or a subsystem tree

--
Subject: atyfb: Fix kconfig error
From: Antonino A. Daplas [EMAIL PROTECTED]

Fix the following compile error:

  MODPOST 327 modules
WARNING: aty_st_lcd [drivers/video/aty/atyfb.ko] undefined!
WARNING: aty_ld_lcd [drivers/video/aty/atyfb.ko] undefined!
make[1]: *** [__modpost] Error 1
make: *** [modules] Error 2

Signed-off-by: Antonino Daplas [EMAIL PROTECTED]
Signed-off-by: Andrew Morton [EMAIL PROTECTED]
---

 drivers/video/aty/atyfb_base.c |3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff -puN drivers/video/aty/atyfb_base.c~atyfb-fix-kconfig-error 
drivers/video/aty/atyfb_base.c
--- a/drivers/video/aty/atyfb_base.c~atyfb-fix-kconfig-error
+++ a/drivers/video/aty/atyfb_base.c
@@ -131,7 +131,8 @@
 #define PRINTKI(fmt, args...)  printk(KERN_INFO atyfb:  fmt, ## args)
 #define PRINTKE(fmt, args...)   printk(KERN_ERR atyfb:  fmt, ## args)
 
-#if defined(CONFIG_PM) || defined(CONFIG_PMAC_BACKLIGHT) || defined 
(CONFIG_FB_ATY_GENERIC_LCD)
+#if defined(CONFIG_PM) || defined(CONFIG_PMAC_BACKLIGHT) || \
+defined (CONFIG_FB_ATY_GENERIC_LCD) || defined(CONFIG_FB_ATY_BACKLIGHT)
 static const u32 lt_lcd_regs[] = {
CONFIG_PANEL_LG,
LCD_GEN_CNTL_LG,
_

Patches currently in -mm which might be from [EMAIL PROTECTED] are

origin.patch
nvidiafb-backlight-fix-implicit-declaration-in-nv_backlight.patch
atyfb-fix-kconfig-error-part-2.patch
fbdev-fix-kconfig-error-if-fb_ddc=n.patch
fbdev-add-ultrasharp-uxga-to-broken-monitor-database.patch
fbdev-add-ultrasharp-uxga-to-broken-monitor-database-fix.patch
intelfb-fix-ring-space-calculation.patch
nvidiafb-bring-back-generic-ddc-reading.patch
fbdev-ignore-vesa-modes-if-framebuffer-is-disabled.patch
fbdev-fix-obvious-bug-in-show_pan.patch
neofb-fill-transp-msb_right-with-the-correct.patch
atyfb-kill-dead-code.patch
fbdev-mm-deferred-io-support.patch
fbdev-hecuba-framebuffer-driver.patch
fbdev-hecuba-framebuffer-driver-fix.patch

-
To unsubscribe from this list: send the line unsubscribe mm-commits in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


- documentation-for-io-accounting--reporting-via-procfs.patch removed from -mm tree

2007-03-05 Thread akpm

The patch titled
 Documentation for io-accounting / reporting via procfs
has been removed from the -mm tree.  Its filename was
 documentation-for-io-accounting--reporting-via-procfs.patch

This patch was dropped because it was merged into mainline or a subsystem tree

--
Subject: Documentation for io-accounting / reporting via procfs
From: Roland Kletzing [EMAIL PROTECTED]

Add some documentation for the new and very useful io-accounting feature. 
It's being added to Documentation/filesystems/proc.txt

Signed-off-by: Roland Kletzing [EMAIL PROTECTED]
Signed-off-by: Andrew Morton [EMAIL PROTECTED]
---

 Documentation/filesystems/proc.txt |  105 +++
 1 file changed, 105 insertions(+)

diff -puN 
Documentation/filesystems/proc.txt~documentation-for-io-accounting--reporting-via-procfs
 Documentation/filesystems/proc.txt
--- 
a/Documentation/filesystems/proc.txt~documentation-for-io-accounting--reporting-via-procfs
+++ a/Documentation/filesystems/proc.txt
@@ -41,6 +41,7 @@ Table of Contents
   2.11 /proc/sys/fs/mqueue - POSIX message queues filesystem
   2.12 /proc/pid/oom_adj - Adjust the oom-killer score
   2.13 /proc/pid/oom_score - Display current oom-killer score
+  2.14 /proc/pid/io - Display the IO accounting fields
 
 --
 Preface
@@ -1990,3 +1991,107 @@ need to  recompile  the kernel, or even 
 command to write value into these files, thereby changing the default settings
 of the kernel.
 --
+
+2.14  /proc/pid/io - Display the IO accounting fields
+---
+
+This file contains IO statistics for each running process
+
+Example
+---
+
+test:/tmp # dd if=/dev/zero of=/tmp/test.dat 
+[1] 3828
+
+test:/tmp # cat /proc/3828/io
+rchar: 323934931
+wchar: 323929600
+syscr: 632687
+syscw: 632675
+read_bytes: 0
+write_bytes: 323932160
+cancelled_write_bytes: 0
+
+
+Description
+---
+
+rchar
+-
+
+I/O counter: chars read
+The number of bytes which this task has caused to be read from storage. This
+is simply the sum of bytes which this process passed to read() and pread().
+It includes things like tty IO and it is unaffected by whether or not actual
+physical disk IO was required (the read might have been satisfied from
+pagecache)
+
+
+wchar
+-
+
+I/O counter: chars written
+The number of bytes which this task has caused, or shall cause to be written
+to disk. Similar caveats apply here as with rchar.
+
+
+syscr
+-
+
+I/O counter: read syscalls
+Attempt to count the number of read I/O operations, i.e. syscalls like read()
+and pread().
+
+
+syscw
+-
+
+I/O counter: write syscalls
+Attempt to count the number of write I/O operations, i.e. syscalls like
+write() and pwrite().
+
+
+read_bytes
+--
+
+I/O counter: bytes read
+Attempt to count the number of bytes which this process really did cause to
+be fetched from the storage layer. Done at the submit_bio() level, so it is
+accurate for block-backed filesystems. please add status regarding NFS and
+CIFS at a later time
+
+
+write_bytes
+---
+
+I/O counter: bytes written
+Attempt to count the number of bytes which this process caused to be sent to
+the storage layer. This is done at page-dirtying time.
+
+
+cancelled_write_bytes
+-
+
+The big inaccuracy here is truncate. If a process writes 1MB to a file and
+then deletes the file, it will in fact perform no writeout. But it will have
+been accounted as having caused 1MB of write.
+In other words: The number of bytes which this process caused to not happen,
+by truncating pagecache. A task can cause negative IO too. If this task
+truncates some dirty pagecache, some IO which another task has been accounted
+for (in it's write_bytes) will not be happening. We _could_ just subtract that
+from the truncating task's write_bytes, but there is information loss in doing
+that.
+
+
+Note
+
+
+At its current implementation state, this is a bit racy on 32-bit machines: if
+process A reads process B's /proc/pid/io while process B is updating one of
+those 64-bit counters, process A could see an intermediate result.
+
+
+More information about this can be found within the taskstats documentation in
+Documentation/accounting.
+
+--
_

Patches currently in -mm which might be from [EMAIL PROTECTED] are

origin.patch

-
To unsubscribe from this list: send the line unsubscribe mm-commits in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


- char-epcac-remove-unused-function.patch removed from -mm tree

2007-03-05 Thread akpm

The patch titled
 char/epca.c: remove unused function
has been removed from the -mm tree.  Its filename was
 char-epcac-remove-unused-function.patch

This patch was dropped because it was merged into mainline or a subsystem tree

--
Subject: char/epca.c: remove unused function
From: Michal Piotrowski [EMAIL PROTECTED]

drivers/char/epca.c:2741: warning: 'get_termio' defined but not used

Signed-off-by: Michal Piotrowski [EMAIL PROTECTED]
Acked-by: Alan Cox [EMAIL PROTECTED]
Signed-off-by: Andrew Morton [EMAIL PROTECTED]
---

 drivers/char/epca.c |   17 -
 1 file changed, 17 deletions(-)

diff -puN drivers/char/epca.c~char-epcac-remove-unused-function 
drivers/char/epca.c
--- a/drivers/char/epca.c~char-epcac-remove-unused-function
+++ a/drivers/char/epca.c
@@ -209,7 +209,6 @@ static void digi_send_break(struct chann
 static void setup_empty_event(struct tty_struct *tty, struct channel *ch);
 void epca_setup(char *, int *);
 
-static int get_termio(struct tty_struct *, struct termio __user *);
 static int pc_write(struct tty_struct *, const unsigned char *, int);
 static int pc_init(void);
 static int init_PCI(void);
@@ -2362,15 +2361,6 @@ static int pc_ioctl(struct tty_struct *t
 
switch (cmd) 
{ /* Begin switch cmd */
-
-#if 0  /* Handled by calling layer properly */
-   case TCGETS:
-   if (copy_to_user(argp, tty-termios, sizeof(struct 
ktermios)))
-   return -EFAULT;
-   return 0;
-   case TCGETA:
-   return get_termio(tty, argp);
-#endif
case TCSBRK:/* SVID version: non-zero arg -- no break */
retval = tty_check_change(tty);
if (retval)
@@ -2735,13 +2725,6 @@ static void setup_empty_event(struct tty
memoff(ch);
 } /* End setup_empty_event */
 
-/* - Begin get_termio --- */
-
-static int get_termio(struct tty_struct * tty, struct termio __user * termio)
-{ /* Begin get_termio */
-   return kernel_termios_to_user_termio(termio, tty-termios);
-} /* End get_termio */
-
 /* -- Begin epca_setup  -- */
 void epca_setup(char *str, int *ints)
 { /* Begin epca_setup */
_

Patches currently in -mm which might be from [EMAIL PROTECTED] are

origin.patch
git-ia64.patch
git-input.patch
i386-irq-kill-irq-compression-fix.patch
extend-notifier_call_chain-to-count-nr_calls-made-fixes-3.patch
edac-new-opteron-athlon64-memory-controller-driver.patch
reiser4-configh.patch

-
To unsubscribe from this list: send the line unsubscribe mm-commits in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


- clocksource-init-adjustments-fix-bug-7426.patch removed from -mm tree

2007-03-05 Thread akpm

The patch titled
 clocksource init adjustments (fix bug #7426)
has been removed from the -mm tree.  Its filename was
 clocksource-init-adjustments-fix-bug-7426.patch

This patch was dropped because it was merged into mainline or a subsystem tree

--
Subject: clocksource init adjustments (fix bug #7426)
From: john stultz [EMAIL PROTECTED]

This patch resolves the issue found here:
http://bugme.osdl.org/show_bug.cgi?id=7426

The basic summary is:
Currently we register most of i386/x86_64 clocksources at module_init
time. Then we enable clocksource selection at late_initcall time. This
causes some problems for drivers that use gettimeofday for init
calibration routines (specifically the es1968 driver in this case),
where durring module_init, the only clocksource available is the low-res
jiffies clocksource. This may cause slight calibration errors, due to
the small sampling time used.

It should be noted that drivers that require fine grained time may not
function on architectures that do not have better then jiffies
resolution timekeeping (there are a few). However, this does not
discount the reasonable need for such fine-grained timekeeping at init
time.

Thus the solution here is to register clocksources earlier (ideally when
the hardware is being initialized), and then we enable clocksource
selection at fs_initcall (before device_initcall).

This patch should probably get some testing time in -mm, since
clocksource selection is one of the most important issues for correct
timekeeping, and I've only been able to test this on a few of my own
boxes.

Signed-off-by: John Stultz [EMAIL PROTECTED]
Cc: Thomas Gleixner [EMAIL PROTECTED]
Cc: Ingo Molnar [EMAIL PROTECTED]
Cc: David S. Miller [EMAIL PROTECTED]
Signed-off-by: Andrew Morton [EMAIL PROTECTED]
---

 arch/i386/kernel/hpet.c   |   80 ++-
 arch/i386/kernel/i8253.c  |2 
 arch/i386/kernel/setup.c  |1 
 arch/i386/kernel/time.c   |1 
 arch/i386/kernel/tsc.c|   83 ++--
 arch/x86_64/kernel/hpet.c |  109 
 arch/x86_64/kernel/time.c |2 
 arch/x86_64/kernel/tsc.c  |7 --
 drivers/clocksource/acpi_pm.c |5 +
 drivers/clocksource/cyclone.c |2 
 include/asm-x86_64/tsc.h  |1 
 kernel/time/clocksource.c |8 +-
 12 files changed, 135 insertions(+), 166 deletions(-)

diff -puN arch/i386/kernel/hpet.c~clocksource-init-adjustments-fix-bug-7426 
arch/i386/kernel/hpet.c
--- a/arch/i386/kernel/hpet.c~clocksource-init-adjustments-fix-bug-7426
+++ a/arch/i386/kernel/hpet.c
@@ -201,12 +201,30 @@ static int hpet_next_event(unsigned long
 }
 
 /*
+ * Clock source related code
+ */
+static cycle_t read_hpet(void)
+{
+   return (cycle_t)hpet_readl(HPET_COUNTER);
+}
+
+static struct clocksource clocksource_hpet = {
+   .name   = hpet,
+   .rating = 250,
+   .read   = read_hpet,
+   .mask   = HPET_MASK,
+   .shift  = HPET_SHIFT,
+   .flags  = CLOCK_SOURCE_IS_CONTINUOUS,
+};
+
+/*
  * Try to setup the HPET timer
  */
 int __init hpet_enable(void)
 {
unsigned long id;
uint64_t hpet_freq;
+   u64 tmp;
 
if (!is_hpet_capable())
return 0;
@@ -253,6 +271,25 @@ int __init hpet_enable(void)
/* Start the counter */
hpet_start_counter();
 
+   /* Initialize and register HPET clocksource
+*
+* hpet period is in femto seconds per cycle
+* so we need to convert this to ns/cyc units
+* aproximated by mult/2^shift
+*
+*  fsec/cyc * 1nsec/100fsec = nsec/cyc = mult/2^shift
+*  fsec/cyc * 1ns/100fsec * 2^shift = mult
+*  fsec/cyc * 2^shift * 1nsec/100fsec = mult
+*  (fsec/cyc  shift)/100 = mult
+*  (hpet_period  shift)/FSEC_PER_NSEC = mult
+*/
+   tmp = (u64)hpet_period  HPET_SHIFT;
+   do_div(tmp, FSEC_PER_NSEC);
+   clocksource_hpet.mult = (u32)tmp;
+
+   clocksource_register(clocksource_hpet);
+
+
if (id  HPET_ID_LEGSUP) {
hpet_enable_int();
hpet_reserve_platform_timers(id);
@@ -273,49 +310,6 @@ out_nohpet:
return 0;
 }
 
-/*
- * Clock source related code
- */
-static cycle_t read_hpet(void)
-{
-   return (cycle_t)hpet_readl(HPET_COUNTER);
-}
-
-static struct clocksource clocksource_hpet = {
-   .name   = hpet,
-   .rating = 250,
-   .read   = read_hpet,
-   .mask   = HPET_MASK,
-   .shift  = HPET_SHIFT,
-   .flags  = CLOCK_SOURCE_IS_CONTINUOUS,
-};
-
-static int __init init_hpet_clocksource(void)
-{
-   u64 tmp;
-
-   if (!hpet_virt_address)
-   return -ENODEV;
-
-   /*
-* hpet period is in femto seconds per cycle
-* so we need to convert this to ns/cyc units
-* 

- usb-storage-do-not-rebuild-when-kernel-version-changes.patch removed from -mm tree

2007-03-05 Thread akpm

The patch titled
 usb-storage: do not rebuild when kernel version changes
has been removed from the -mm tree.  Its filename was
 usb-storage-do-not-rebuild-when-kernel-version-changes.patch

This patch was dropped because it was merged into mainline or a subsystem tree

--
Subject: usb-storage: do not rebuild when kernel version changes
From: Sam Ravnborg [EMAIL PROTECTED]

Replacing use of UTS_RELEASE with utsname()-release avoids that the
usb-storage driver is recompiled each time the kernel version changes.

Signed-off-by: Sam Ravnborg [EMAIL PROTECTED]
Cc: Greg KH [EMAIL PROTECTED]
Signed-off-by: Andrew Morton [EMAIL PROTECTED]
---

 drivers/usb/storage/usb.c |4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff -puN 
drivers/usb/storage/usb.c~usb-storage-do-not-rebuild-when-kernel-version-changes
 drivers/usb/storage/usb.c
--- 
a/drivers/usb/storage/usb.c~usb-storage-do-not-rebuild-when-kernel-version-changes
+++ a/drivers/usb/storage/usb.c
@@ -55,7 +55,7 @@
 #include linux/slab.h
 #include linux/kthread.h
 #include linux/mutex.h
-#include linux/utsrelease.h
+#include linux/utsname.h
 
 #include scsi/scsi.h
 #include scsi/scsi_cmnd.h
@@ -547,7 +547,7 @@ static int get_device_info(struct us_dat
idesc-bInterfaceSubClass,
idesc-bInterfaceProtocol,
msgs[msg],
-   UTS_RELEASE);
+   utsname()-release);
}
 
return 0;
_

Patches currently in -mm which might be from [EMAIL PROTECTED] are

origin.patch
kbuild-override-build-timestamp.patch
kconfig-abort-configuration-with-recursive-dependencies.patch
pci-do-not-mark-exported-functions-as-__devinit.patch
x86_64-fix-section-mismatch-warnings.patch
fix-section-mismatch-warning-in-lib-swiotlbc.patch
extend-print_symbol-capability.patch

-
To unsubscribe from this list: send the line unsubscribe mm-commits in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


- timer-hrtimer-take-per-cpu-locks-in-sane-order.patch removed from -mm tree

2007-03-05 Thread akpm

The patch titled
 timer/hrtimer: take per cpu locks in sane order
has been removed from the -mm tree.  Its filename was
 timer-hrtimer-take-per-cpu-locks-in-sane-order.patch

This patch was dropped because it was merged into mainline or a subsystem tree

--
Subject: timer/hrtimer: take per cpu locks in sane order
From: Heiko Carstens [EMAIL PROTECTED]

Doing something like this on a two cpu system

# echo 0  /sys/devices/system/cpu/cpu0/online
# echo 1  /sys/devices/system/cpu/cpu0/online
# echo 0  /sys/devices/system/cpu/cpu1/online

will give me this:

===
[ INFO: possible circular locking dependency detected ]
2.6.21-rc2-g562aa1d4-dirty #7
---
bash/1282 is trying to acquire lock:
 (cpu_base-lock_key){.+..}, at: [0005f17e] 
hrtimer_cpu_notify+0xc6/0x240

but task is already holding lock:
 (cpu_base-lock_key#2){.+..}, at: [0005f174] 
hrtimer_cpu_notify+0xbc/0x240

which lock already depends on the new lock.

This happens because we have the following code in kernel/hrtimer.c:

migrate_hrtimers(int cpu)
[...]
old_base = per_cpu(hrtimer_bases, cpu);
new_base = get_cpu_var(hrtimer_bases);
[...]
spin_lock(new_base-lock);
spin_lock(old_base-lock);

Which means the spinlocks are taken in an order which depends on which cpu
gets shut down from which other cpu. Therefore lockdep complains that there
might be an ABBA deadlock. Since migrate_hrtimers() gets only called on
cpu hotplug it's safe to assume that it isn't executed concurrently on a

The same problem exists in kernel/timer.c: migrate_timers().

As pointed out by Christian Borntraeger one possible solution to avoid
the locking order complaints would be to make sure that the locks are
always taken in the same order. E.g. by taking the lock of the cpu with
the lower number first.

To achieve this we introduce two new spinlock functions double_spin_lock
and double_spin_unlock which lock or unlock two locks in a given order.

Cc: Ingo Molnar [EMAIL PROTECTED]
Cc: Thomas Gleixner [EMAIL PROTECTED]
Cc: Roman Zippel [EMAIL PROTECTED]
Cc: John Stultz [EMAIL PROTECTED]
Cc: Christian Borntraeger [EMAIL PROTECTED]
Cc: Martin Schwidefsky [EMAIL PROTECTED]
Signed-off-by: Heiko Carstens [EMAIL PROTECTED]
Signed-off-by: Andrew Morton [EMAIL PROTECTED]
---

 include/linux/spinlock.h |   37 +
 kernel/hrtimer.c |9 -
 kernel/timer.c   |8 
 3 files changed, 45 insertions(+), 9 deletions(-)

diff -puN 
include/linux/spinlock.h~timer-hrtimer-take-per-cpu-locks-in-sane-order 
include/linux/spinlock.h
--- a/include/linux/spinlock.h~timer-hrtimer-take-per-cpu-locks-in-sane-order
+++ a/include/linux/spinlock.h
@@ -283,6 +283,43 @@ do {   \
 })
 
 /*
+ * Locks two spinlocks l1 and l2.
+ * l1_first indicates if spinlock l1 should be taken first.
+ */
+static inline void double_spin_lock(spinlock_t *l1, spinlock_t *l2,
+   bool l1_first)
+   __acquires(l1)
+   __acquires(l2)
+{
+   if (l1_first) {
+   spin_lock(l1);
+   spin_lock(l2);
+   } else {
+   spin_lock(l2);
+   spin_lock(l1);
+   }
+}
+
+/*
+ * Unlocks two spinlocks l1 and l2.
+ * l1_taken_first indicates if spinlock l1 was taken first and therefore
+ * should be released after spinlock l2.
+ */
+static inline void double_spin_unlock(spinlock_t *l1, spinlock_t *l2,
+ bool l1_taken_first)
+   __releases(l1)
+   __releases(l2)
+{
+   if (l1_taken_first) {
+   spin_unlock(l2);
+   spin_unlock(l1);
+   } else {
+   spin_unlock(l1);
+   spin_unlock(l2);
+   }
+}
+
+/*
  * Pull the atomic_t declaration:
  * (asm-mips/atomic.h needs above definitions)
  */
diff -puN kernel/hrtimer.c~timer-hrtimer-take-per-cpu-locks-in-sane-order 
kernel/hrtimer.c
--- a/kernel/hrtimer.c~timer-hrtimer-take-per-cpu-locks-in-sane-order
+++ a/kernel/hrtimer.c
@@ -1355,17 +1355,16 @@ static void migrate_hrtimers(int cpu)
tick_cancel_sched_timer(cpu);
 
local_irq_disable();
-
-   spin_lock(new_base-lock);
-   spin_lock(old_base-lock);
+   double_spin_lock(new_base-lock, old_base-lock,
+smp_processor_id()  cpu);
 
for (i = 0; i  HRTIMER_MAX_CLOCK_BASES; i++) {
migrate_hrtimer_list(old_base-clock_base[i],
 new_base-clock_base[i]);
}
-   spin_unlock(old_base-lock);
-   spin_unlock(new_base-lock);
 
+   double_spin_unlock(new_base-lock, old_base-lock,
+  smp_processor_id()  cpu);
local_irq_enable();
put_cpu_var(hrtimer_bases);
 }
diff -puN 

- pcie-fix-section-mismatch-warning.patch removed from -mm tree

2007-03-05 Thread akpm

The patch titled
 pcie: fix section mismatch warning
has been removed from the -mm tree.  Its filename was
 pcie-fix-section-mismatch-warning.patch

This patch was dropped because it was merged into mainline or a subsystem tree

--
Subject: pcie: fix section mismatch warning
From: Sam Ravnborg [EMAIL PROTECTED]

Fix following section mismatch warning (when compiled with
CONFIG_HOTPLUG=n):

WARNING: drivers/pci/built-in.o - Section mismatch: reference to 
.init.text:pcie_portdrv_probe from .data between 'pcie_portdrv' (at offset 
0xe40) and 'pcie_portdrv_err_handler'

This warning was fixed by renaming pcie_portdrv to pcie_portdriver so we
pass the whitelist.

Signed-off-by: Sam Ravnborg [EMAIL PROTECTED]
Cc: Greg KH [EMAIL PROTECTED]
Signed-off-by: Andrew Morton [EMAIL PROTECTED]
---

 drivers/pci/pcie/portdrv_pci.c |6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff -puN drivers/pci/pcie/portdrv_pci.c~pcie-fix-section-mismatch-warning 
drivers/pci/pcie/portdrv_pci.c
--- a/drivers/pci/pcie/portdrv_pci.c~pcie-fix-section-mismatch-warning
+++ a/drivers/pci/pcie/portdrv_pci.c
@@ -276,7 +276,7 @@ static struct pci_error_handlers pcie_po
.resume = pcie_portdrv_err_resume,
 };
 
-static struct pci_driver pcie_portdrv = {
+static struct pci_driver pcie_portdriver = {
.name   = (char *)device_name,
.id_table   = port_pci_ids[0],
 
@@ -298,7 +298,7 @@ static int __init pcie_portdrv_init(void
printk(KERN_WARNING PCIE: bus_register error: %d\n, retval);
goto out;
}
-   retval = pci_register_driver(pcie_portdrv);
+   retval = pci_register_driver(pcie_portdriver);
if (retval)
pcie_port_bus_unregister();
  out:
@@ -307,7 +307,7 @@ static int __init pcie_portdrv_init(void
 
 static void __exit pcie_portdrv_exit(void) 
 {
-   pci_unregister_driver(pcie_portdrv);
+   pci_unregister_driver(pcie_portdriver);
pcie_port_bus_unregister();
 }
 
_

Patches currently in -mm which might be from [EMAIL PROTECTED] are

origin.patch
kbuild-override-build-timestamp.patch
kconfig-abort-configuration-with-recursive-dependencies.patch
pci-do-not-mark-exported-functions-as-__devinit.patch
x86_64-fix-section-mismatch-warnings.patch
fix-section-mismatch-warning-in-lib-swiotlbc.patch
extend-print_symbol-capability.patch

-
To unsubscribe from this list: send the line unsubscribe mm-commits in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


- aer-fix-section-mismatch-warning.patch removed from -mm tree

2007-03-05 Thread akpm

The patch titled
 aer: fix section mismatch warning
has been removed from the -mm tree.  Its filename was
 aer-fix-section-mismatch-warning.patch

This patch was dropped because it was merged into mainline or a subsystem tree

--
Subject: aer: fix section mismatch warning
From: Sam Ravnborg [EMAIL PROTECTED]

Fix following section mismatch warning (when compiled with CONFIG_HOTPLUG=n):

WARNING: drivers/pci/built-in.o - Section mismatch: reference to 
.init.text:aer_probe from .data between 'aerdrv' (at offset 0x1608) and 
'aer_error_handlers'

Warning was fixed by renaming aerdrv to aerdriver so we pass the whitelist.

Signed-off-by: Sam Ravnborg [EMAIL PROTECTED]
Cc: Greg KH [EMAIL PROTECTED]
Signed-off-by: Andrew Morton [EMAIL PROTECTED]
---

 drivers/pci/pcie/aer/aerdrv.c |6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff -puN drivers/pci/pcie/aer/aerdrv.c~aer-fix-section-mismatch-warning 
drivers/pci/pcie/aer/aerdrv.c
--- a/drivers/pci/pcie/aer/aerdrv.c~aer-fix-section-mismatch-warning
+++ a/drivers/pci/pcie/aer/aerdrv.c
@@ -66,7 +66,7 @@ static struct pci_error_handlers aer_err
.resume = aer_error_resume,
 };
 
-static struct pcie_port_service_driver aerdrv = {
+static struct pcie_port_service_driver aerdriver = {
.name   = aer,
.id_table   = aer_id[0],
 
@@ -328,7 +328,7 @@ static void aer_error_resume(struct pci_
  **/
 static int __init aer_service_init(void)
 {
-   return pcie_port_service_register(aerdrv);
+   return pcie_port_service_register(aerdriver);
 }
 
 /**
@@ -338,7 +338,7 @@ static int __init aer_service_init(void)
  **/
 static void __exit aer_service_exit(void)
 {
-   pcie_port_service_unregister(aerdrv);
+   pcie_port_service_unregister(aerdriver);
 }
 
 module_init(aer_service_init);
_

Patches currently in -mm which might be from [EMAIL PROTECTED] are

origin.patch
kbuild-override-build-timestamp.patch
kconfig-abort-configuration-with-recursive-dependencies.patch
pci-do-not-mark-exported-functions-as-__devinit.patch
x86_64-fix-section-mismatch-warnings.patch
fix-section-mismatch-warning-in-lib-swiotlbc.patch
extend-print_symbol-capability.patch

-
To unsubscribe from this list: send the line unsubscribe mm-commits in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


- schedule-wext-rtnl-for-removal.patch removed from -mm tree

2007-03-05 Thread akpm

The patch titled
 schedule wext/rtnl for removal
has been removed from the -mm tree.  Its filename was
 schedule-wext-rtnl-for-removal.patch

This patch was dropped because it was merged into mainline or a subsystem tree

--
Subject: schedule wext/rtnl for removal
From: Johannes Berg [EMAIL PROTECTED]

Since wext is being replaced as fast as we can (it'll probably stick around
for legacy drivers though) and the wext/netlink stuff was never really
used, this schedules it for removal.

The removal schedule is tight but there are no users of the code, the main
user of the wext user interface are the wireless-tools, they only have an
alpha version using the netlink interface and even that is incomplete.

Signed-off-by: Johannes Berg [EMAIL PROTECTED]
Signed-off-by: John W. Linville [EMAIL PROTECTED]
Cc: Jeff Garzik [EMAIL PROTECTED]
Signed-off-by: Andrew Morton [EMAIL PROTECTED]
---

 Documentation/feature-removal-schedule.txt |   12 
 1 file changed, 12 insertions(+)

diff -puN 
Documentation/feature-removal-schedule.txt~schedule-wext-rtnl-for-removal 
Documentation/feature-removal-schedule.txt
--- a/Documentation/feature-removal-schedule.txt~schedule-wext-rtnl-for-removal
+++ a/Documentation/feature-removal-schedule.txt
@@ -304,3 +304,15 @@ Why:   The code says it was obsolete when 
 Who:   Richard Purdie [EMAIL PROTECTED]
 
 ---
+
+What:  Wireless extensions over netlink (CONFIG_NET_WIRELESS_RTNETLINK)
+When:  with the merge of wireless-dev, 2.6.22 or later
+Why:   The option/code is
+* not enabled on most kernels
+* not required by any userspace tools (except an experimental one,
+  and even there only for some parts, others use ioctl)
+* pointless since wext is no longer evolving and the ioctl
+  interface needs to be kept
+Who:   Johannes Berg [EMAIL PROTECTED]
+
+---
_

Patches currently in -mm which might be from [EMAIL PROTECTED] are

origin.patch
git-wireless.patch

-
To unsubscribe from this list: send the line unsubscribe mm-commits in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


- dz-remove-struct-pt_regs-references.patch removed from -mm tree

2007-03-05 Thread akpm

The patch titled
 dz: remove struct pt_regs references
has been removed from the -mm tree.  Its filename was
 dz-remove-struct-pt_regs-references.patch

This patch was dropped because it was merged into mainline or a subsystem tree

--
Subject: dz: remove struct pt_regs references
From: Maciej W. Rozycki [EMAIL PROTECTED]

Remove remaining references to saved registers now that
uart_handle_sysrq_char() does not want them.

Signed-off-by: Maciej W. Rozycki [EMAIL PROTECTED]
Signed-off-by: Andrew Morton [EMAIL PROTECTED]
---

 drivers/serial/dz.c |7 +++
 1 file changed, 3 insertions(+), 4 deletions(-)

diff -puN drivers/serial/dz.c~dz-remove-struct-pt_regs-references 
drivers/serial/dz.c
--- a/drivers/serial/dz.c~dz-remove-struct-pt_regs-references
+++ a/drivers/serial/dz.c
@@ -170,8 +170,7 @@ static void dz_enable_ms(struct uart_por
  * This routine deals with inputs from any lines.
  * 
  */
-static inline void dz_receive_chars(struct dz_port *dport_in,
-   struct pt_regs *regs)
+static inline void dz_receive_chars(struct dz_port *dport_in)
 {
struct dz_port *dport;
struct tty_struct *tty = NULL;
@@ -226,7 +225,7 @@ static inline void dz_receive_chars(stru
break;
}
 
-   if (uart_handle_sysrq_char(dport-port, ch, regs))
+   if (uart_handle_sysrq_char(dport-port, ch))
continue;
 
if ((status  dport-port.ignore_status_mask) == 0) {
@@ -332,7 +331,7 @@ static irqreturn_t dz_interrupt(int irq,
status = dz_in(dport, DZ_CSR);
 
if ((status  (DZ_RDONE | DZ_RIE)) == (DZ_RDONE | DZ_RIE))
-   dz_receive_chars(dport, regs);
+   dz_receive_chars(dport);
 
if ((status  (DZ_TRDY | DZ_TIE)) == (DZ_TRDY | DZ_TIE))
dz_transmit_chars(dport);
_

Patches currently in -mm which might be from [EMAIL PROTECTED] are

origin.patch
aio-use-flush_work.patch
kblockd-use-flush_work.patch
relayfs-use-flush_keventd_work.patch
tg3-use-flush_keventd_work.patch
e1000-use-flush_keventd_work.patch
libata-use-flush_work.patch
phy-use-flush_work.patch
tgafb-turbochannel-support.patch
tgafb-accelerated-code.patch

-
To unsubscribe from this list: send the line unsubscribe mm-commits in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


- ecryptfs-handles-aop_truncated_page-better.patch removed from -mm tree

2007-03-05 Thread akpm

The patch titled
 ecryptfs: handle AOP_TRUNCATED_PAGE better
has been removed from the -mm tree.  Its filename was
 ecryptfs-handles-aop_truncated_page-better.patch

This patch was dropped because it was merged into mainline or a subsystem tree

--
Subject: ecryptfs: handle AOP_TRUNCATED_PAGE better
From: Dmitriy Monakhov [EMAIL PROTECTED]

- In fact we don't have to fail if AOP_TRUNCATED_PAGE was returned from
  prepare_write or commit_write. It is beter to retry attempt where it
  is possible.

- Rearange ecryptfs_get_lower_page() error handling logic, make it more clean.

Signed-off-by: Dmitriy Monakhov [EMAIL PROTECTED]
Acked-by: Michael Halcrow [EMAIL PROTECTED]
Signed-off-by: Andrew Morton [EMAIL PROTECTED]
---

 fs/ecryptfs/mmap.c |   28 
 1 file changed, 16 insertions(+), 12 deletions(-)

diff -puN fs/ecryptfs/mmap.c~ecryptfs-handles-aop_truncated_page-better 
fs/ecryptfs/mmap.c
--- a/fs/ecryptfs/mmap.c~ecryptfs-handles-aop_truncated_page-better
+++ a/fs/ecryptfs/mmap.c
@@ -446,6 +446,7 @@ static int ecryptfs_write_inode_size_to_
const struct address_space_operations *lower_a_ops;
u64 file_size;
 
+retry:
header_page = grab_cache_page(lower_inode-i_mapping, 0);
if (!header_page) {
ecryptfs_printk(KERN_ERR, grab_cache_page for 
@@ -456,9 +457,10 @@ static int ecryptfs_write_inode_size_to_
lower_a_ops = lower_inode-i_mapping-a_ops;
rc = lower_a_ops-prepare_write(lower_file, header_page, 0, 8);
if (rc) {
-   if (rc == AOP_TRUNCATED_PAGE)
+   if (rc == AOP_TRUNCATED_PAGE) {
ecryptfs_release_lower_page(header_page, 0);
-   else
+   goto retry;
+   } else
ecryptfs_release_lower_page(header_page, 1);
goto out;
}
@@ -473,9 +475,10 @@ static int ecryptfs_write_inode_size_to_
if (rc  0)
ecryptfs_printk(KERN_ERR, Error commiting header page 
write\n);
-   if (rc == AOP_TRUNCATED_PAGE)
+   if (rc == AOP_TRUNCATED_PAGE) {
ecryptfs_release_lower_page(header_page, 0);
-   else
+   goto retry;
+   } else
ecryptfs_release_lower_page(header_page, 1);
lower_inode-i_mtime = lower_inode-i_ctime = CURRENT_TIME;
mark_inode_dirty_sync(inode);
@@ -565,6 +568,7 @@ int ecryptfs_get_lower_page(struct page 
 {
int rc = 0;
 
+retry:
*lower_page = grab_cache_page(lower_inode-i_mapping, lower_page_index);
if (!(*lower_page)) {
rc = -EINVAL;
@@ -578,18 +582,18 @@ int ecryptfs_get_lower_page(struct page 
  byte_offset,
  region_bytes);
if (rc) {
-   ecryptfs_printk(KERN_ERR, prepare_write for 
+   if (rc == AOP_TRUNCATED_PAGE) {
+   ecryptfs_release_lower_page(*lower_page, 0);
+   goto retry;
+   } else {
+   ecryptfs_printk(KERN_ERR, prepare_write for 
lower_page_index = [0x%.16x] failed; rc = 
[%d]\n, lower_page_index, rc);
-   }
-out:
-   if (rc  (*lower_page)) {
-   if (rc == AOP_TRUNCATED_PAGE)
-   ecryptfs_release_lower_page(*lower_page, 0);
-   else
ecryptfs_release_lower_page(*lower_page, 1);
-   (*lower_page) = NULL;
+   (*lower_page) = NULL;
+   }
}
+out:
return rc;
 }
 
_

Patches currently in -mm which might be from [EMAIL PROTECTED] are

origin.patch
libata-handle-ata_pci_device_do_resume-failure-while-resuming-v2.patch
3c59x-handle-pci_enable_device-failure-while-resuming.patch
sk98lin-handle-pci_enable_device-return-value-in-skge_resume.patch
mpt-fusion-handle-mpt_resume-failure-while-resuming.patch
freevxfs-possible-null-pointer-dereference-fix.patch
reiserfs-possible-null-pointer-dereference-during-resize.patch
irq-add-__must_check-to-request_irq.patch

-
To unsubscribe from this list: send the line unsubscribe mm-commits in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


- arch-i386-kernel-vmic-must-include-asm-kmap_typesh.patch removed from -mm tree

2007-03-05 Thread akpm

The patch titled
 arch/i386/kernel/vmi.c must #include asm/kmap_types.h
has been removed from the -mm tree.  Its filename was
 arch-i386-kernel-vmic-must-include-asm-kmap_typesh.patch

This patch was dropped because it was merged into mainline or a subsystem tree

--
Subject: arch/i386/kernel/vmi.c must #include asm/kmap_types.h
From: Adrian Bunk [EMAIL PROTECTED]

  CC  arch/i386/kernel/vmi.o
/home/bunk/linux/kernel-2.6/linux-2.6.21-rc2-mm1/arch/i386/kernel/vmi.c: In 
function 'vmi_map_pt_hook':
/home/bunk/linux/kernel-2.6/linux-2.6.21-rc2-mm1/arch/i386/kernel/vmi.c:387: 
error: 'KM_PTE0' undeclared (first use in this function)
/home/bunk/linux/kernel-2.6/linux-2.6.21-rc2-mm1/arch/i386/kernel/vmi.c:387: 
error: (Each undeclared identifier is reported only once
/home/bunk/linux/kernel-2.6/linux-2.6.21-rc2-mm1/arch/i386/kernel/vmi.c:387: 
error: for each function it appears in.)
/home/bunk/linux/kernel-2.6/linux-2.6.21-rc2-mm1/arch/i386/kernel/vmi.c:387: 
error: 'KM_PTE1' undeclared (first use in this function)
make[2]: *** [arch/i386/kernel/vmi.o] Error 1

Signed-off-by: Adrian Bunk [EMAIL PROTECTED]
Acked-by: Zachary Amsden [EMAIL PROTECTED]
Signed-off-by: Andrew Morton [EMAIL PROTECTED]
---

 arch/i386/kernel/vmi.c |1 +
 1 file changed, 1 insertion(+)

diff -puN 
arch/i386/kernel/vmi.c~arch-i386-kernel-vmic-must-include-asm-kmap_typesh 
arch/i386/kernel/vmi.c
--- a/arch/i386/kernel/vmi.c~arch-i386-kernel-vmic-must-include-asm-kmap_typesh
+++ a/arch/i386/kernel/vmi.c
@@ -35,6 +35,7 @@
 #include asm/processor.h
 #include asm/timer.h
 #include asm/vmi_time.h
+#include asm/kmap_types.h
 
 /* Convenient for calling VMI functions indirectly in the ROM */
 typedef u32 __attribute__((regparm(1))) (VROMFUNC)(void);
_

Patches currently in -mm which might be from [EMAIL PROTECTED] are

origin.patch
git-drm.patch
git-dvb.patch
git-gfs2-nmw.patch
git-ieee1394.patch
kconfig-abort-configuration-with-recursive-dependencies.patch
remove-fs-jffs2-ioctlc.patch
git-ubi.patch
drivers-net-vioc-possible-cleanups.patch
net-uninline-skb_put-fix.patch
drivers-scsi-small-cleanups.patch
drivers-scsi-advansysc-cleanups.patch
megaraid-fix-warnings-when-config_proc_fs=n.patch
drivers-scsi-dpt_i2oc-remove-dead-code.patch
drivers-scsi-aic7xxx-make-functions-static.patch
drivers-scsi-wd33c93c-cleanups.patch
drivers-scsi-qla4xxx-possible-cleanups.patch
make-seagate_st0x_detect-static.patch
drivers-scsi-aacraid-cleanups.patch
remove-the-broken-scsi_acornscsi_3-driver.patch
git-unionfs.patch
git-wireless.patch
git-ipwireless_cs.patch
arch-i386-kernel-alternativec-should-include-asm-bugsh.patch
make-struct-vmi_ops-static.patch
i386-asm-offsetsc-workaround-for-a-wmissing-prototypes-warning.patch
lguest-kconfig-and-headers-fix.patch
proper-prototype-for-hugetlb_get_unmapped_area.patch
mm-slabc-proper-prototypes.patch
lumpy-reclaim-cleanup.patch
filesystem-disk-errors-at-boot-time-caused-by-probe-fix.patch
kill-net-rxrpc-rxrpc_symsc.patch
drivers-char-hvc_consolec-cleanups.patch
init-do_mountsc-proper-prepare_namespace-prototype.patch
make-ext2_get_blocks-static.patch
drivers-edac-make-code-static.patch
linux-kernel-markers-kconfig-menus-fix.patch
linux-kernel-markers-architecture-independant-code-license-fix.patch
linux-kernel-markers-i386-optimization-export-fix.patch
readahead-events-accounting-make-readahead_debug_level-static.patch
reiser4-export-remove_from_page_cache-fix.patch
fs-reiser4-possible-cleanups.patch
reiser4-possible-cleanups-2.patch
fs-reiser4-possible-cleanups-2.patch
fs-reiser4-more-possible-cleanups.patch
slim-main-patch-security-slim-slm_mainc-make-2-functions-static.patch
slim-debug-output-slm_set_taskperm-remove-horrible-error-handling-code.patch
i386-enable-4k-stacks-by-default.patch
mutex-subsystem-synchro-test-module.patch

-
To unsubscribe from this list: send the line unsubscribe mm-commits in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


- ecryptfs-lower-root-result-must-be-adirectory.patch removed from -mm tree

2007-03-05 Thread akpm

The patch titled
 ecryptfs: lower root result must be adirectory
has been removed from the -mm tree.  Its filename was
 ecryptfs-lower-root-result-must-be-adirectory.patch

This patch was dropped because it was merged into mainline or a subsystem tree

--
Subject: ecryptfs: lower root result must be adirectory
From: Dmitriy Monakhov [EMAIL PROTECTED]

- Currently after path_lookup succeed we dot't have any guarantie what
  it is DIR. This must be explicitly demanded.
- path_lookup can't return negative dentry, So inode check is useless.

Signed-off-by: Dmitriy Monakhov [EMAIL PROTECTED]
Acked-by: Michael Halcrow [EMAIL PROTECTED]
Signed-off-by: Andrew Morton [EMAIL PROTECTED]
---

 fs/ecryptfs/main.c |8 +---
 1 file changed, 1 insertion(+), 7 deletions(-)

diff -puN fs/ecryptfs/main.c~ecryptfs-lower-root-result-must-be-adirectory 
fs/ecryptfs/main.c
--- a/fs/ecryptfs/main.c~ecryptfs-lower-root-result-must-be-adirectory
+++ a/fs/ecryptfs/main.c
@@ -484,18 +484,12 @@ static int ecryptfs_read_super(struct su
struct vfsmount *lower_mnt;
 
memset(nd, 0, sizeof(struct nameidata));
-   rc = path_lookup(dev_name, LOOKUP_FOLLOW, nd);
+   rc = path_lookup(dev_name, LOOKUP_FOLLOW | LOOKUP_DIRECTORY, nd);
if (rc) {
ecryptfs_printk(KERN_WARNING, path_lookup() failed\n);
goto out;
}
lower_root = nd.dentry;
-   if (!lower_root-d_inode) {
-   ecryptfs_printk(KERN_WARNING,
-   No directory to interpose on\n);
-   rc = -ENOENT;
-   goto out_free;
-   }
lower_mnt = nd.mnt;
ecryptfs_set_superblock_lower(sb, lower_root-d_sb);
sb-s_maxbytes = lower_root-d_sb-s_maxbytes;
_

Patches currently in -mm which might be from [EMAIL PROTECTED] are

origin.patch
libata-handle-ata_pci_device_do_resume-failure-while-resuming-v2.patch
3c59x-handle-pci_enable_device-failure-while-resuming.patch
freevxfs-possible-null-pointer-dereference-fix.patch
reiserfs-possible-null-pointer-dereference-during-resize.patch

-
To unsubscribe from this list: send the line unsubscribe mm-commits in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


- safer-nr_node_ids-and-nr_node_ids-determination-and-initial-up-fix.patch removed from -mm tree

2007-03-05 Thread akpm

The patch titled
 safer-nr_node_ids-and-nr_node_ids-determination-and-initial-up-fix
has been removed from the -mm tree.  Its filename was
 safer-nr_node_ids-and-nr_node_ids-determination-and-initial-up-fix.patch

This patch was dropped because it was folded into 
safer-nr_node_ids-and-nr_node_ids-determination-and-initial.patch

--
Subject: safer-nr_node_ids-and-nr_node_ids-determination-and-initial-up-fix
From: Andrew Morton [EMAIL PROTECTED]

Cc: Christoph Lameter [EMAIL PROTECTED]
Signed-off-by: Andrew Morton [EMAIL PROTECTED]
---

 kernel/sched.c |   11 ++-
 1 file changed, 6 insertions(+), 5 deletions(-)

diff -puN 
kernel/sched.c~safer-nr_node_ids-and-nr_node_ids-determination-and-initial-up-fix
 kernel/sched.c
--- 
a/kernel/sched.c~safer-nr_node_ids-and-nr_node_ids-determination-and-initial-up-fix
+++ a/kernel/sched.c
@@ -5279,6 +5279,11 @@ int __init migration_init(void)
 #endif
 
 #ifdef CONFIG_SMP
+
+/* Number of possible processor ids */
+int nr_cpu_ids = NR_CPUS;
+EXPORT_SYMBOL(nr_cpu_ids);
+
 #undef SCHED_DOMAIN_DEBUG
 #ifdef SCHED_DOMAIN_DEBUG
 static void sched_domain_debug(struct sched_domain *sd, int cpu)
@@ -6758,10 +6763,6 @@ int in_sched_functions(unsigned long add
 addr  (unsigned long)__sched_text_end);
 }
 
-/* Number of possible processor ids */
-int nr_cpu_ids = NR_CPUS;
-EXPORT_SYMBOL(nr_cpu_ids);
-
 void __init sched_init(void)
 {
int i, j, k;
@@ -6802,11 +6803,11 @@ void __init sched_init(void)
}
highest_cpu = i;
}
-   nr_cpu_ids = highest_cpu + 1;
 
set_load_weight(init_task);
 
 #ifdef CONFIG_SMP
+   nr_cpu_ids = highest_cpu + 1;
open_softirq(SCHED_SOFTIRQ, run_rebalance_domains, NULL);
 #endif
 
_

Patches currently in -mm which might be from [EMAIL PROTECTED] are

origin.patch
slab-introduce-krealloc-fix.patch
make-aout-executables-work-again-fix.patch
sony-laptop-fix-uninitialised-variable.patch
git-alsa-oops-fix.patch
git-drm.patch
git-dvb.patch
ia64-kexec-use-efi_loader_data-for-elf-core-header-tidy.patch
git-input.patch
setstream-param-for-psmouse-tweak.patch
git-md-accel-fixup.patch
nommu-present-backing-device-capabilities-for-mtd-fix.patch
git-ubi.patch
git-netdev-all.patch
git-netdev-all-ipw2200-fix.patch
revert-drivers-net-tulip-dmfe-support-basic-carrier-detection.patch
dmfe-add-support-for-suspend-resume-fix.patch
sis900-warning-fixes.patch
div64_64-common-code-fix.patch
bonding-replace-system-timer-with-work-queue-tidy.patch
git-parisc.patch
rm9000-serial-driver-tidy.patch
git-pciseg.patch
git-unionfs.patch
usbatm-create-sysfs-link-device-from-atm-class-device-tidy.patch
git-wireless-fixup.patch
revert-x86_64-mm-change-sysenter_setup-to-__cpuinit-improve-__init-__initdata.patch
after-before-x86_64-mm-mmconfig-share.patch
linux-sysdevh-needs-to-include-linux-moduleh-up-fix.patch
linux-sysdevh-needs-to-include-linux-moduleh-up-fix-2.patch
safer-nr_node_ids-and-nr_node_ids-determination-and-initial.patch
safer-nr_node_ids-and-nr_node_ids-determination-and-initial-up-fix.patch
safer-nr_node_ids-and-nr_node_ids-determination-and-initial-tweak.patch
smaps-add-clear_refs-file-to-clear-reference-fix.patch
driver_bfin_serial_core-update.patch
fix-rmmod-read-write-races-in-proc-entries-fix.patch
reduce-size-of-task_struct-on-64-bit-machines.patch
mm-shrink-parent-dentries-when-shrinking-slab.patch
merge-sys_clone-sys_unshare-nsproxy-and-namespace-fix.patch
merge-sys_clone-sys_unshare-nsproxy-and-namespace-fix-2.patch
call-cpu_chain-with-cpu_down_failed-if-cpu_down_prepare-failed-vs-reduce-size-of-task_struct-on-64-bit-machines.patch
speedup-divides-by-cpu_power-in-scheduler-up-fix.patch
lutimesat-compat-syscall-and-wire-up-on-x86_64-tidy.patch
utrace-prep.patch
utrace-prep-2.patch
revert-utrace-prep-2.patch
utrace-vs-reduce-size-of-task_struct-on-64-bit-machines.patch
local_t-mips-extension-shrink-duplicated-mips-32-64-bits-functions-from-localh-fix.patch
linux-kernel-markers-kconfig-menus-fix-4.patch
fbdev-hecuba-framebuffer-driver-fix.patch
mm-only-free-swap-space-of-reactivated-pages-debug.patch

-
To unsubscribe from this list: send the line unsubscribe mm-commits in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


- safer-nr_node_ids-and-nr_node_ids-determination-and-initial-tweak.patch removed from -mm tree

2007-03-05 Thread akpm

The patch titled
 safer-nr_node_ids-and-nr_node_ids-determination-and-initial-tweak
has been removed from the -mm tree.  Its filename was
 safer-nr_node_ids-and-nr_node_ids-determination-and-initial-tweak.patch

This patch was dropped because it was folded into 
safer-nr_node_ids-and-nr_node_ids-determination-and-initial.patch

--
Subject: safer-nr_node_ids-and-nr_node_ids-determination-and-initial-tweak
From: Andrew Morton [EMAIL PROTECTED]

yes?

Cc: Christoph Lameter [EMAIL PROTECTED]
Signed-off-by: Andrew Morton [EMAIL PROTECTED]
---

 kernel/sched.c |2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff -puN 
kernel/sched.c~safer-nr_node_ids-and-nr_node_ids-determination-and-initial-tweak
 kernel/sched.c
--- 
a/kernel/sched.c~safer-nr_node_ids-and-nr_node_ids-determination-and-initial-tweak
+++ a/kernel/sched.c
@@ -5281,7 +5281,7 @@ int __init migration_init(void)
 #ifdef CONFIG_SMP
 
 /* Number of possible processor ids */
-int nr_cpu_ids = NR_CPUS;
+int nr_cpu_ids __read_mostly = NR_CPUS;
 EXPORT_SYMBOL(nr_cpu_ids);
 
 #undef SCHED_DOMAIN_DEBUG
_

Patches currently in -mm which might be from [EMAIL PROTECTED] are

origin.patch
slab-introduce-krealloc-fix.patch
make-aout-executables-work-again-fix.patch
sony-laptop-fix-uninitialised-variable.patch
git-alsa-oops-fix.patch
git-drm.patch
git-dvb.patch
ia64-kexec-use-efi_loader_data-for-elf-core-header-tidy.patch
git-input.patch
setstream-param-for-psmouse-tweak.patch
git-md-accel-fixup.patch
nommu-present-backing-device-capabilities-for-mtd-fix.patch
git-ubi.patch
git-netdev-all.patch
git-netdev-all-ipw2200-fix.patch
revert-drivers-net-tulip-dmfe-support-basic-carrier-detection.patch
dmfe-add-support-for-suspend-resume-fix.patch
sis900-warning-fixes.patch
div64_64-common-code-fix.patch
bonding-replace-system-timer-with-work-queue-tidy.patch
git-parisc.patch
rm9000-serial-driver-tidy.patch
git-pciseg.patch
git-unionfs.patch
usbatm-create-sysfs-link-device-from-atm-class-device-tidy.patch
git-wireless-fixup.patch
revert-x86_64-mm-change-sysenter_setup-to-__cpuinit-improve-__init-__initdata.patch
after-before-x86_64-mm-mmconfig-share.patch
linux-sysdevh-needs-to-include-linux-moduleh-up-fix.patch
linux-sysdevh-needs-to-include-linux-moduleh-up-fix-2.patch
safer-nr_node_ids-and-nr_node_ids-determination-and-initial.patch
safer-nr_node_ids-and-nr_node_ids-determination-and-initial-tweak.patch
smaps-add-clear_refs-file-to-clear-reference-fix.patch
driver_bfin_serial_core-update.patch
fix-rmmod-read-write-races-in-proc-entries-fix.patch
reduce-size-of-task_struct-on-64-bit-machines.patch
mm-shrink-parent-dentries-when-shrinking-slab.patch
merge-sys_clone-sys_unshare-nsproxy-and-namespace-fix.patch
merge-sys_clone-sys_unshare-nsproxy-and-namespace-fix-2.patch
call-cpu_chain-with-cpu_down_failed-if-cpu_down_prepare-failed-vs-reduce-size-of-task_struct-on-64-bit-machines.patch
speedup-divides-by-cpu_power-in-scheduler-up-fix.patch
lutimesat-compat-syscall-and-wire-up-on-x86_64-tidy.patch
utrace-prep.patch
utrace-prep-2.patch
revert-utrace-prep-2.patch
utrace-vs-reduce-size-of-task_struct-on-64-bit-machines.patch
local_t-mips-extension-shrink-duplicated-mips-32-64-bits-functions-from-localh-fix.patch
linux-kernel-markers-kconfig-menus-fix-4.patch
fbdev-hecuba-framebuffer-driver-fix.patch
mm-only-free-swap-space-of-reactivated-pages-debug.patch

-
To unsubscribe from this list: send the line unsubscribe mm-commits in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


- use-zvc-counters-to-establish-exact-size-of-dirtyable-pages-fix.patch removed from -mm tree

2007-03-05 Thread akpm

The patch titled
 Use ZVC counters to establish exact size of dirtyable pages (fix)
has been removed from the -mm tree.  Its filename was
 use-zvc-counters-to-establish-exact-size-of-dirtyable-pages-fix.patch

This patch was dropped because it was folded into 
use-zvc-counters-to-establish-exact-size-of-dirtyable-pages.patch

--
Subject: Use ZVC counters to establish exact size of dirtyable pages (fix)
From: Christoph Lameter [EMAIL PROTECTED]

Insure that dirtyable memory calculation always returns positive number

In order to avoid division by zero and strange results we insure that
the memory calculation of dirtyable memory always returns at least 1.

We need to make sure that highmem_dirtyable_memory() never returns a number
larger than the total dirtyable memory. Counter deferrals and strange VM
situations with unimagiably small lowmem may make the count go negative.

Also base the calculation of the mapped_ratio on the amount of dirtyable
memory.

Signed-off-by: Christoph Lameter [EMAIL PROTECTED]
Signed-off-by: Andrew Morton [EMAIL PROTECTED]
---

 mm/page-writeback.c |   18 --
 1 file changed, 12 insertions(+), 6 deletions(-)

diff -puN 
mm/page-writeback.c~use-zvc-counters-to-establish-exact-size-of-dirtyable-pages-fix
 mm/page-writeback.c
--- 
a/mm/page-writeback.c~use-zvc-counters-to-establish-exact-size-of-dirtyable-pages-fix
+++ a/mm/page-writeback.c
@@ -120,7 +120,7 @@ static void background_writeout(unsigned
  * clamping level.
  */
 
-static unsigned long highmem_dirtyable_memory(void)
+static unsigned long highmem_dirtyable_memory(unsigned long total)
 {
 #ifdef CONFIG_HIGHMEM
int node;
@@ -134,7 +134,13 @@ static unsigned long highmem_dirtyable_m
+ zone_page_state(z, NR_INACTIVE)
+ zone_page_state(z, NR_ACTIVE);
}
-   return x;
+   /*
+* Make sure that the number of highmem pages is never larger
+* than the number of the total dirtyable memory. This can only
+* occur in very strange VM situations but we want to make sure
+* that this does not occur.
+*/
+   return min(x, total);
 #else
return 0;
 #endif
@@ -146,9 +152,9 @@ static unsigned long determine_dirtyable
 
x = global_page_state(NR_FREE_PAGES)
+ global_page_state(NR_INACTIVE)
-   + global_page_state(NR_ACTIVE)
-   - highmem_dirtyable_memory();
-   return x;
+   + global_page_state(NR_ACTIVE);
+   x -= highmem_dirtyable_memory(x);
+   return x + 1;   /* Ensure that we never return 0 */
 }
 
 static void
@@ -165,7 +171,7 @@ get_dirty_limits(long *pbackground, long
 
unmapped_ratio = 100 - ((global_page_state(NR_FILE_MAPPED) +
global_page_state(NR_ANON_PAGES)) * 100) /
-   vm_total_pages;
+   available_memory;
 
dirty_ratio = vm_dirty_ratio;
if (dirty_ratio  unmapped_ratio / 2)
_

Patches currently in -mm which might be from [EMAIL PROTECTED] are

origin.patch
slab-introduce-krealloc.patch
slab-introduce-krealloc-fix.patch
safer-nr_node_ids-and-nr_node_ids-determination-and-initial.patch
use-zvc-counters-to-establish-exact-size-of-dirtyable-pages.patch
use-zvc-counters-to-establish-exact-size-of-dirtyable-pages-fix.patch
make-try_to_unmap-return-a-special-exit-code.patch
slab-ensure-cache_alloc_refill-terminates.patch
add-nr_mlock-zvc.patch
add-pagemlocked-page-state-bit-and-lru-infrastructure.patch
add-pagemlocked-page-state-bit-and-lru-infrastructure-fix.patch
logic-to-move-mlocked-pages.patch
consolidate-new-anonymous-page-code-paths.patch
avoid-putting-new-mlocked-anonymous-pages-on-lru.patch
opportunistically-move-mlocked-pages-off-the-lru.patch
take-anonymous-pages-off-the-lru-if-we-have-no-swap.patch
smaps-extract-pmd-walker-from-smaps-code.patch
smaps-add-pages-referenced-count-to-smaps.patch
smaps-add-clear_refs-file-to-clear-reference.patch
smaps-add-clear_refs-file-to-clear-reference-fix.patch
smaps-add-clear_refs-file-to-clear-reference-fix-fix.patch
slab-shutdown-cache_reaper-when-cpu-goes-down.patch
mm-implement-swap-prefetching-vs-zvc-stuff.patch
mm-implement-swap-prefetching-vs-zvc-stuff-2.patch
zvc-support-nr_slab_reclaimable--nr_slab_unreclaimable-swap_prefetch.patch
reduce-max_nr_zones-swap_prefetch-remove-incorrect-use-of-zone_highmem.patch
numa-add-zone_to_nid-function-swap_prefetch.patch
remove-uses-of-kmem_cache_t-from-mm-and-include-linux-slabh-prefetch.patch
readahead-state-based-method-aging-accounting.patch
readahead-state-based-method-aging-accounting-vs-zvc-changes.patch

-
To unsubscribe from this list: send the line unsubscribe mm-commits in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


- add-pagemlocked-page-state-bit-and-lru-infrastructure-fix.patch removed from -mm tree

2007-03-05 Thread akpm

The patch titled
 
has been removed from the -mm tree.  Its filename was
 add-pagemlocked-page-state-bit-and-lru-infrastructure-fix.patch

This patch was dropped because it was folded into 
add-pagemlocked-page-state-bit-and-lru-infrastructure.patch

--
Subject: 
From: Christoph Lameter [EMAIL PROTECTED]

The problem is that in some circumstances a page may be freed that is
mlocked (if one is marking a page as mlocked early). The page allocator
will not touch the PG_mlocked bit and thus a newly allocated page may have
PG_mlocked set. If we then try to put it on the lru then the VM_BUG_ONs
are triggered.

The following patch detects these conditions in the page allocator and
does the proper checks and cleanup.

Signed-off-by: Christoph Lameter [EMAIL PROTECTED]
Signed-off-by: Andrew Morton [EMAIL PROTECTED]
---

 include/linux/page-flags.h |1 +
 mm/page_alloc.c|7 +++
 2 files changed, 8 insertions(+)

diff -puN 
include/linux/page-flags.h~add-pagemlocked-page-state-bit-and-lru-infrastructure-fix
 include/linux/page-flags.h
--- 
a/include/linux/page-flags.h~add-pagemlocked-page-state-bit-and-lru-infrastructure-fix
+++ a/include/linux/page-flags.h
@@ -264,6 +264,7 @@ static inline void SetPageUptodate(struc
 #define PageMlocked(page)  test_bit(PG_mlocked, (page)-flags)
 #define SetPageMlocked(page)   set_bit(PG_mlocked, (page)-flags)
 #define ClearPageMlocked(page) clear_bit(PG_mlocked, (page)-flags)
+#define __ClearPageMlocked(page) __clear_bit(PG_mlocked, (page)-flags)
 
 struct page;   /* forward declaration */
 
diff -puN 
mm/page_alloc.c~add-pagemlocked-page-state-bit-and-lru-infrastructure-fix 
mm/page_alloc.c
--- a/mm/page_alloc.c~add-pagemlocked-page-state-bit-and-lru-infrastructure-fix
+++ a/mm/page_alloc.c
@@ -203,6 +203,7 @@ static void bad_page(struct page *page)
1  PG_slab|
1  PG_swapcache |
1  PG_writeback |
+   1  PG_mlocked |
1  PG_buddy );
set_page_count(page, 0);
reset_page_mapcount(page);
@@ -442,6 +443,11 @@ static inline int free_pages_check(struc
bad_page(page);
if (PageDirty(page))
__ClearPageDirty(page);
+   if (PageMlocked(page)) {
+   /* Page is unused so no need to take the lru lock */
+   __ClearPageMlocked(page);
+   dec_zone_page_state(page, NR_MLOCK);
+   }
/*
 * For now, we report if PG_reserved was found set, but do not
 * clear it, and do not free the page.  But we shall soon need
@@ -588,6 +594,7 @@ static int prep_new_page(struct page *pa
1  PG_swapcache |
1  PG_writeback |
1  PG_reserved |
+   1  PG_mlocked |
1  PG_buddy 
bad_page(page);
 
_

Patches currently in -mm which might be from [EMAIL PROTECTED] are

origin.patch
slab-introduce-krealloc.patch
slab-introduce-krealloc-fix.patch
safer-nr_node_ids-and-nr_node_ids-determination-and-initial.patch
use-zvc-counters-to-establish-exact-size-of-dirtyable-pages.patch
make-try_to_unmap-return-a-special-exit-code.patch
slab-ensure-cache_alloc_refill-terminates.patch
add-nr_mlock-zvc.patch
add-pagemlocked-page-state-bit-and-lru-infrastructure.patch
add-pagemlocked-page-state-bit-and-lru-infrastructure-fix.patch
logic-to-move-mlocked-pages.patch
consolidate-new-anonymous-page-code-paths.patch
avoid-putting-new-mlocked-anonymous-pages-on-lru.patch
opportunistically-move-mlocked-pages-off-the-lru.patch
take-anonymous-pages-off-the-lru-if-we-have-no-swap.patch
smaps-extract-pmd-walker-from-smaps-code.patch
smaps-add-pages-referenced-count-to-smaps.patch
smaps-add-clear_refs-file-to-clear-reference.patch
smaps-add-clear_refs-file-to-clear-reference-fix.patch
smaps-add-clear_refs-file-to-clear-reference-fix-fix.patch
slab-shutdown-cache_reaper-when-cpu-goes-down.patch
mm-implement-swap-prefetching-vs-zvc-stuff.patch
mm-implement-swap-prefetching-vs-zvc-stuff-2.patch
zvc-support-nr_slab_reclaimable--nr_slab_unreclaimable-swap_prefetch.patch
reduce-max_nr_zones-swap_prefetch-remove-incorrect-use-of-zone_highmem.patch
numa-add-zone_to_nid-function-swap_prefetch.patch
remove-uses-of-kmem_cache_t-from-mm-and-include-linux-slabh-prefetch.patch
readahead-state-based-method-aging-accounting.patch
readahead-state-based-method-aging-accounting-vs-zvc-changes.patch

-
To unsubscribe from this list: send the line unsubscribe mm-commits in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


- add-nr_mlock-zvc.patch removed from -mm tree

2007-03-05 Thread akpm

The patch titled
 Add NR_MLOCK ZVC
has been removed from the -mm tree.  Its filename was
 add-nr_mlock-zvc.patch

This patch was dropped because an updated version will be merged

--
Subject: Add NR_MLOCK ZVC
From: Christoph Lameter [EMAIL PROTECTED]

Basic infrastructure to support NR_MLOCK

Add a new ZVC to support NR_MLOCK.  NR_MLOCK counts the number of mlocked
pages taken off the LRU.  Get rid of wrong calculation of cache line size in
the comments in mmzone.h.

Signed-off-by: Christoph Lameter [EMAIL PROTECTED]
Signed-off-by: Andrew Morton [EMAIL PROTECTED]
---

 drivers/base/node.c|2 ++
 fs/proc/proc_misc.c|2 ++
 include/linux/mmzone.h |3 +--
 mm/vmstat.c|1 +
 4 files changed, 6 insertions(+), 2 deletions(-)

diff -puN drivers/base/node.c~add-nr_mlock-zvc drivers/base/node.c
--- a/drivers/base/node.c~add-nr_mlock-zvc
+++ a/drivers/base/node.c
@@ -60,6 +60,7 @@ static ssize_t node_read_meminfo(struct 
   Node %d FilePages:%8lu kB\n
   Node %d Mapped:   %8lu kB\n
   Node %d AnonPages:%8lu kB\n
+  Node %d Mlock:%8lu KB\n
   Node %d PageTables:   %8lu kB\n
   Node %d NFS_Unstable: %8lu kB\n
   Node %d Bounce:   %8lu kB\n
@@ -82,6 +83,7 @@ static ssize_t node_read_meminfo(struct 
   nid, K(node_page_state(nid, NR_FILE_PAGES)),
   nid, K(node_page_state(nid, NR_FILE_MAPPED)),
   nid, K(node_page_state(nid, NR_ANON_PAGES)),
+  nid, K(node_page_state(nid, NR_MLOCK)),
   nid, K(node_page_state(nid, NR_PAGETABLE)),
   nid, K(node_page_state(nid, NR_UNSTABLE_NFS)),
   nid, K(node_page_state(nid, NR_BOUNCE)),
diff -puN fs/proc/proc_misc.c~add-nr_mlock-zvc fs/proc/proc_misc.c
--- a/fs/proc/proc_misc.c~add-nr_mlock-zvc
+++ a/fs/proc/proc_misc.c
@@ -166,6 +166,7 @@ static int meminfo_read_proc(char *page,
Writeback:%8lu kB\n
AnonPages:%8lu kB\n
Mapped:   %8lu kB\n
+   Mlock:%8lu KB\n
Slab: %8lu kB\n
SReclaimable: %8lu kB\n
SUnreclaim:   %8lu kB\n
@@ -196,6 +197,7 @@ static int meminfo_read_proc(char *page,
K(global_page_state(NR_WRITEBACK)),
K(global_page_state(NR_ANON_PAGES)),
K(global_page_state(NR_FILE_MAPPED)),
+   K(global_page_state(NR_MLOCK)),
K(global_page_state(NR_SLAB_RECLAIMABLE) +
global_page_state(NR_SLAB_UNRECLAIMABLE)),
K(global_page_state(NR_SLAB_RECLAIMABLE)),
diff -puN include/linux/mmzone.h~add-nr_mlock-zvc include/linux/mmzone.h
--- a/include/linux/mmzone.h~add-nr_mlock-zvc
+++ a/include/linux/mmzone.h
@@ -47,17 +47,16 @@ struct zone_padding {
 #endif
 
 enum zone_stat_item {
-   /* First 128 byte cacheline (assuming 64 bit words) */
NR_FREE_PAGES,
NR_INACTIVE,
NR_ACTIVE,
+   NR_MLOCK,   /* Mlocked pages */
NR_ANON_PAGES,  /* Mapped anonymous pages */
NR_FILE_MAPPED, /* pagecache pages mapped into pagetables.
   only modified from process context */
NR_FILE_PAGES,
NR_FILE_DIRTY,
NR_WRITEBACK,
-   /* Second 128 byte cacheline */
NR_SLAB_RECLAIMABLE,
NR_SLAB_UNRECLAIMABLE,
NR_PAGETABLE,   /* used for pagetables */
diff -puN mm/vmstat.c~add-nr_mlock-zvc mm/vmstat.c
--- a/mm/vmstat.c~add-nr_mlock-zvc
+++ a/mm/vmstat.c
@@ -434,6 +434,7 @@ static const char * const vmstat_text[] 
nr_free_pages,
nr_active,
nr_inactive,
+   nr_mlock,
nr_anon_pages,
nr_mapped,
nr_file_pages,
_

Patches currently in -mm which might be from [EMAIL PROTECTED] are

origin.patch
slab-introduce-krealloc.patch
slab-introduce-krealloc-fix.patch
safer-nr_node_ids-and-nr_node_ids-determination-and-initial.patch
use-zvc-counters-to-establish-exact-size-of-dirtyable-pages.patch
make-try_to_unmap-return-a-special-exit-code.patch
slab-ensure-cache_alloc_refill-terminates.patch
add-nr_mlock-zvc.patch
add-pagemlocked-page-state-bit-and-lru-infrastructure.patch
logic-to-move-mlocked-pages.patch
consolidate-new-anonymous-page-code-paths.patch
avoid-putting-new-mlocked-anonymous-pages-on-lru.patch
opportunistically-move-mlocked-pages-off-the-lru.patch
take-anonymous-pages-off-the-lru-if-we-have-no-swap.patch
smaps-extract-pmd-walker-from-smaps-code.patch
smaps-add-pages-referenced-count-to-smaps.patch
smaps-add-clear_refs-file-to-clear-reference.patch
smaps-add-clear_refs-file-to-clear-reference-fix.patch
smaps-add-clear_refs-file-to-clear-reference-fix-fix.patch

- add-pagemlocked-page-state-bit-and-lru-infrastructure.patch removed from -mm tree

2007-03-05 Thread akpm

The patch titled
 Add PageMlocked() page state bit and lru infrastructure
has been removed from the -mm tree.  Its filename was
 add-pagemlocked-page-state-bit-and-lru-infrastructure.patch

This patch was dropped because an updated version will be merged

--
Subject: Add PageMlocked() page state bit and lru infrastructure
From: Christoph Lameter [EMAIL PROTECTED]

Add PageMlocked() infrastructure

This adds a new PG_mlocked to mark pages that were taken off the LRU because
they have a reference from a VM_LOCKED vma.

(Yes, we still have 4 free page flag bits  BITS_PER_LONG-FLAGS_RESERVED =
32 - 9 = 23 page flags).

Also add pagevec handling for returning mlocked pages to the LRU.

Signed-off-by: Christoph Lameter [EMAIL PROTECTED]
Signed-off-by: Andrew Morton [EMAIL PROTECTED]
---

 include/linux/page-flags.h |   13 +
 include/linux/pagevec.h|1 
 include/linux/swap.h   |1 
 mm/page_alloc.c|7 +
 mm/swap.c  |   47 +++
 5 files changed, 69 insertions(+)

diff -puN 
include/linux/page-flags.h~add-pagemlocked-page-state-bit-and-lru-infrastructure
 include/linux/page-flags.h
--- 
a/include/linux/page-flags.h~add-pagemlocked-page-state-bit-and-lru-infrastructure
+++ a/include/linux/page-flags.h
@@ -91,6 +91,8 @@
 #define PG_nosave_free 18  /* Used for system suspend/resume */
 #define PG_buddy   19  /* Page is free, on buddy lists */
 
+#define PG_mlocked 20  /* Page is mlocked */
+
 /* PG_owner_priv_1 users should have descriptive aliases */
 #define PG_checked PG_owner_priv_1 /* Used by some filesystems */
 
@@ -253,6 +255,17 @@ static inline void SetPageUptodate(struc
 #define SetPageUncached(page)  set_bit(PG_uncached, (page)-flags)
 #define ClearPageUncached(page)clear_bit(PG_uncached, (page)-flags)
 
+/*
+ * PageMlocked set means that the page was taken off the LRU because
+ * a VM_LOCKED vma does exist. PageMlocked must be cleared before a
+ * page is put back onto the LRU. PageMlocked is only modified
+ * under the zone-lru_lock like PageLRU.
+ */
+#define PageMlocked(page)  test_bit(PG_mlocked, (page)-flags)
+#define SetPageMlocked(page)   set_bit(PG_mlocked, (page)-flags)
+#define ClearPageMlocked(page) clear_bit(PG_mlocked, (page)-flags)
+#define __ClearPageMlocked(page) __clear_bit(PG_mlocked, (page)-flags)
+
 struct page;   /* forward declaration */
 
 extern void cancel_dirty_page(struct page *page, unsigned int account_size);
diff -puN 
include/linux/pagevec.h~add-pagemlocked-page-state-bit-and-lru-infrastructure 
include/linux/pagevec.h
--- 
a/include/linux/pagevec.h~add-pagemlocked-page-state-bit-and-lru-infrastructure
+++ a/include/linux/pagevec.h
@@ -25,6 +25,7 @@ void __pagevec_release_nonlru(struct pag
 void __pagevec_free(struct pagevec *pvec);
 void __pagevec_lru_add(struct pagevec *pvec);
 void __pagevec_lru_add_active(struct pagevec *pvec);
+void __pagevec_lru_add_mlock(struct pagevec *pvec);
 void pagevec_strip(struct pagevec *pvec);
 unsigned pagevec_lookup(struct pagevec *pvec, struct address_space *mapping,
pgoff_t start, unsigned nr_pages);
diff -puN 
include/linux/swap.h~add-pagemlocked-page-state-bit-and-lru-infrastructure 
include/linux/swap.h
--- a/include/linux/swap.h~add-pagemlocked-page-state-bit-and-lru-infrastructure
+++ a/include/linux/swap.h
@@ -182,6 +182,7 @@ extern void FASTCALL(lru_cache_add(struc
 extern void FASTCALL(lru_cache_add_active(struct page *));
 extern void FASTCALL(activate_page(struct page *));
 extern void FASTCALL(mark_page_accessed(struct page *));
+extern void FASTCALL(lru_cache_add_mlock(struct page *));
 extern void lru_add_drain(void);
 extern int lru_add_drain_all(void);
 extern int rotate_reclaimable_page(struct page *page);
diff -puN mm/swap.c~add-pagemlocked-page-state-bit-and-lru-infrastructure 
mm/swap.c
--- a/mm/swap.c~add-pagemlocked-page-state-bit-and-lru-infrastructure
+++ a/mm/swap.c
@@ -176,6 +176,7 @@ EXPORT_SYMBOL(mark_page_accessed);
  */
 static DEFINE_PER_CPU(struct pagevec, lru_add_pvecs) = { 0, };
 static DEFINE_PER_CPU(struct pagevec, lru_add_active_pvecs) = { 0, };
+static DEFINE_PER_CPU(struct pagevec, lru_add_mlock_pvecs) = { 0, };
 
 void fastcall lru_cache_add(struct page *page)
 {
@@ -197,6 +198,16 @@ void fastcall lru_cache_add_active(struc
put_cpu_var(lru_add_active_pvecs);
 }
 
+void fastcall lru_cache_add_mlock(struct page *page)
+{
+   struct pagevec *pvec = get_cpu_var(lru_add_mlock_pvecs);
+
+   page_cache_get(page);
+   if (!pagevec_add(pvec, page))
+   __pagevec_lru_add_mlock(pvec);
+   put_cpu_var(lru_add_mlock_pvecs);
+}
+
 static void __lru_add_drain(int cpu)
 {
struct pagevec *pvec = per_cpu(lru_add_pvecs, cpu);
@@ -207,6 +218,9 @@ static void __lru_add_drain(int cpu)
pvec = per_cpu(lru_add_active_pvecs, cpu);
if 

- logic-to-move-mlocked-pages.patch removed from -mm tree

2007-03-05 Thread akpm

The patch titled
 Logic to move mlocked pages
has been removed from the -mm tree.  Its filename was
 logic-to-move-mlocked-pages.patch

This patch was dropped because an updated version will be merged

--
Subject: Logic to move mlocked pages
From: Christoph Lameter [EMAIL PROTECTED]

Add logic to lazily remove/add mlocked pages from LRU

This is the core of the patchset.  It adds the necessary logic to remove
mlocked pages from the LRU and put them back later.  The basic idea by Andrew
Morton and others has been around for awhile.

During reclaim we attempt to unmap pages.  In order to do so we have to scan
all vmas that a page belongs to to check for VM_LOCKED.

If we find that VM_LOCKED is set for a page then we remove the page from the
LRU and mark it with SetMlocked.  We must mark the page with a special flag
bit.  Without PageMLocked we have later no way to distinguish pages that are
off the LRU because of mlock from pages that are off the LRU for other
reasons.  We should only feed back mlocked pages to the LRU and not the pages
that were removed for other reasons.

We feed pages back to the LRU in two places:

zap_pte_range:  Here pages are removed from a vma. If a page is mlocked then
we add it back to the LRU. If other vmas with VM_LOCKED set have
mapped the page then we will discover that later during reclaim and
move the page off the LRU again.

munlock/munlockall: We scan all pages in the vma and do the
same as in zap_pte_range.

We also have to modify the page migration logic to handle PageMlocked pages. 
We simply clear the PageMlocked bit and then we can treat the page as a
regular page from the LRU.  Page migration feeds all pages back the LRU and
relies on reclaim to move them off again.

Note that this is lazy accounting for mlocked pages.  NR_MLOCK may increase as
the system discovers more mlocked pages.  If a machine has a large amount of
memory then it may take awhile until reclaim gets through with all pages.  We
may only discover the extend of mlocked pages when memory gets tight.

Some of the later patches opportunistically move pages off the LRU to avoid
delays in accounting.  Usually these opportunistic moves do a pretty good job
but there are special situations (such as page migration and munlocking a
memory area mlocked by multiple processes) where NR_MLOCK may become low until
reclaim detects the mlocked pages again.

So, the scheme is fundamentally lazy and one cannot count on NR_MLOCK to
reflect the actual number of mlocked pages.  NR_MLOCK represents the number
*discovered* mlocked pages so far which may be less than the actual number of
mlocked pages.

Signed-off-by: Christoph Lameter [EMAIL PROTECTED]
Signed-off-by: Andrew Morton [EMAIL PROTECTED]
---

 mm/memory.c  |2 ++
 mm/migrate.c |7 +++
 mm/mlock.c   |   19 ++-
 mm/vmscan.c  |   10 +-
 4 files changed, 36 insertions(+), 2 deletions(-)

diff -puN mm/memory.c~logic-to-move-mlocked-pages mm/memory.c
--- a/mm/memory.c~logic-to-move-mlocked-pages
+++ a/mm/memory.c
@@ -682,6 +682,8 @@ static unsigned long zap_pte_range(struc
file_rss--;
}
page_remove_rmap(page, vma);
+   if (PageMlocked(page)  vma-vm_flags  VM_LOCKED)
+   lru_cache_add_mlock(page);
tlb_remove_page(tlb, page);
continue;
}
diff -puN mm/migrate.c~logic-to-move-mlocked-pages mm/migrate.c
--- a/mm/migrate.c~logic-to-move-mlocked-pages
+++ a/mm/migrate.c
@@ -58,6 +58,13 @@ int isolate_lru_page(struct page *page, 
else
del_page_from_inactive_list(zone, page);
list_add_tail(page-lru, pagelist);
+   } else
+   if (PageMlocked(page)) {
+   ret = 0;
+   get_page(page);
+   ClearPageMlocked(page);
+   list_add_tail(page-lru, pagelist);
+   __dec_zone_state(zone, NR_MLOCK);
}
spin_unlock_irq(zone-lru_lock);
}
diff -puN mm/mlock.c~logic-to-move-mlocked-pages mm/mlock.c
--- a/mm/mlock.c~logic-to-move-mlocked-pages
+++ a/mm/mlock.c
@@ -10,7 +10,7 @@
 #include linux/mm.h
 #include linux/mempolicy.h
 #include linux/syscalls.h
-
+#include linux/swap.h
 
 static int mlock_fixup(struct vm_area_struct *vma, struct vm_area_struct 
**prev,
unsigned long start, unsigned long end, unsigned int newflags)
@@ -63,6 +63,23 @@ success:
pages = -pages;
if (!(newflags  VM_IO))
ret = make_pages_present(start, end);
+   } else {
+   unsigned long addr;
+
+   /*
+* We are clearing VM_LOCKED. Feed all pages back
+* 

- consolidate-new-anonymous-page-code-paths.patch removed from -mm tree

2007-03-05 Thread akpm

The patch titled
 Consolidate new anonymous page code paths
has been removed from the -mm tree.  Its filename was
 consolidate-new-anonymous-page-code-paths.patch

This patch was dropped because an updated version will be merged

--
Subject: Consolidate new anonymous page code paths
From: Christoph Lameter [EMAIL PROTECTED]

Consolidate code to add an anonymous page in memory.c

There are two location in which we add anonymous pages.  Both implement the
same logic.  Create a new function add_anon_page() to have a common code path.

Signed-off-by: Christoph Lameter [EMAIL PROTECTED]
Signed-off-by: Andrew Morton [EMAIL PROTECTED]
---

 mm/memory.c |   23 +++
 1 file changed, 15 insertions(+), 8 deletions(-)

diff -puN mm/memory.c~consolidate-new-anonymous-page-code-paths mm/memory.c
--- a/mm/memory.c~consolidate-new-anonymous-page-code-paths
+++ a/mm/memory.c
@@ -900,6 +900,17 @@ unsigned long zap_page_range(struct vm_a
 }
 
 /*
+ * Add a new anonymous page
+ */
+static void add_anon_page(struct vm_area_struct *vma, struct page *page,
+   unsigned long address)
+{
+   inc_mm_counter(vma-vm_mm, anon_rss);
+   lru_cache_add_active(page);
+   page_add_new_anon_rmap(page, vma, address);
+}
+
+/*
  * Do a quick page-table lookup for a single page.
  */
 struct page *follow_page(struct vm_area_struct *vma, unsigned long address,
@@ -2148,9 +2159,7 @@ static int do_anonymous_page(struct mm_s
page_table = pte_offset_map_lock(mm, pmd, address, ptl);
if (!pte_none(*page_table))
goto release;
-   inc_mm_counter(mm, anon_rss);
-   lru_cache_add_active(page);
-   page_add_new_anon_rmap(page, vma, address);
+   add_anon_page(vma, page, address);
} else {
/* Map the ZERO_PAGE - vm_page_prot is readonly */
page = ZERO_PAGE(address);
@@ -2294,11 +2303,9 @@ retry:
if (write_access)
entry = maybe_mkwrite(pte_mkdirty(entry), vma);
set_pte_at(mm, address, page_table, entry);
-   if (anon) {
-   inc_mm_counter(mm, anon_rss);
-   lru_cache_add_active(new_page);
-   page_add_new_anon_rmap(new_page, vma, address);
-   } else {
+   if (anon)
+   add_anon_page(vma, new_page, address);
+   else {
inc_mm_counter(mm, file_rss);
page_add_file_rmap(new_page);
if (write_access) {
_

Patches currently in -mm which might be from [EMAIL PROTECTED] are

origin.patch
slab-introduce-krealloc.patch
slab-introduce-krealloc-fix.patch
safer-nr_node_ids-and-nr_node_ids-determination-and-initial.patch
use-zvc-counters-to-establish-exact-size-of-dirtyable-pages.patch
make-try_to_unmap-return-a-special-exit-code.patch
slab-ensure-cache_alloc_refill-terminates.patch
consolidate-new-anonymous-page-code-paths.patch
avoid-putting-new-mlocked-anonymous-pages-on-lru.patch
opportunistically-move-mlocked-pages-off-the-lru.patch
take-anonymous-pages-off-the-lru-if-we-have-no-swap.patch
smaps-extract-pmd-walker-from-smaps-code.patch
smaps-add-pages-referenced-count-to-smaps.patch
smaps-add-clear_refs-file-to-clear-reference.patch
smaps-add-clear_refs-file-to-clear-reference-fix.patch
smaps-add-clear_refs-file-to-clear-reference-fix-fix.patch
slab-shutdown-cache_reaper-when-cpu-goes-down.patch
mm-implement-swap-prefetching-vs-zvc-stuff.patch
mm-implement-swap-prefetching-vs-zvc-stuff-2.patch
zvc-support-nr_slab_reclaimable--nr_slab_unreclaimable-swap_prefetch.patch
reduce-max_nr_zones-swap_prefetch-remove-incorrect-use-of-zone_highmem.patch
numa-add-zone_to_nid-function-swap_prefetch.patch
remove-uses-of-kmem_cache_t-from-mm-and-include-linux-slabh-prefetch.patch
readahead-state-based-method-aging-accounting.patch
readahead-state-based-method-aging-accounting-vs-zvc-changes.patch

-
To unsubscribe from this list: send the line unsubscribe mm-commits in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


- avoid-putting-new-mlocked-anonymous-pages-on-lru.patch removed from -mm tree

2007-03-05 Thread akpm

The patch titled
 Avoid putting new mlocked anonymous pages on LRU
has been removed from the -mm tree.  Its filename was
 avoid-putting-new-mlocked-anonymous-pages-on-lru.patch

This patch was dropped because an updated version will be merged

--
Subject: Avoid putting new mlocked anonymous pages on LRU
From: Christoph Lameter [EMAIL PROTECTED]

Mark new anonymous pages mlocked if they are in a mlocked VMA.

Avoid putting pages onto the LRU that are allocated in a VMA with VM_LOCKED
set.  NR_MLOCK will be more accurate.

Signed-off-by: Christoph Lameter [EMAIL PROTECTED]
Signed-off-by: Andrew Morton [EMAIL PROTECTED]
---

 mm/memory.c |   11 ++-
 1 file changed, 10 insertions(+), 1 deletion(-)

diff -puN mm/memory.c~avoid-putting-new-mlocked-anonymous-pages-on-lru 
mm/memory.c
--- a/mm/memory.c~avoid-putting-new-mlocked-anonymous-pages-on-lru
+++ a/mm/memory.c
@@ -906,7 +906,16 @@ static void add_anon_page(struct vm_area
unsigned long address)
 {
inc_mm_counter(vma-vm_mm, anon_rss);
-   lru_cache_add_active(page);
+   if (vma-vm_flags  VM_LOCKED) {
+   /*
+* Page is new and therefore not on the LRU
+* so we can directly mark it as mlocked
+*/
+   SetPageMlocked(page);
+   ClearPageActive(page);
+   inc_zone_page_state(page, NR_MLOCK);
+   } else
+   lru_cache_add_active(page);
page_add_new_anon_rmap(page, vma, address);
 }
 
_

Patches currently in -mm which might be from [EMAIL PROTECTED] are

origin.patch
slab-introduce-krealloc.patch
slab-introduce-krealloc-fix.patch
safer-nr_node_ids-and-nr_node_ids-determination-and-initial.patch
use-zvc-counters-to-establish-exact-size-of-dirtyable-pages.patch
make-try_to_unmap-return-a-special-exit-code.patch
slab-ensure-cache_alloc_refill-terminates.patch
avoid-putting-new-mlocked-anonymous-pages-on-lru.patch
opportunistically-move-mlocked-pages-off-the-lru.patch
take-anonymous-pages-off-the-lru-if-we-have-no-swap.patch
smaps-extract-pmd-walker-from-smaps-code.patch
smaps-add-pages-referenced-count-to-smaps.patch
smaps-add-clear_refs-file-to-clear-reference.patch
smaps-add-clear_refs-file-to-clear-reference-fix.patch
smaps-add-clear_refs-file-to-clear-reference-fix-fix.patch
slab-shutdown-cache_reaper-when-cpu-goes-down.patch
mm-implement-swap-prefetching-vs-zvc-stuff.patch
mm-implement-swap-prefetching-vs-zvc-stuff-2.patch
zvc-support-nr_slab_reclaimable--nr_slab_unreclaimable-swap_prefetch.patch
reduce-max_nr_zones-swap_prefetch-remove-incorrect-use-of-zone_highmem.patch
numa-add-zone_to_nid-function-swap_prefetch.patch
remove-uses-of-kmem_cache_t-from-mm-and-include-linux-slabh-prefetch.patch
readahead-state-based-method-aging-accounting.patch
readahead-state-based-method-aging-accounting-vs-zvc-changes.patch

-
To unsubscribe from this list: send the line unsubscribe mm-commits in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


- opportunistically-move-mlocked-pages-off-the-lru.patch removed from -mm tree

2007-03-05 Thread akpm

The patch titled
 Opportunistically move mlocked pages off the LRU
has been removed from the -mm tree.  Its filename was
 opportunistically-move-mlocked-pages-off-the-lru.patch

This patch was dropped because an updated version will be merged

--
Subject: Opportunistically move mlocked pages off the LRU
From: Christoph Lameter [EMAIL PROTECTED]

Opportunistically move mlocked pages off the LRU

Add a new function try_to_mlock() that attempts to move a page off the LRU and
marks it mlocked.

This function can then be used in various code paths to move pages off the LRU
immediately.  Early discovery will make NR_MLOCK track the actual number of
mlocked pages in the system more closely.

Signed-off-by: Christoph Lameter [EMAIL PROTECTED]
Signed-off-by: Andrew Morton [EMAIL PROTECTED]
---

 mm/memory.c |   33 +
 1 file changed, 33 insertions(+)

diff -puN mm/memory.c~opportunistically-move-mlocked-pages-off-the-lru 
mm/memory.c
--- a/mm/memory.c~opportunistically-move-mlocked-pages-off-the-lru
+++ a/mm/memory.c
@@ -59,6 +59,7 @@
 
 #include linux/swapops.h
 #include linux/elf.h
+#include linux/mm_inline.h
 
 #ifndef CONFIG_NEED_MULTIPLE_NODES
 /* use the per-pgdat data instead for discontigmem - mbligh */
@@ -920,6 +921,34 @@ static void add_anon_page(struct vm_area
 }
 
 /*
+ * Opportunistically move the page off the LRU
+ * if possible. If we do not succeed then the LRU
+ * scans will take the page off.
+ */
+static void try_to_set_mlocked(struct page *page)
+{
+   struct zone *zone;
+   unsigned long flags;
+
+   if (!PageLRU(page) || PageMlocked(page))
+   return;
+
+   zone = page_zone(page);
+   if (spin_trylock_irqsave(zone-lru_lock, flags)) {
+   if (PageLRU(page)  !PageMlocked(page)) {
+   ClearPageLRU(page);
+   if (PageActive(page))
+   del_page_from_active_list(zone, page);
+   else
+   del_page_from_inactive_list(zone, page);
+   ClearPageActive(page);
+   SetPageMlocked(page);
+   __inc_zone_page_state(page, NR_MLOCK);
+   }
+   spin_unlock_irqrestore(zone-lru_lock, flags);
+   }
+}
+/*
  * Do a quick page-table lookup for a single page.
  */
 struct page *follow_page(struct vm_area_struct *vma, unsigned long address,
@@ -979,6 +1008,8 @@ struct page *follow_page(struct vm_area_
set_page_dirty(page);
mark_page_accessed(page);
}
+   if (vma-vm_flags  VM_LOCKED)
+   try_to_set_mlocked(page);
 unlock:
pte_unmap_unlock(ptep, ptl);
 out:
@@ -2317,6 +2348,8 @@ retry:
else {
inc_mm_counter(mm, file_rss);
page_add_file_rmap(new_page);
+   if (vma-vm_flags  VM_LOCKED)
+   try_to_set_mlocked(new_page);
if (write_access) {
dirty_page = new_page;
get_page(dirty_page);
_

Patches currently in -mm which might be from [EMAIL PROTECTED] are

origin.patch
slab-introduce-krealloc.patch
slab-introduce-krealloc-fix.patch
safer-nr_node_ids-and-nr_node_ids-determination-and-initial.patch
use-zvc-counters-to-establish-exact-size-of-dirtyable-pages.patch
make-try_to_unmap-return-a-special-exit-code.patch
slab-ensure-cache_alloc_refill-terminates.patch
opportunistically-move-mlocked-pages-off-the-lru.patch
take-anonymous-pages-off-the-lru-if-we-have-no-swap.patch
smaps-extract-pmd-walker-from-smaps-code.patch
smaps-add-pages-referenced-count-to-smaps.patch
smaps-add-clear_refs-file-to-clear-reference.patch
smaps-add-clear_refs-file-to-clear-reference-fix.patch
smaps-add-clear_refs-file-to-clear-reference-fix-fix.patch
slab-shutdown-cache_reaper-when-cpu-goes-down.patch
mm-implement-swap-prefetching-vs-zvc-stuff.patch
mm-implement-swap-prefetching-vs-zvc-stuff-2.patch
zvc-support-nr_slab_reclaimable--nr_slab_unreclaimable-swap_prefetch.patch
reduce-max_nr_zones-swap_prefetch-remove-incorrect-use-of-zone_highmem.patch
numa-add-zone_to_nid-function-swap_prefetch.patch
remove-uses-of-kmem_cache_t-from-mm-and-include-linux-slabh-prefetch.patch
readahead-state-based-method-aging-accounting.patch
readahead-state-based-method-aging-accounting-vs-zvc-changes.patch

-
To unsubscribe from this list: send the line unsubscribe mm-commits in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


- take-anonymous-pages-off-the-lru-if-we-have-no-swap.patch removed from -mm tree

2007-03-05 Thread akpm

The patch titled
 Take anonymous pages off the LRU if we have no swap
has been removed from the -mm tree.  Its filename was
 take-anonymous-pages-off-the-lru-if-we-have-no-swap.patch

This patch was dropped because an updated version will be merged

--
Subject: Take anonymous pages off the LRU if we have no swap
From: Christoph Lameter [EMAIL PROTECTED]

If the kernel was compiled without support for swapping then we have no
means of evicting anonymous pages and they become like mlocked pages.

Do not add new anonymous pages to the LRU and if we find one on the LRU
then take it off.  This is also going to reduce the overhead of allocating
anonymous pages since the LRU lock must no longer be taken to put pages
onto the active list.  Probably mostly of interest to embedded systems
since normal kernels support swap.

On linux-mm we also discussed taking anonymous pages off the LRU if there
is no swap defined or not enough swap.  However, there is no easy way of
putting the pages back to the LRU since we have no list of mlocked pages. 
We could set up such a list but then list manipulation would complicate the
mlocked page treatment and require taking the lru lock.  I'd rather leave
the mlocked handling as simple as it is right now.

Anonymous pages will be accounted as mlocked pages.

Signed-off-by: Christoph Lameter [EMAIL PROTECTED]
Cc: Nick Piggin [EMAIL PROTECTED]
Cc: Hugh Dickins [EMAIL PROTECTED]
Signed-off-by: Andrew Morton [EMAIL PROTECTED]
---

 mm/memory.c |   29 +++--
 mm/vmscan.c |4 +++-
 2 files changed, 22 insertions(+), 11 deletions(-)

diff -puN mm/memory.c~take-anonymous-pages-off-the-lru-if-we-have-no-swap 
mm/memory.c
--- a/mm/memory.c~take-anonymous-pages-off-the-lru-if-we-have-no-swap
+++ a/mm/memory.c
@@ -907,17 +907,26 @@ static void add_anon_page(struct vm_area
unsigned long address)
 {
inc_mm_counter(vma-vm_mm, anon_rss);
-   if (vma-vm_flags  VM_LOCKED) {
-   /*
-* Page is new and therefore not on the LRU
-* so we can directly mark it as mlocked
-*/
-   SetPageMlocked(page);
-   ClearPageActive(page);
-   inc_zone_page_state(page, NR_MLOCK);
-   } else
-   lru_cache_add_active(page);
page_add_new_anon_rmap(page, vma, address);
+
+#ifdef CONFIG_SWAP
+   /*
+* It only makes sense to put anonymous pages on the
+* LRU if we have a way of evicting anonymous pages.
+*/
+   if (!(vma-vm_flags  VM_LOCKED)) {
+   lru_cache_add_active(page);
+   return;
+   }
+#endif
+
+   /*
+* Page is new and therefore not on the LRU
+* so we can directly mark it as mlocked
+*/
+   SetPageMlocked(page);
+   ClearPageActive(page);
+   inc_zone_page_state(page, NR_MLOCK);
 }
 
 /*
diff -puN mm/vmscan.c~take-anonymous-pages-off-the-lru-if-we-have-no-swap 
mm/vmscan.c
--- a/mm/vmscan.c~take-anonymous-pages-off-the-lru-if-we-have-no-swap
+++ a/mm/vmscan.c
@@ -488,14 +488,16 @@ static unsigned long shrink_page_list(st
if (referenced  page_mapping_inuse(page))
goto activate_locked;
 
-#ifdef CONFIG_SWAP
/*
 * Anonymous process memory has backing store?
 * Try to allocate it some swap space here.
 */
if (PageAnon(page)  !PageSwapCache(page))
+#ifdef CONFIG_SWAP
if (!add_to_swap(page, GFP_ATOMIC))
goto activate_locked;
+#else
+   goto mlocked;
 #endif /* CONFIG_SWAP */
 
mapping = page_mapping(page);
_

Patches currently in -mm which might be from [EMAIL PROTECTED] are

origin.patch
slab-introduce-krealloc.patch
slab-introduce-krealloc-fix.patch
safer-nr_node_ids-and-nr_node_ids-determination-and-initial.patch
use-zvc-counters-to-establish-exact-size-of-dirtyable-pages.patch
make-try_to_unmap-return-a-special-exit-code.patch
slab-ensure-cache_alloc_refill-terminates.patch
take-anonymous-pages-off-the-lru-if-we-have-no-swap.patch
smaps-extract-pmd-walker-from-smaps-code.patch
smaps-add-pages-referenced-count-to-smaps.patch
smaps-add-clear_refs-file-to-clear-reference.patch
smaps-add-clear_refs-file-to-clear-reference-fix.patch
smaps-add-clear_refs-file-to-clear-reference-fix-fix.patch
slab-shutdown-cache_reaper-when-cpu-goes-down.patch
mm-implement-swap-prefetching-vs-zvc-stuff.patch
mm-implement-swap-prefetching-vs-zvc-stuff-2.patch
zvc-support-nr_slab_reclaimable--nr_slab_unreclaimable-swap_prefetch.patch
reduce-max_nr_zones-swap_prefetch-remove-incorrect-use-of-zone_highmem.patch
numa-add-zone_to_nid-function-swap_prefetch.patch
remove-uses-of-kmem_cache_t-from-mm-and-include-linux-slabh-prefetch.patch
readahead-state-based-method-aging-accounting.patch

- lumpy-reclaim-v2-page_to_pfn-fix.patch removed from -mm tree

2007-03-05 Thread akpm

The patch titled
 lumpy-reclaim-v2-page_to_pfn-fix
has been removed from the -mm tree.  Its filename was
 lumpy-reclaim-v2-page_to_pfn-fix.patch

This patch was dropped because it was folded into lumpy-reclaim-v2.patch

--
Subject: lumpy-reclaim-v2-page_to_pfn-fix
From: Andrew Morton [EMAIL PROTECTED]

Cc: Andy Whitcroft [EMAIL PROTECTED]
Cc: Peter Zijlstra [EMAIL PROTECTED]
Signed-off-by: Andrew Morton [EMAIL PROTECTED]
---

 mm/vmscan.c |4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff -puN mm/vmscan.c~lumpy-reclaim-v2-page_to_pfn-fix mm/vmscan.c
--- a/mm/vmscan.c~lumpy-reclaim-v2-page_to_pfn-fix
+++ a/mm/vmscan.c
@@ -703,7 +703,7 @@ static unsigned long isolate_lru_pages(u
 * the same active state as that tag page.
 */
zone_id = page_zone_id(page);
-   page_pfn = __page_to_pfn(page);
+   page_pfn = page_to_pfn(page);
pfn = page_pfn  ~((1  order) - 1);
end_pfn = pfn + (1  order);
for (; pfn  end_pfn; pfn++) {
@@ -712,7 +712,7 @@ static unsigned long isolate_lru_pages(u
if (unlikely(!pfn_valid(pfn)))
break;
 
-   tmp = __pfn_to_page(pfn);
+   tmp = pfn_to_page(pfn);
if (unlikely(page_zone_id(tmp) != zone_id))
continue;
scan++;
_

Patches currently in -mm which might be from [EMAIL PROTECTED] are

origin.patch
macintosh-mangle-caps-lock-events-on-adb-keyboards.patch
git-ia64.patch
git-ieee1394.patch
sata_nv-add-back-some-verbosity-into-adma-error_handler.patch
git-ubi.patch
update-smc91x-driver-with-arm-versatile-board-info.patch
drivers-net-ns83820c-add-paramter-to-disable-auto.patch
net-uninline-skb_put.patch
git-ioat-vs-git-md-accel.patch
ioat-warning-fix.patch
drivers-scsi-mca_53c9xc-save_flags-cli-removal.patch
scsi-cover-up-bugs-fix-up-compiler-warnings-in-megaraid-driver.patch
git-ipwireless_cs.patch
arch-i386-kernel-alternativec-dont-include-bugsh.patch
lumpy-reclaim-v2.patch
lumpy-reclaim-v2-page_to_pfn-fix.patch
lumpy-reclaim-v2-tidy.patch
deprecate-smbfs-in-favour-of-cifs.patch
procfs-fix-race-between-proc_readdir-and-remove_proc_entry-fix.patch
factor-outstanding-i-o-error-handling-tidy.patch
block_write_full_page-handle-enospc.patch
filesystem-disk-errors-at-boot-time-caused-by-probe.patch
allow-access-to-proc-pid-fd-after-setuid-fix.patch
fix-__d_path-for-lazy-unmounts-and-make-it-unambiguous-tidy.patch
consolidate-generic_writepages-and-mpage_writepages-tidy.patch
sync_sb_inodes-propagate-errors.patch
mips-convert-to-use-shared-apm-emulation-fix.patch
schedule_on_each_cpu-use-preempt_disable.patch
implement-flush_work-sanity.patch
implement-flush_work_keventd.patch
flush_workqueue-use-preempt_disable-to-hold-off-cpu-hotplug.patch
aio-use-flush_work.patch
kblockd-use-flush_work.patch
relayfs-use-flush_keventd_work.patch
tg3-use-flush_keventd_work.patch
e1000-use-flush_keventd_work.patch
libata-use-flush_work.patch
phy-use-flush_work.patch
extend-notifier_call_chain-to-count-nr_calls-made.patch
extend-notifier_call_chain-to-count-nr_calls-made-fixes-2.patch
define-and-use-new-eventscpu_lock_acquire-and-cpu_lock_release-fix.patch
eliminate-lock_cpu_hotplug-in-kernel-schedc-fix.patch
move-page-writeback-acounting-out-of-macros.patch
per-backing_dev-dirty-and-writeback-page-accounting.patch
ext2-reservations.patch
edac-new-opteron-athlon64-memory-controller-driver.patch
aio-is-unlikely.patch
sched2-sched-domain-sysctl-use-ctl_unnumbered.patch
mm-implement-swap-prefetching-use-ctl_unnumbered.patch
swap_prefetch-vs-zoned-counters.patch
add-include-linux-freezerh-and-move-definitions-from-prefetch.patch
rcu-preemptible-rcu.patch
atomich-add-atomic64-cmpxchg-xchg-and-add_unless-to-powerpc-fix.patch
atomich-add-atomic64-cmpxchg-xchg-and-add_unless-to-powerpc-fix-2.patch
local_t-powerpc-extension-fix.patch
local_t-powerpc-extension-fix-build-fix.patch
readahead-kconfig-options-fix.patch
readahead-minmax_ra_pages.patch
readahead-sysctl-parameters.patch
readahead-sysctl-parameters-use-ctl_unnumbered.patch
readahead-context-based-method-locking-fix.patch
readahead-context-based-method-locking-fix-2.patch
readahead-call-scheme-ifdef-fix.patch
readahead-call-scheme-build-fix.patch
readahead-nfsd-case-fix.patch
make-copy_from_user_inatomic-not-zero-the-tail-on-i386-vs-reiser4.patch
resier4-add-include-linux-freezerh-and-move-definitions-from.patch
make-kmem_cache_destroy-return-void-reiser4.patch
reiser4-hardirq-include-fix.patch
reiser4-run-truncate_inode_pages-in-reiser4_delete_inode.patch
reiser4-get_sb_dev-fix.patch
reiser4-vs-zoned-allocator.patch
reiser4-temp-fix.patch
reiser4-kmem_cache_t-removal.patch
reiser4-test_clear_page_dirty.patch
statistics-infrastructure-fix-buffer-overflow-in-histogram-with-linear-tidy.patch

- lumpy-reclaim-v2-tidy.patch removed from -mm tree

2007-03-05 Thread akpm

The patch titled
 lumpy-reclaim-v2-tidy
has been removed from the -mm tree.  Its filename was
 lumpy-reclaim-v2-tidy.patch

This patch was dropped because it was folded into lumpy-reclaim-v2.patch

--
Subject: lumpy-reclaim-v2-tidy
From: Andrew Morton [EMAIL PROTECTED]

Cc: Andy Whitcroft [EMAIL PROTECTED]
Cc: Peter Zijlstra [EMAIL PROTECTED]
Signed-off-by: Andrew Morton [EMAIL PROTECTED]
---

 include/linux/swap.h |3 ++-
 mm/vmscan.c  |   35 +--
 2 files changed, 23 insertions(+), 15 deletions(-)

diff -puN include/linux/swap.h~lumpy-reclaim-v2-tidy include/linux/swap.h
--- a/include/linux/swap.h~lumpy-reclaim-v2-tidy
+++ a/include/linux/swap.h
@@ -189,7 +189,8 @@ extern int rotate_reclaimable_page(struc
 extern void swap_setup(void);
 
 /* linux/mm/vmscan.c */
-extern unsigned long try_to_free_pages(struct zone **, int, gfp_t);
+extern unsigned long try_to_free_pages(struct zone **zones, int order,
+   gfp_t gfp_mask);
 extern unsigned long shrink_all_memory(unsigned long nr_pages);
 extern int vm_swappiness;
 extern int remove_mapping(struct address_space *mapping, struct page *page);
diff -puN mm/vmscan.c~lumpy-reclaim-v2-tidy mm/vmscan.c
--- a/mm/vmscan.c~lumpy-reclaim-v2-tidy
+++ a/mm/vmscan.c
@@ -616,12 +616,12 @@ keep:
 }
 
 /*
- * Attempt to remove the specified page from its LRU.  Only take this
- * page if it is of the appropriate PageActive status.  Pages which
- * are being freed elsewhere are also ignored.
+ * Attempt to remove the specified page from its LRU.  Only take this page if 
it
+ * is of the appropriate PageActive status.  Pages which are being freed
+ * elsewhere are also ignored.
  *
- * @page:  page to consider
- * @active:active/inactive flag only take pages of this type
+ * page:   page to consider
+ * active: active/inactive flag only take pages of this type
  *
  * returns 0 on success, -ve errno on failure.
  */
@@ -659,6 +659,7 @@ int __isolate_lru_page(struct page *page
  * @src:   The LRU list to pull pages off.
  * @dst:   The temp list to put pages on to.
  * @scanned:   The number of pages that were scanned.
+ * @order: The caller's attempted allocation order
  *
  * returns how many pages were moved onto [EMAIL PROTECTED]
  */
@@ -667,12 +668,16 @@ static unsigned long isolate_lru_pages(u
unsigned long *scanned, int order)
 {
unsigned long nr_taken = 0;
-   struct page *page, *tmp;
-   unsigned long scan, pfn, end_pfn, page_pfn;
-   int active;
-   int zone_id;
+   unsigned long scan;
 
for (scan = 0; scan  nr_to_scan  !list_empty(src); scan++) {
+   struct page *page;
+   unsigned long pfn;
+   unsigned long end_pfn;
+   unsigned long page_pfn;
+   int active;
+   int zone_id;
+
page = lru_to_page(src);
prefetchw_prev_lru_page(page, src, flags);
 
@@ -707,24 +712,26 @@ static unsigned long isolate_lru_pages(u
pfn = page_pfn  ~((1  order) - 1);
end_pfn = pfn + (1  order);
for (; pfn  end_pfn; pfn++) {
+   struct page *cursor_page;
+
if (unlikely(pfn == page_pfn))
continue;
if (unlikely(!pfn_valid(pfn)))
break;
 
-   tmp = pfn_to_page(pfn);
-   if (unlikely(page_zone_id(tmp) != zone_id))
+   cursor_page = pfn_to_page(pfn);
+   if (unlikely(page_zone_id(cursor_page) != zone_id))
continue;
scan++;
-   switch (__isolate_lru_page(tmp, active)) {
+   switch (__isolate_lru_page(cursor_page, active)) {
case 0:
-   list_move(tmp-lru, dst);
+   list_move(cursor_page-lru, dst);
nr_taken++;
break;
 
case -EBUSY:
/* else it is being freed elsewhere */
-   list_move(tmp-lru, src);
+   list_move(cursor_page-lru, src);
default:
break;
}
_

Patches currently in -mm which might be from [EMAIL PROTECTED] are

origin.patch
macintosh-mangle-caps-lock-events-on-adb-keyboards.patch
git-ia64.patch
git-ieee1394.patch
sata_nv-add-back-some-verbosity-into-adma-error_handler.patch
git-ubi.patch
update-smc91x-driver-with-arm-versatile-board-info.patch
drivers-net-ns83820c-add-paramter-to-disable-auto.patch
net-uninline-skb_put.patch
git-ioat-vs-git-md-accel.patch
ioat-warning-fix.patch

- lumpy-reclaim-cleanup.patch removed from -mm tree

2007-03-05 Thread akpm

The patch titled
 mm/vmscan.c: make a function static
has been removed from the -mm tree.  Its filename was
 lumpy-reclaim-cleanup.patch

This patch was dropped because it was folded into lumpy-reclaim-v2.patch

--
Subject: mm/vmscan.c: make a function static
From: Adrian Bunk [EMAIL PROTECTED]

Signed-off-by: Adrian Bunk [EMAIL PROTECTED]
Signed-off-by: Andrew Morton [EMAIL PROTECTED]
---

 mm/vmscan.c |2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff -puN mm/vmscan.c~lumpy-reclaim-cleanup mm/vmscan.c
--- a/mm/vmscan.c~lumpy-reclaim-cleanup
+++ a/mm/vmscan.c
@@ -625,7 +625,7 @@ keep:
  *
  * returns 0 on success, -ve errno on failure.
  */
-int __isolate_lru_page(struct page *page, int active)
+static int __isolate_lru_page(struct page *page, int active)
 {
int ret = -EINVAL;
 
_

Patches currently in -mm which might be from [EMAIL PROTECTED] are

origin.patch
git-drm.patch
git-dvb.patch
git-gfs2-nmw.patch
git-ieee1394.patch
kconfig-abort-configuration-with-recursive-dependencies.patch
remove-fs-jffs2-ioctlc.patch
git-ubi.patch
drivers-net-vioc-possible-cleanups.patch
net-uninline-skb_put-fix.patch
drivers-scsi-small-cleanups.patch
drivers-scsi-advansysc-cleanups.patch
megaraid-fix-warnings-when-config_proc_fs=n.patch
drivers-scsi-dpt_i2oc-remove-dead-code.patch
drivers-scsi-aic7xxx-make-functions-static.patch
drivers-scsi-wd33c93c-cleanups.patch
drivers-scsi-qla4xxx-possible-cleanups.patch
make-seagate_st0x_detect-static.patch
drivers-scsi-aacraid-cleanups.patch
remove-the-broken-scsi_acornscsi_3-driver.patch
git-unionfs.patch
git-wireless.patch
git-ipwireless_cs.patch
arch-i386-kernel-alternativec-should-include-asm-bugsh.patch
make-struct-vmi_ops-static.patch
i386-asm-offsetsc-workaround-for-a-wmissing-prototypes-warning.patch
lguest-kconfig-and-headers-fix.patch
proper-prototype-for-hugetlb_get_unmapped_area.patch
mm-slabc-proper-prototypes.patch
lumpy-reclaim-v2.patch
lumpy-reclaim-cleanup.patch
filesystem-disk-errors-at-boot-time-caused-by-probe-fix.patch
kill-net-rxrpc-rxrpc_symsc.patch
drivers-char-hvc_consolec-cleanups.patch
init-do_mountsc-proper-prepare_namespace-prototype.patch
make-ext2_get_blocks-static.patch
drivers-edac-make-code-static.patch
linux-kernel-markers-kconfig-menus-fix.patch
linux-kernel-markers-architecture-independant-code-license-fix.patch
linux-kernel-markers-i386-optimization-export-fix.patch
readahead-events-accounting-make-readahead_debug_level-static.patch
reiser4-export-remove_from_page_cache-fix.patch
fs-reiser4-possible-cleanups.patch
reiser4-possible-cleanups-2.patch
fs-reiser4-possible-cleanups-2.patch
fs-reiser4-more-possible-cleanups.patch
slim-main-patch-security-slim-slm_mainc-make-2-functions-static.patch
slim-debug-output-slm_set_taskperm-remove-horrible-error-handling-code.patch
i386-enable-4k-stacks-by-default.patch
mutex-subsystem-synchro-test-module.patch

-
To unsubscribe from this list: send the line unsubscribe mm-commits in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


- lumpy-reclaim-v2.patch removed from -mm tree

2007-03-05 Thread akpm

The patch titled
 lumpy reclaim v2
has been removed from the -mm tree.  Its filename was
 lumpy-reclaim-v2.patch

This patch was dropped because an updated version will be merged

--
Subject: lumpy reclaim v2
From: Andy Whitcroft [EMAIL PROTECTED]

When we are out of memory of a suitable size we enter reclaim.  The current
reclaim algorithm targets pages in LRU order, which is great for fairness but
highly unsuitable if you desire pages at higher orders.  To get pages of
higher order we must shoot down a very high proportion of memory; 95% in a
lot of cases.

This patch set adds a lumpy reclaim algorithm to the allocator.  It targets
groups of pages at the specified order anchored at the end of the active and
inactive lists.  This encourages groups of pages at the requested orders to
move from active to inactive, and active to free lists.  This behaviour is
only triggered out of direct reclaim when higher order pages have been
requested.

This patch set is particularly effective when utilised with an
anti-fragmentation scheme which groups pages of similar reclaimability
together.

This patch set is based on Peter Zijlstra's lumpy reclaim V2 patch which forms
the foundation.

Testing of this patch set under high fragmentation high allocation load
conditions shows significantly improved high order reclaim rates than a
standard kernel.  The stack here is now within 5% of the best case
linear-reclaim figures.

It would be interesting to see if this setup is also successful in reducing
order-2 allocation failures that people have been seeing with jumbo frames.

[EMAIL PROTECTED]: mm/vmscan.c: make a function static]
Signed-off-by: Andy Whitcroft [EMAIL PROTECTED]
Acked-by: Peter Zijlstra [EMAIL PROTECTED]
Signed-off-by: Adrian Bunk [EMAIL PROTECTED]
Signed-off-by: Andrew Morton [EMAIL PROTECTED]
---

 fs/buffer.c  |2 
 include/linux/swap.h |3 -
 mm/page_alloc.c  |2 
 mm/vmscan.c  |  114 ++---
 4 files changed, 100 insertions(+), 21 deletions(-)

diff -puN fs/buffer.c~lumpy-reclaim-v2 fs/buffer.c
--- a/fs/buffer.c~lumpy-reclaim-v2
+++ a/fs/buffer.c
@@ -363,7 +363,7 @@ static void free_more_memory(void)
for_each_online_pgdat(pgdat) {
zones = pgdat-node_zonelists[gfp_zone(GFP_NOFS)].zones;
if (*zones)
-   try_to_free_pages(zones, GFP_NOFS);
+   try_to_free_pages(zones, 0, GFP_NOFS);
}
 }
 
diff -puN include/linux/swap.h~lumpy-reclaim-v2 include/linux/swap.h
--- a/include/linux/swap.h~lumpy-reclaim-v2
+++ a/include/linux/swap.h
@@ -188,7 +188,8 @@ extern int rotate_reclaimable_page(struc
 extern void swap_setup(void);
 
 /* linux/mm/vmscan.c */
-extern unsigned long try_to_free_pages(struct zone **, gfp_t);
+extern unsigned long try_to_free_pages(struct zone **zones, int order,
+   gfp_t gfp_mask);
 extern unsigned long shrink_all_memory(unsigned long nr_pages);
 extern int vm_swappiness;
 extern int remove_mapping(struct address_space *mapping, struct page *page);
diff -puN mm/page_alloc.c~lumpy-reclaim-v2 mm/page_alloc.c
--- a/mm/page_alloc.c~lumpy-reclaim-v2
+++ a/mm/page_alloc.c
@@ -1341,7 +1341,7 @@ nofail_alloc:
reclaim_state.reclaimed_slab = 0;
p-reclaim_state = reclaim_state;
 
-   did_some_progress = try_to_free_pages(zonelist-zones, gfp_mask);
+   did_some_progress = try_to_free_pages(zonelist-zones, order, gfp_mask);
 
p-reclaim_state = NULL;
p-flags = ~PF_MEMALLOC;
diff -puN mm/vmscan.c~lumpy-reclaim-v2 mm/vmscan.c
--- a/mm/vmscan.c~lumpy-reclaim-v2
+++ a/mm/vmscan.c
@@ -66,6 +66,8 @@ struct scan_control {
int swappiness;
 
int all_unreclaimable;
+
+   int order;
 };
 
 /*
@@ -607,6 +609,36 @@ keep:
 }
 
 /*
+ * Attempt to remove the specified page from its LRU.  Only take this page if 
it
+ * is of the appropriate PageActive status.  Pages which are being freed
+ * elsewhere are also ignored.
+ *
+ * page:   page to consider
+ * active: active/inactive flag only take pages of this type
+ *
+ * returns 0 on success, -ve errno on failure.
+ */
+static int __isolate_lru_page(struct page *page, int active)
+{
+   int ret = -EINVAL;
+
+   if (PageLRU(page)  (PageActive(page) == active)) {
+   ret = -EBUSY;
+   if (likely(get_page_unless_zero(page))) {
+   /*
+* Be careful not to clear PageLRU until after we're
+* sure the page is not being freed elsewhere -- the
+* page release code relies on it.
+*/
+   ClearPageLRU(page);
+   ret = 0;
+   }
+   }
+
+   return ret;
+}
+
+/*
  * zone-lru_lock is heavily contended.  Some of the functions that
  * shrink the lists perform better by taking 

- factor-outstanding-i-o-error-handling-tidy.patch removed from -mm tree

2007-03-05 Thread akpm

The patch titled
 factor-outstanding-i-o-error-handling-tidy
has been removed from the -mm tree.  Its filename was
 factor-outstanding-i-o-error-handling-tidy.patch

This patch was dropped because it was folded into 
factor-outstanding-i-o-error-handling.patch

--
Subject: factor-outstanding-i-o-error-handling-tidy
From: Andrew Morton [EMAIL PROTECTED]

Cc: Guillaume Chazarain [EMAIL PROTECTED]
Cc: Steven Whitehouse [EMAIL PROTECTED]
Signed-off-by: Andrew Morton [EMAIL PROTECTED]
---

 include/linux/pagemap.h |3 ++-
 1 files changed, 2 insertions(+), 1 deletion(-)

diff -puN include/linux/pagemap.h~factor-outstanding-i-o-error-handling-tidy 
include/linux/pagemap.h
--- a/include/linux/pagemap.h~factor-outstanding-i-o-error-handling-tidy
+++ a/include/linux/pagemap.h
@@ -11,6 +11,7 @@
 #include linux/compiler.h
 #include asm/uaccess.h
 #include linux/gfp.h
+#include linux/bitops.h
 
 /*
  * Bits in mapping-flags.  The lower __GFP_BITS_SHIFT bits are the page
@@ -19,7 +20,7 @@
 #defineAS_EIO  (__GFP_BITS_SHIFT + 0)  /* IO error on async 
write */
 #define AS_ENOSPC  (__GFP_BITS_SHIFT + 1)  /* ENOSPC on async write */
 
-static inline void mapping_set_error(struct address_space * mapping, int error)
+static inline void mapping_set_error(struct address_space *mapping, int error)
 {
if (error) {
if (error == -ENOSPC)
_

Patches currently in -mm which might be from [EMAIL PROTECTED] are

origin.patch
macintosh-mangle-caps-lock-events-on-adb-keyboards.patch
git-ia64.patch
git-ieee1394.patch
sata_nv-add-back-some-verbosity-into-adma-error_handler.patch
git-ubi.patch
update-smc91x-driver-with-arm-versatile-board-info.patch
drivers-net-ns83820c-add-paramter-to-disable-auto.patch
net-uninline-skb_put.patch
git-ioat-vs-git-md-accel.patch
ioat-warning-fix.patch
drivers-scsi-mca_53c9xc-save_flags-cli-removal.patch
scsi-cover-up-bugs-fix-up-compiler-warnings-in-megaraid-driver.patch
git-ipwireless_cs.patch
arch-i386-kernel-alternativec-dont-include-bugsh.patch
deprecate-smbfs-in-favour-of-cifs.patch
factor-outstanding-i-o-error-handling.patch
factor-outstanding-i-o-error-handling-tidy.patch
block_write_full_page-handle-enospc.patch
filesystem-disk-errors-at-boot-time-caused-by-probe.patch
allow-access-to-proc-pid-fd-after-setuid-fix.patch
fix-__d_path-for-lazy-unmounts-and-make-it-unambiguous-tidy.patch
consolidate-generic_writepages-and-mpage_writepages-tidy.patch
sync_sb_inodes-propagate-errors.patch
mips-convert-to-use-shared-apm-emulation-fix.patch
schedule_on_each_cpu-use-preempt_disable.patch
implement-flush_work-sanity.patch
implement-flush_work_keventd.patch
flush_workqueue-use-preempt_disable-to-hold-off-cpu-hotplug.patch
aio-use-flush_work.patch
kblockd-use-flush_work.patch
relayfs-use-flush_keventd_work.patch
tg3-use-flush_keventd_work.patch
e1000-use-flush_keventd_work.patch
libata-use-flush_work.patch
phy-use-flush_work.patch
extend-notifier_call_chain-to-count-nr_calls-made.patch
extend-notifier_call_chain-to-count-nr_calls-made-fixes-2.patch
define-and-use-new-eventscpu_lock_acquire-and-cpu_lock_release-fix.patch
eliminate-lock_cpu_hotplug-in-kernel-schedc-fix.patch
move-page-writeback-acounting-out-of-macros.patch
per-backing_dev-dirty-and-writeback-page-accounting.patch
ext2-reservations.patch
edac-new-opteron-athlon64-memory-controller-driver.patch
aio-is-unlikely.patch
sched2-sched-domain-sysctl-use-ctl_unnumbered.patch
mm-implement-swap-prefetching-use-ctl_unnumbered.patch
swap_prefetch-vs-zoned-counters.patch
add-include-linux-freezerh-and-move-definitions-from-prefetch.patch
rcu-preemptible-rcu.patch
atomich-add-atomic64-cmpxchg-xchg-and-add_unless-to-powerpc-fix.patch
atomich-add-atomic64-cmpxchg-xchg-and-add_unless-to-powerpc-fix-2.patch
local_t-powerpc-extension-fix.patch
local_t-powerpc-extension-fix-build-fix.patch
readahead-kconfig-options-fix.patch
readahead-minmax_ra_pages.patch
readahead-sysctl-parameters.patch
readahead-sysctl-parameters-use-ctl_unnumbered.patch
readahead-context-based-method-locking-fix.patch
readahead-context-based-method-locking-fix-2.patch
readahead-call-scheme-ifdef-fix.patch
readahead-call-scheme-build-fix.patch
readahead-nfsd-case-fix.patch
make-copy_from_user_inatomic-not-zero-the-tail-on-i386-vs-reiser4.patch
resier4-add-include-linux-freezerh-and-move-definitions-from.patch
make-kmem_cache_destroy-return-void-reiser4.patch
reiser4-hardirq-include-fix.patch
reiser4-run-truncate_inode_pages-in-reiser4_delete_inode.patch
reiser4-get_sb_dev-fix.patch
reiser4-vs-zoned-allocator.patch
reiser4-temp-fix.patch
reiser4-kmem_cache_t-removal.patch
reiser4-test_clear_page_dirty.patch
statistics-infrastructure-fix-buffer-overflow-in-histogram-with-linear-tidy.patch
slim-main-include-fix.patch
nr_blockdev_pages-in_interrupt-warning.patch
device-suspend-debug.patch
mutex-subsystem-synchro-test-module-fix.patch
slab-leaks3-default-y.patch

- fix-rmmod-read-write-races-in-proc-entries-fix.patch removed from -mm tree

2007-03-05 Thread akpm

The patch titled
 fix-rmmod-read-write-races-in-proc-entries-fix
has been removed from the -mm tree.  Its filename was
 fix-rmmod-read-write-races-in-proc-entries-fix.patch

This patch was dropped because it was folded into 
fix-rmmod-read-write-races-in-proc-entries.patch

--
Subject: fix-rmmod-read-write-races-in-proc-entries-fix
From: Andrew Morton [EMAIL PROTECTED]

Make lockdep happy.

Cc: Alexey Dobriyan [EMAIL PROTECTED]
Cc: Al Viro [EMAIL PROTECTED]
Cc: Eric W. Biederman [EMAIL PROTECTED]
Cc: Oleg Nesterov [EMAIL PROTECTED]
Signed-off-by: Andrew Morton [EMAIL PROTECTED]
---

 fs/proc/generic.c |3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

diff -puN fs/proc/generic.c~fix-rmmod-read-write-races-in-proc-entries-fix 
fs/proc/generic.c
--- a/fs/proc/generic.c~fix-rmmod-read-write-races-in-proc-entries-fix
+++ a/fs/proc/generic.c
@@ -790,9 +790,8 @@ void remove_proc_entry(const char *name,
de-proc_fops = NULL;
/* Wait until all existing readers/writers are done. */
if (de-pde_users  0) {
-   struct completion c;
+   DECLARE_COMPLETION_ONSTACK(c);
 
-   init_completion(c);
if (!de-pde_unload_completion)
de-pde_unload_completion = c;
 
_

Patches currently in -mm which might be from [EMAIL PROTECTED] are

origin.patch
slab-introduce-krealloc-fix.patch
make-aout-executables-work-again-fix.patch
sony-laptop-fix-uninitialised-variable.patch
git-alsa-oops-fix.patch
git-drm.patch
git-dvb.patch
ia64-kexec-use-efi_loader_data-for-elf-core-header-tidy.patch
git-input.patch
setstream-param-for-psmouse-tweak.patch
git-md-accel-fixup.patch
nommu-present-backing-device-capabilities-for-mtd-fix.patch
git-ubi.patch
git-netdev-all.patch
git-netdev-all-ipw2200-fix.patch
revert-drivers-net-tulip-dmfe-support-basic-carrier-detection.patch
dmfe-add-support-for-suspend-resume-fix.patch
sis900-warning-fixes.patch
div64_64-common-code-fix.patch
bonding-replace-system-timer-with-work-queue-tidy.patch
git-parisc.patch
rm9000-serial-driver-tidy.patch
git-pciseg.patch
git-unionfs.patch
usbatm-create-sysfs-link-device-from-atm-class-device-tidy.patch
git-wireless-fixup.patch
revert-x86_64-mm-change-sysenter_setup-to-__cpuinit-improve-__init-__initdata.patch
after-before-x86_64-mm-mmconfig-share.patch
linux-sysdevh-needs-to-include-linux-moduleh-up-fix.patch
linux-sysdevh-needs-to-include-linux-moduleh-up-fix-2.patch
smaps-add-clear_refs-file-to-clear-reference-fix.patch
driver_bfin_serial_core-update.patch
fix-rmmod-read-write-races-in-proc-entries.patch
fix-rmmod-read-write-races-in-proc-entries-fix.patch
reduce-size-of-task_struct-on-64-bit-machines.patch
mm-shrink-parent-dentries-when-shrinking-slab.patch
merge-sys_clone-sys_unshare-nsproxy-and-namespace-fix.patch
merge-sys_clone-sys_unshare-nsproxy-and-namespace-fix-2.patch
call-cpu_chain-with-cpu_down_failed-if-cpu_down_prepare-failed-vs-reduce-size-of-task_struct-on-64-bit-machines.patch
speedup-divides-by-cpu_power-in-scheduler-up-fix.patch
lutimesat-compat-syscall-and-wire-up-on-x86_64-tidy.patch
utrace-prep.patch
utrace-prep-2.patch
revert-utrace-prep-2.patch
utrace-vs-reduce-size-of-task_struct-on-64-bit-machines.patch
local_t-mips-extension-shrink-duplicated-mips-32-64-bits-functions-from-localh-fix.patch
linux-kernel-markers-kconfig-menus-fix-4.patch
fbdev-hecuba-framebuffer-driver-fix.patch
mm-only-free-swap-space-of-reactivated-pages-debug.patch

-
To unsubscribe from this list: send the line unsubscribe mm-commits in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


- file-capabilities-dont-do-file-caps-if-mnt_nosuid.patch removed from -mm tree

2007-03-05 Thread akpm

The patch titled
 file capabilities: don't do file caps if MNT_NOSUID
has been removed from the -mm tree.  Its filename was
 file-capabilities-dont-do-file-caps-if-mnt_nosuid.patch

This patch was dropped because it was folded into 
implement-file-posix-capabilities.patch

--
Subject: file capabilities: don't do file caps if MNT_NOSUID
From: Serge E. Hallyn [EMAIL PROTECTED]

A file system mounted NOSUID is likely a removable filesystem.  Allowing
file capabilities from such an fs is an easy attack vector, so don't honor
file capabilities for a NOSUID filesystem.

Signed-off-by: Serge E. Hallyn [EMAIL PROTECTED]
Cc: Stephen Smalley [EMAIL PROTECTED]
Cc: James Morris [EMAIL PROTECTED]
Cc: Chris Wright [EMAIL PROTECTED]
Signed-off-by: Andrew Morton [EMAIL PROTECTED]
---

 security/commoncap.c |4 
 1 file changed, 4 insertions(+)

diff -puN 
security/commoncap.c~file-capabilities-dont-do-file-caps-if-mnt_nosuid 
security/commoncap.c
--- a/security/commoncap.c~file-capabilities-dont-do-file-caps-if-mnt_nosuid
+++ a/security/commoncap.c
@@ -23,6 +23,7 @@
 #include linux/ptrace.h
 #include linux/xattr.h
 #include linux/hugetlb.h
+#include linux/mount.h
 
 int cap_netlink_send(struct sock *sk, struct sk_buff *skb)
 {
@@ -152,6 +153,9 @@ static int set_file_caps(struct linux_bi
struct inode *inode;
int err;
 
+   if (bprm-file-f_vfsmnt-mnt_flags  MNT_NOSUID)
+   return 0;
+
dentry = dget(bprm-file-f_dentry);
inode = dentry-d_inode;
if (!inode-i_op || !inode-i_op-getxattr) {
_

Patches currently in -mm which might be from [EMAIL PROTECTED] are

implement-file-posix-capabilities.patch
file-capabilities-dont-do-file-caps-if-mnt_nosuid.patch
file-capabilities-honor-secure_noroot.patch
merge-sys_clone-sys_unshare-nsproxy-and-namespace.patch
merge-sys_clone-sys_unshare-nsproxy-and-namespace-fix.patch
merge-sys_clone-sys_unshare-nsproxy-and-namespace-fix-2.patch
integrity-service-api-and-dummy-provider-fix.patch

-
To unsubscribe from this list: send the line unsubscribe mm-commits in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


- fix-rmmod-read-write-races-in-proc-entries.patch removed from -mm tree

2007-03-05 Thread akpm

The patch titled
 Fix rmmod/read/write races in /proc entries
has been removed from the -mm tree.  Its filename was
 fix-rmmod-read-write-races-in-proc-entries.patch

This patch was dropped because an updated version will be merged

--
Subject: Fix rmmod/read/write races in /proc entries
From: Alexey Dobriyan [EMAIL PROTECTED]

Current /proc creation interfaces suffer from at least two types of races:

1. Write via -write_proc sleeps in copy_from_user(). Module disappears
   meanwhile.

   pde = create_proc_entry()
   if (!pde)
return -ENOMEM;
   pde-write_proc = ...
open
write
copy_from_user
   pde = create_proc_entry();
   if (!pde) {
remove_proc_entry();
return -ENOMEM;
/* module unloaded */
   }
*boom*

2. Read/write happens when PDE only partially initialized. -data is NULL
   when create_proc_entry() returns. Almost all -read_proc and
   -write_proc handlers assume that -data is valid.

   pde = create_proc_entry();
   if (pde) {
/* which dereferences -data */
pde-write_proc = ...
open
write
pde-data = ...
   }



The following plan is going to be executed (as per Al Viro's explanations):

PDE gets counter counting reads and writes in progress done via -read_proc,
-write_proc, -get_info .  Generic proc code will bump PDE's counter before
calling into module-specific method and decrement it after it returns.

remove_proc_entry() will wait until all readers and writers are done.  To do
this reliably it will set -proc_fops to NULL and generic proc code won't call
into module it it sees NULL -proc_fops.

This patch implements part above.  So far, no changes in proc users required
except that users dynamically creating -proc_fops need to be careful to not
get leak.  Patch fixes races of type 1.

Patch survives infinite modprobe/rmmod loop in parallel with infinite read
loops with many debugging options turned on including lockdep (albeit on
UP-PREEMPT box).

Signed-off-by: Alexey Dobriyan [EMAIL PROTECTED]
Cc: Al Viro [EMAIL PROTECTED]
Cc: Eric W. Biederman [EMAIL PROTECTED]
Cc: Oleg Nesterov [EMAIL PROTECTED]
Signed-off-by: Andrew Morton [EMAIL PROTECTED]
---

 fs/proc/generic.c   |   82 +-
 include/linux/proc_fs.h |   19 
 2 files changed, 99 insertions(+), 2 deletions(-)

diff -puN fs/proc/generic.c~fix-rmmod-read-write-races-in-proc-entries 
fs/proc/generic.c
--- a/fs/proc/generic.c~fix-rmmod-read-write-races-in-proc-entries
+++ a/fs/proc/generic.c
@@ -20,6 +20,7 @@
 #include linux/namei.h
 #include linux/bitops.h
 #include linux/spinlock.h
+#include linux/completion.h
 #include asm/uaccess.h
 
 #include internal.h
@@ -76,6 +77,21 @@ proc_file_read(struct file *file, char _
if (!(page = (char*) __get_free_page(GFP_KERNEL|__GFP_RECLAIMABLE)))
return -ENOMEM;
 
+   spin_lock(dp-pde_unload_lock);
+   if (!dp-proc_fops)
+   /*
+* remove_proc_entry() marked PDE as going away.
+* No new readers allowed.
+*/
+   goto out_unlock;
+   /*
+* We are going to call into module's code via -get_info or
+* -read_proc. Bump refcount so that remove_proc_entry() will
+* wait for read to complete.
+*/
+   dp-pde_users++;
+   spin_unlock(dp-pde_unload_lock);
+
while ((nbytes  0)  !eof) {
count = min_t(size_t, PROC_BLOCK_SIZE, nbytes);
 
@@ -195,6 +211,13 @@ proc_file_read(struct file *file, char _
buf += n;
retval += n;
}
+
+   spin_lock(dp-pde_unload_lock);
+   dp-pde_users--;
+   if (dp-pde_unload_completion  dp-pde_users == 0)
+   complete(dp-pde_unload_completion);
+out_unlock:
+   spin_unlock(dp-pde_unload_lock);
free_page((unsigned long) page);
return retval;
 }
@@ -205,14 +228,41 @@ proc_file_write(struct file *file, const
 {
struct inode *inode = file-f_path.dentry-d_inode;
struct proc_dir_entry * dp;
+   ssize_t rv = -EIO;

dp = PDE(inode);
 
if (!dp-write_proc)
-   return -EIO;
+   goto out;
 
+   spin_lock(dp-pde_unload_lock);
+   if (!dp-proc_fops)
+   /*
+* remove_proc_entry() marked PDE as going away.
+* No new writers allowed.
+*/
+   goto out_unlock;
+   /*
+* We are going to call into module's code via -write_proc .
+* Bump refcount so that module won't dissapear while 

- allow-access-to-proc-pid-fd-after-setuid-update-2.patch removed from -mm tree

2007-03-05 Thread akpm

The patch titled
 Allow access to /proc/$PID/fd after setuid()
has been removed from the -mm tree.  Its filename was
 allow-access-to-proc-pid-fd-after-setuid-update-2.patch

This patch was dropped because it was folded into 
allow-access-to-proc-pid-fd-after-setuid.patch

--
Subject: Allow access to /proc/$PID/fd after setuid()
From: Alexey Dobriyan [EMAIL PROTECTED]

Cc: Alexey Dobriyan [EMAIL PROTECTED]
Cc: Eric W. Biederman [EMAIL PROTECTED]
Signed-off-by: Andrew Morton [EMAIL PROTECTED]
---

 fs/proc/base.c |9 ++---
 1 file changed, 2 insertions(+), 7 deletions(-)

diff -puN fs/proc/base.c~allow-access-to-proc-pid-fd-after-setuid-update-2 
fs/proc/base.c
--- a/fs/proc/base.c~allow-access-to-proc-pid-fd-after-setuid-update-2
+++ a/fs/proc/base.c
@@ -1454,18 +1454,13 @@ static struct file_operations proc_fd_op
 static int proc_fd_permission(struct inode *inode, int mask,
struct nameidata *nd)
 {
-   struct task_struct *tsk;
int rv;
 
rv = generic_permission(inode, mask, NULL);
if (rv == 0)
return 0;
-   tsk = get_proc_task(inode);
-   if (tsk) {
-   if (tsk == current)
-   rv = 0;
-   put_task_struct(tsk);
-   }
+   if (task_pid(current) == proc_pid(inode))
+   rv = 0;
return rv;
 }
 
_

Patches currently in -mm which might be from [EMAIL PROTECTED] are

ia64-sync-compat-getdents-on-ia64-and-parisc.patch
parisc-sync-compat-getdents-on-ia64-and-parisc.patch
x86_64-wire-up-compat-sched_rr_get_interval2.patch
allow-access-to-proc-pid-fd-after-setuid.patch
allow-access-to-proc-pid-fd-after-setuid-update-2.patch
lutimesat-simplify-utime2.patch
lutimesat-extend-do_utimes-with-flags.patch
lutimesat-actual-syscall-and-wire-up-on-i386.patch
lutimesat-compat-syscall-and-wire-up-on-x86_64.patch
lutimesat-compat-syscall-and-wire-up-on-x86_64-tidy.patch

-
To unsubscribe from this list: send the line unsubscribe mm-commits in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


- fix-quadratic-behavior-of-shrink_dcache_parent-update.patch removed from -mm tree

2007-03-05 Thread akpm

The patch titled
 fix-quadratic-behavior-of-shrink_dcache_parent update
has been removed from the -mm tree.  Its filename was
 fix-quadratic-behavior-of-shrink_dcache_parent-update.patch

This patch was dropped because it was folded into 
fix-quadratic-behavior-of-shrink_dcache_parent.patch

--
Subject: fix-quadratic-behavior-of-shrink_dcache_parent update
From: Miklos Szeredi [EMAIL PROTECTED]

 o dput already checks dentry == NULL, so remove check
   from prune_one_dentry()

Signed-off-by: Miklos Szeredi [EMAIL PROTECTED]
Signed-off-by: Andrew Morton [EMAIL PROTECTED]
---

 fs/dcache.c |3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

diff -puN fs/dcache.c~fix-quadratic-behavior-of-shrink_dcache_parent-update 
fs/dcache.c
--- a/fs/dcache.c~fix-quadratic-behavior-of-shrink_dcache_parent-update
+++ a/fs/dcache.c
@@ -392,8 +392,7 @@ static void prune_one_dentry(struct dent
__d_drop(dentry);
dentry = d_kill(dentry);
if (!prune_parents) {
-   if (dentry)
-   dput(dentry);
+   dput(dentry);
spin_lock(dcache_lock);
return;
}
_

Patches currently in -mm which might be from [EMAIL PROTECTED] are

fix-quadratic-behavior-of-shrink_dcache_parent.patch
fix-quadratic-behavior-of-shrink_dcache_parent-update.patch

-
To unsubscribe from this list: send the line unsubscribe mm-commits in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


- ipmi-add-new-ipmi-nmi-watchdog-handling-cleanup.patch removed from -mm tree

2007-03-05 Thread akpm

The patch titled
 ipmi: add new IPMI nmi watchdog handling (cleanup)
has been removed from the -mm tree.  Its filename was
 ipmi-add-new-ipmi-nmi-watchdog-handling-cleanup.patch

This patch was dropped because it was folded into 
ipmi-add-new-ipmi-nmi-watchdog-handling.patch

--
Subject: ipmi: add new IPMI nmi watchdog handling (cleanup)
From: Corey Minyard [EMAIL PROTECTED]

Reduce the gruesomness of the IPMI NMI watchdog handling.

Basically, I've looked at this and thought about it a while, and the only
reasonable architecture that will currently support this is x86.  Anything
else is just a pipe dream and the implementation would be quite different
and difficult to predict.  So just make this x86-only for now and remove
all the junk that is no longer necessary.

Signed-off-by: Corey Minyard [EMAIL PROTECTED]
Signed-off-by: Andrew Morton [EMAIL PROTECTED]
---

 arch/i386/Kconfig.debug   |4 
 arch/x86_64/Kconfig.debug |4 
 drivers/char/ipmi/ipmi_watchdog.c |   25 +
 include/asm-i386/kdebug.h |2 --
 include/asm-x86_64/kdebug.h   |2 --
 5 files changed, 17 insertions(+), 20 deletions(-)

diff -puN 
arch/i386/Kconfig.debug~ipmi-add-new-ipmi-nmi-watchdog-handling-cleanup 
arch/i386/Kconfig.debug
--- a/arch/i386/Kconfig.debug~ipmi-add-new-ipmi-nmi-watchdog-handling-cleanup
+++ a/arch/i386/Kconfig.debug
@@ -4,10 +4,6 @@ config TRACE_IRQFLAGS_SUPPORT
bool
default y
 
-config HAVE_STANDARD_NOTIFY_DIE
-   bool
-   default y
-
 source lib/Kconfig.debug
 
 config EARLY_PRINTK
diff -puN 
arch/x86_64/Kconfig.debug~ipmi-add-new-ipmi-nmi-watchdog-handling-cleanup 
arch/x86_64/Kconfig.debug
--- a/arch/x86_64/Kconfig.debug~ipmi-add-new-ipmi-nmi-watchdog-handling-cleanup
+++ a/arch/x86_64/Kconfig.debug
@@ -4,10 +4,6 @@ config TRACE_IRQFLAGS_SUPPORT
bool
default y
 
-config HAVE_STANDARD_NOTIFY_DIE
-   bool
-   default y
-
 source lib/Kconfig.debug
 
 config DEBUG_RODATA
diff -puN 
drivers/char/ipmi/ipmi_watchdog.c~ipmi-add-new-ipmi-nmi-watchdog-handling-cleanup
 drivers/char/ipmi/ipmi_watchdog.c
--- 
a/drivers/char/ipmi/ipmi_watchdog.c~ipmi-add-new-ipmi-nmi-watchdog-handling-cleanup
+++ a/drivers/char/ipmi/ipmi_watchdog.c
@@ -51,8 +51,17 @@
 #include linux/ctype.h
 #include linux/delay.h
 #include asm/atomic.h
-#ifdef CONFIG_HAVE_STANDARD_NOTIFY_DIE
+
+#ifdef CONFIG_X86
+/* This is ugly, but I've determined that x86 is the only architecture
+   that can reasonably support the IPMI NMI watchdog timeout at this
+   time.  If another architecture adds this capability somehow, it
+   will have to be a somewhat different mechanism and I have no idea
+   how it will work.  So in the unlikely event that another
+   architecture supports this, we can figure out a good generic
+   mechanism for it at that time. */
 #include asm/kdebug.h
+#define HAVE_DIE_NMI_POST
 #endif
 
 #definePFX IPMI Watchdog: 
@@ -364,6 +373,10 @@ static int i_ipmi_set_timeout(struct ipm
int   hbnow = 0;
 
 
+   /* These can be cleared as we are setting the timeout. */
+   ipmi_start_timer_on_heartbeat = 0;
+   pretimeout_since_last_heartbeat = 0;
+
data[0] = 0;
WDOG_SET_TIMER_USE(data[0], WDOG_TIMER_USE_SMS_OS);
 
@@ -438,13 +451,12 @@ static int ipmi_set_timeout(int do_heart
 
wait_for_completion(set_timeout_wait);
 
+   mutex_unlock(set_timeout_lock);
+
if ((do_heartbeat == IPMI_SET_TIMEOUT_FORCE_HB)
|| ((send_heartbeat_now)
 (do_heartbeat == IPMI_SET_TIMEOUT_HB_IF_NECESSARY)))
-   {
rv = ipmi_heartbeat();
-   }
-   mutex_unlock(set_timeout_lock);
 
 out:
return rv;
@@ -524,12 +536,10 @@ static int ipmi_heartbeat(void)
int   rv;
struct ipmi_system_interface_addr addr;
 
-   if (ipmi_ignore_heartbeat) {
+   if (ipmi_ignore_heartbeat)
return 0;
-   }
 
if (ipmi_start_timer_on_heartbeat) {
-   ipmi_start_timer_on_heartbeat = 0;
ipmi_watchdog_state = action_val;
return ipmi_set_timeout(IPMI_SET_TIMEOUT_FORCE_HB);
} else if (pretimeout_since_last_heartbeat) {
@@ -537,7 +547,6 @@ static int ipmi_heartbeat(void)
   We don't want to set the action, though, we want to
   leave that alone (thus it can't be combined with the
   above operation. */
-   pretimeout_since_last_heartbeat = 0;
return ipmi_set_timeout(IPMI_SET_TIMEOUT_HB_IF_NECESSARY);
}
 
diff -puN 
include/asm-i386/kdebug.h~ipmi-add-new-ipmi-nmi-watchdog-handling-cleanup 
include/asm-i386/kdebug.h
--- a/include/asm-i386/kdebug.h~ipmi-add-new-ipmi-nmi-watchdog-handling-cleanup
+++ a/include/asm-i386/kdebug.h
@@ -42,8 +42,6 @@ enum die_val {

- file-capabilities-honor-secure_noroot.patch removed from -mm tree

2007-03-05 Thread akpm

The patch titled
 file capabilities: honor !SECURE_NOROOT
has been removed from the -mm tree.  Its filename was
 file-capabilities-honor-secure_noroot.patch

This patch was dropped because it was folded into 
implement-file-posix-capabilities.patch

--
Subject: file capabilities: honor !SECURE_NOROOT
From: Serge E. Hallyn [EMAIL PROTECTED]

When the SECURE_NOROOT securebit is not set, allow root to keep it's
capabilities over exec, rather than compute the capabilities based on file
capabilities.

Signed-off-by: Serge E. Hallyn [EMAIL PROTECTED]
Cc: Stephen Smalley [EMAIL PROTECTED]
Cc: James Morris [EMAIL PROTECTED]
Cc: Chris Wright [EMAIL PROTECTED]
Signed-off-by: Andrew Morton [EMAIL PROTECTED]
---

 security/commoncap.c |6 +-
 1 file changed, 5 insertions(+), 1 deletion(-)

diff -puN security/commoncap.c~file-capabilities-honor-secure_noroot 
security/commoncap.c
--- a/security/commoncap.c~file-capabilities-honor-secure_noroot
+++ a/security/commoncap.c
@@ -202,12 +202,16 @@ static inline int set_file_caps(struct l
 
 int cap_bprm_set_security (struct linux_binprm *bprm)
 {
+   int ret;
+
/* Copied from fs/exec.c:prepare_binprm. */
 
cap_clear (bprm-cap_inheritable);
cap_clear (bprm-cap_permitted);
cap_clear (bprm-cap_effective);
 
+   ret = set_file_caps(bprm);
+
/*  To support inheritance of root-permissions and suid-root
 *  executables under compatibility mode, we raise all three
 *  capability sets for the file.
@@ -225,7 +229,7 @@ int cap_bprm_set_security (struct linux_
cap_set_full (bprm-cap_effective);
}
 
-   return set_file_caps(bprm);
+   return ret;
 }
 
 void cap_bprm_apply_creds (struct linux_binprm *bprm, int unsafe)
_

Patches currently in -mm which might be from [EMAIL PROTECTED] are

implement-file-posix-capabilities.patch
file-capabilities-honor-secure_noroot.patch
merge-sys_clone-sys_unshare-nsproxy-and-namespace.patch
merge-sys_clone-sys_unshare-nsproxy-and-namespace-fix.patch
merge-sys_clone-sys_unshare-nsproxy-and-namespace-fix-2.patch
integrity-service-api-and-dummy-provider-fix.patch

-
To unsubscribe from this list: send the line unsubscribe mm-commits in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


- allow-access-to-proc-pid-fd-after-setuid-fix.patch removed from -mm tree

2007-03-05 Thread akpm

The patch titled
 allow-access-to-proc-pid-fd-after-setuid-fix
has been removed from the -mm tree.  Its filename was
 allow-access-to-proc-pid-fd-after-setuid-fix.patch

This patch was dropped because it was folded into 
allow-access-to-proc-pid-fd-after-setuid.patch

--
Subject: allow-access-to-proc-pid-fd-after-setuid-fix
From: Andrew Morton [EMAIL PROTECTED]

Cc: Alexey Dobriyan [EMAIL PROTECTED]
Cc: Eric W. Biederman [EMAIL PROTECTED]
Cc: James Morris [EMAIL PROTECTED]
Cc: Chris Wright [EMAIL PROTECTED]
Cc: Ulrich Drepper [EMAIL PROTECTED]
Cc: Oleg Nesterov [EMAIL PROTECTED]
Cc: Kirill Korotaev [EMAIL PROTECTED]
Cc: Al Viro [EMAIL PROTECTED]
Cc: Christoph Hellwig [EMAIL PROTECTED]
Signed-off-by: Andrew Morton [EMAIL PROTECTED]
---

 fs/proc/base.c |4 
 1 file changed, 4 insertions(+)

diff -puN fs/proc/base.c~allow-access-to-proc-pid-fd-after-setuid-fix 
fs/proc/base.c
--- a/fs/proc/base.c~allow-access-to-proc-pid-fd-after-setuid-fix
+++ a/fs/proc/base.c
@@ -1447,6 +1447,10 @@ static const struct file_operations proc
.readdir= proc_readfd,
 };
 
+/*
+ * /proc/pid/fd needs a special permission handler so that a process can still
+ * access /proc/self/fd after it has executed a setuid().
+ */
 static int proc_fd_permission(struct inode *inode, int mask,
struct nameidata *nd)
 {
_

Patches currently in -mm which might be from [EMAIL PROTECTED] are

origin.patch
macintosh-mangle-caps-lock-events-on-adb-keyboards.patch
git-ia64.patch
git-ieee1394.patch
sata_nv-add-back-some-verbosity-into-adma-error_handler.patch
git-ubi.patch
update-smc91x-driver-with-arm-versatile-board-info.patch
drivers-net-ns83820c-add-paramter-to-disable-auto.patch
net-uninline-skb_put.patch
git-ioat-vs-git-md-accel.patch
ioat-warning-fix.patch
drivers-scsi-mca_53c9xc-save_flags-cli-removal.patch
scsi-cover-up-bugs-fix-up-compiler-warnings-in-megaraid-driver.patch
git-ipwireless_cs.patch
arch-i386-kernel-alternativec-dont-include-bugsh.patch
deprecate-smbfs-in-favour-of-cifs.patch
block_write_full_page-handle-enospc.patch
filesystem-disk-errors-at-boot-time-caused-by-probe.patch
allow-access-to-proc-pid-fd-after-setuid.patch
allow-access-to-proc-pid-fd-after-setuid-fix.patch
fix-__d_path-for-lazy-unmounts-and-make-it-unambiguous-tidy.patch
consolidate-generic_writepages-and-mpage_writepages-tidy.patch
sync_sb_inodes-propagate-errors.patch
mips-convert-to-use-shared-apm-emulation-fix.patch
schedule_on_each_cpu-use-preempt_disable.patch
implement-flush_work-sanity.patch
implement-flush_work_keventd.patch
flush_workqueue-use-preempt_disable-to-hold-off-cpu-hotplug.patch
aio-use-flush_work.patch
kblockd-use-flush_work.patch
relayfs-use-flush_keventd_work.patch
tg3-use-flush_keventd_work.patch
e1000-use-flush_keventd_work.patch
libata-use-flush_work.patch
phy-use-flush_work.patch
extend-notifier_call_chain-to-count-nr_calls-made.patch
extend-notifier_call_chain-to-count-nr_calls-made-fixes-2.patch
define-and-use-new-eventscpu_lock_acquire-and-cpu_lock_release-fix.patch
eliminate-lock_cpu_hotplug-in-kernel-schedc-fix.patch
move-page-writeback-acounting-out-of-macros.patch
per-backing_dev-dirty-and-writeback-page-accounting.patch
ext2-reservations.patch
edac-new-opteron-athlon64-memory-controller-driver.patch
aio-is-unlikely.patch
sched2-sched-domain-sysctl-use-ctl_unnumbered.patch
mm-implement-swap-prefetching-use-ctl_unnumbered.patch
swap_prefetch-vs-zoned-counters.patch
add-include-linux-freezerh-and-move-definitions-from-prefetch.patch
rcu-preemptible-rcu.patch
atomich-add-atomic64-cmpxchg-xchg-and-add_unless-to-powerpc-fix.patch
atomich-add-atomic64-cmpxchg-xchg-and-add_unless-to-powerpc-fix-2.patch
local_t-powerpc-extension-fix.patch
local_t-powerpc-extension-fix-build-fix.patch
readahead-kconfig-options-fix.patch
readahead-minmax_ra_pages.patch
readahead-sysctl-parameters.patch
readahead-sysctl-parameters-use-ctl_unnumbered.patch
readahead-context-based-method-locking-fix.patch
readahead-context-based-method-locking-fix-2.patch
readahead-call-scheme-ifdef-fix.patch
readahead-call-scheme-build-fix.patch
readahead-nfsd-case-fix.patch
make-copy_from_user_inatomic-not-zero-the-tail-on-i386-vs-reiser4.patch
resier4-add-include-linux-freezerh-and-move-definitions-from.patch
make-kmem_cache_destroy-return-void-reiser4.patch
reiser4-hardirq-include-fix.patch
reiser4-run-truncate_inode_pages-in-reiser4_delete_inode.patch
reiser4-get_sb_dev-fix.patch
reiser4-vs-zoned-allocator.patch
reiser4-temp-fix.patch
reiser4-kmem_cache_t-removal.patch
reiser4-test_clear_page_dirty.patch
statistics-infrastructure-fix-buffer-overflow-in-histogram-with-linear-tidy.patch
slim-main-include-fix.patch
nr_blockdev_pages-in_interrupt-warning.patch
device-suspend-debug.patch
mutex-subsystem-synchro-test-module-fix.patch
slab-leaks3-default-y.patch
vdso-print-fatal-signals-use-ctl_unnumbered.patch
restore-rogue-readahead-printk.patch

- allow-access-to-proc-pid-fd-after-setuid-update.patch removed from -mm tree

2007-03-05 Thread akpm

The patch titled
 allow-access-to-proc-pid-fd-after-setuid-v2
has been removed from the -mm tree.  Its filename was
 allow-access-to-proc-pid-fd-after-setuid-update.patch

This patch was dropped because it was folded into 
allow-access-to-proc-pid-fd-after-setuid.patch

--
Subject: allow-access-to-proc-pid-fd-after-setuid-v2
From: Alexey Dobriyan [EMAIL PROTECTED]

crap, Pavel reminded that get_proc_task() can return NULL.

Signed-off-by: Alexey Dobriyan [EMAIL PROTECTED]
Cc: Eric W. Biederman [EMAIL PROTECTED]
Cc: James Morris [EMAIL PROTECTED]
Cc: Chris Wright [EMAIL PROTECTED]
Cc: Ulrich Drepper [EMAIL PROTECTED]
Cc: Oleg Nesterov [EMAIL PROTECTED]
Cc: Kirill Korotaev [EMAIL PROTECTED]
Cc: Al Viro [EMAIL PROTECTED]
Cc: Christoph Hellwig [EMAIL PROTECTED]
Signed-off-by: Andrew Morton [EMAIL PROTECTED]
---

 fs/proc/base.c |8 +---
 1 file changed, 5 insertions(+), 3 deletions(-)

diff -puN fs/proc/base.c~allow-access-to-proc-pid-fd-after-setuid-update 
fs/proc/base.c
--- a/fs/proc/base.c~allow-access-to-proc-pid-fd-after-setuid-update
+++ a/fs/proc/base.c
@@ -1461,9 +1461,11 @@ static int proc_fd_permission(struct ino
if (rv == 0)
return 0;
tsk = get_proc_task(inode);
-   if (tsk == current)
-   rv = 0;
-   put_task_struct(tsk);
+   if (tsk) {
+   if (tsk == current)
+   rv = 0;
+   put_task_struct(tsk);
+   }
return rv;
 }
 
_

Patches currently in -mm which might be from [EMAIL PROTECTED] are

ia64-sync-compat-getdents-on-ia64-and-parisc.patch
parisc-sync-compat-getdents-on-ia64-and-parisc.patch
x86_64-wire-up-compat-sched_rr_get_interval2.patch
allow-access-to-proc-pid-fd-after-setuid.patch
allow-access-to-proc-pid-fd-after-setuid-update.patch
allow-access-to-proc-pid-fd-after-setuid-update-2.patch
lutimesat-simplify-utime2.patch
lutimesat-extend-do_utimes-with-flags.patch
lutimesat-actual-syscall-and-wire-up-on-i386.patch
lutimesat-compat-syscall-and-wire-up-on-x86_64.patch
lutimesat-compat-syscall-and-wire-up-on-x86_64-tidy.patch

-
To unsubscribe from this list: send the line unsubscribe mm-commits in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


- fix-__d_path-for-lazy-unmounts-and-make-it-unambiguous-tidy.patch removed from -mm tree

2007-03-05 Thread akpm

The patch titled
 fix-__d_path-for-lazy-unmounts-and-make-it-unambiguous-tidy
has been removed from the -mm tree.  Its filename was
 fix-__d_path-for-lazy-unmounts-and-make-it-unambiguous-tidy.patch

This patch was dropped because it was folded into 
fix-__d_path-for-lazy-unmounts-and-make-it-unambiguous.patch

--
Subject: fix-__d_path-for-lazy-unmounts-and-make-it-unambiguous-tidy
From: Andrew Morton [EMAIL PROTECTED]

It looks like c99-style definition-after-statement, but it isn't, but it
could easily become so.

Cc: Andreas Gruenbacher [EMAIL PROTECTED]
Cc: NeilBrown [EMAIL PROTECTED]
Signed-off-by: Andrew Morton [EMAIL PROTECTED]
---

 fs/namespace.c |6 --
 fs/proc/base.c |1 +
 2 files changed, 5 insertions(+), 2 deletions(-)

diff -puN 
fs/namespace.c~fix-__d_path-for-lazy-unmounts-and-make-it-unambiguous-tidy 
fs/namespace.c
--- a/fs/namespace.c~fix-__d_path-for-lazy-unmounts-and-make-it-unambiguous-tidy
+++ a/fs/namespace.c
@@ -379,8 +379,9 @@ static int show_vfsmnt(struct seq_file *
{ 0, NULL }
};
struct proc_fs_info *fs_infop;
+   char *path;
 
-   char *path = d_path(mnt-mnt_root, mnt, page, PAGE_SIZE);
+   path = d_path(mnt-mnt_root, mnt, page, PAGE_SIZE);
if (IS_ERR(path) || *path != '/')
return err;
 
@@ -416,8 +417,9 @@ static int show_vfsstat(struct seq_file 
void *page = container_of(m, struct proc_mounts, m)-page;
struct vfsmount *mnt = v;
int err = 0;
+   char *path;
 
-   char *path = d_path(mnt-mnt_root, mnt, page, PAGE_SIZE);
+   path = d_path(mnt-mnt_root, mnt, page, PAGE_SIZE);
if (IS_ERR(path) || *path != '/')
return err; /* error or path unreachable from chroot */
 
diff -puN 
fs/proc/base.c~fix-__d_path-for-lazy-unmounts-and-make-it-unambiguous-tidy 
fs/proc/base.c
--- a/fs/proc/base.c~fix-__d_path-for-lazy-unmounts-and-make-it-unambiguous-tidy
+++ a/fs/proc/base.c
@@ -415,6 +415,7 @@ static int mounts_release(struct inode *
struct proc_mounts *p =
container_of(file-private_data, struct proc_mounts, m);
struct mnt_namespace *ns = p-m.private;
+
free_page((unsigned long)p-page);
put_mnt_ns(ns);
return seq_release(inode, file);
_

Patches currently in -mm which might be from [EMAIL PROTECTED] are

origin.patch
macintosh-mangle-caps-lock-events-on-adb-keyboards.patch
git-ia64.patch
git-ieee1394.patch
sata_nv-add-back-some-verbosity-into-adma-error_handler.patch
git-ubi.patch
update-smc91x-driver-with-arm-versatile-board-info.patch
drivers-net-ns83820c-add-paramter-to-disable-auto.patch
net-uninline-skb_put.patch
git-ioat-vs-git-md-accel.patch
ioat-warning-fix.patch
drivers-scsi-mca_53c9xc-save_flags-cli-removal.patch
scsi-cover-up-bugs-fix-up-compiler-warnings-in-megaraid-driver.patch
git-ipwireless_cs.patch
arch-i386-kernel-alternativec-dont-include-bugsh.patch
deprecate-smbfs-in-favour-of-cifs.patch
block_write_full_page-handle-enospc.patch
filesystem-disk-errors-at-boot-time-caused-by-probe.patch
fix-__d_path-for-lazy-unmounts-and-make-it-unambiguous.patch
fix-__d_path-for-lazy-unmounts-and-make-it-unambiguous-tidy.patch
consolidate-generic_writepages-and-mpage_writepages-tidy.patch
sync_sb_inodes-propagate-errors.patch
mips-convert-to-use-shared-apm-emulation-fix.patch
schedule_on_each_cpu-use-preempt_disable.patch
implement-flush_work-sanity.patch
implement-flush_work_keventd.patch
flush_workqueue-use-preempt_disable-to-hold-off-cpu-hotplug.patch
aio-use-flush_work.patch
kblockd-use-flush_work.patch
relayfs-use-flush_keventd_work.patch
tg3-use-flush_keventd_work.patch
e1000-use-flush_keventd_work.patch
libata-use-flush_work.patch
phy-use-flush_work.patch
extend-notifier_call_chain-to-count-nr_calls-made.patch
extend-notifier_call_chain-to-count-nr_calls-made-fixes-2.patch
define-and-use-new-eventscpu_lock_acquire-and-cpu_lock_release-fix.patch
eliminate-lock_cpu_hotplug-in-kernel-schedc-fix.patch
move-page-writeback-acounting-out-of-macros.patch
per-backing_dev-dirty-and-writeback-page-accounting.patch
ext2-reservations.patch
edac-new-opteron-athlon64-memory-controller-driver.patch
aio-is-unlikely.patch
sched2-sched-domain-sysctl-use-ctl_unnumbered.patch
mm-implement-swap-prefetching-use-ctl_unnumbered.patch
swap_prefetch-vs-zoned-counters.patch
add-include-linux-freezerh-and-move-definitions-from-prefetch.patch
rcu-preemptible-rcu.patch
atomich-add-atomic64-cmpxchg-xchg-and-add_unless-to-powerpc-fix.patch
atomich-add-atomic64-cmpxchg-xchg-and-add_unless-to-powerpc-fix-2.patch
local_t-powerpc-extension-fix.patch
local_t-powerpc-extension-fix-build-fix.patch
readahead-kconfig-options-fix.patch
readahead-minmax_ra_pages.patch
readahead-sysctl-parameters.patch
readahead-sysctl-parameters-use-ctl_unnumbered.patch
readahead-context-based-method-locking-fix.patch
readahead-context-based-method-locking-fix-2.patch

- procfs-fix-race-between-proc_readdir-and-remove_proc_entry-fix.patch removed from -mm tree

2007-03-05 Thread akpm

The patch titled
 procfs-fix-race-between-proc_readdir-and-remove_proc_entry-fix
has been removed from the -mm tree.  Its filename was
 procfs-fix-race-between-proc_readdir-and-remove_proc_entry-fix.patch

This patch was dropped because it was folded into 
procfs-fix-race-between-proc_readdir-and-remove_proc_entry.patch

--
Subject: procfs-fix-race-between-proc_readdir-and-remove_proc_entry-fix
From: Andrew Morton [EMAIL PROTECTED]

nfi what went wrong there.

Cc: Darrick J. Wong [EMAIL PROTECTED]
Cc: Eric W. Biederman [EMAIL PROTECTED]
Cc: Oleg Nesterov [EMAIL PROTECTED]
Signed-off-by: Andrew Morton [EMAIL PROTECTED]
---

 fs/proc/inode.c |9 +
 include/linux/proc_fs.h |9 +
 2 files changed, 10 insertions(+), 8 deletions(-)

diff -puN 
fs/proc/inode.c~procfs-fix-race-between-proc_readdir-and-remove_proc_entry-fix 
fs/proc/inode.c
--- 
a/fs/proc/inode.c~procfs-fix-race-between-proc_readdir-and-remove_proc_entry-fix
+++ a/fs/proc/inode.c
@@ -21,17 +21,10 @@
 
 #include internal.h
 
-static inline struct proc_dir_entry * de_get(struct proc_dir_entry *de)
-{
-   if (de)
-   atomic_inc(de-count);
-   return de;
-}
-
 /*
  * Decrements the use count and checks for deferred deletion.
  */
-static void de_put(struct proc_dir_entry *de)
+void de_put(struct proc_dir_entry *de)
 {
if (de) {   
lock_kernel();  
diff -puN 
include/linux/proc_fs.h~procfs-fix-race-between-proc_readdir-and-remove_proc_entry-fix
 include/linux/proc_fs.h
--- 
a/include/linux/proc_fs.h~procfs-fix-race-between-proc_readdir-and-remove_proc_entry-fix
+++ a/include/linux/proc_fs.h
@@ -274,4 +274,13 @@ struct proc_maps_private {
 #endif
 };
 
+static inline struct proc_dir_entry * de_get(struct proc_dir_entry *de)
+{
+   if (de)
+   atomic_inc(de-count);
+   return de;
+}
+
+void de_put(struct proc_dir_entry *de);
+
 #endif /* _LINUX_PROC_FS_H */
_

Patches currently in -mm which might be from [EMAIL PROTECTED] are

origin.patch
macintosh-mangle-caps-lock-events-on-adb-keyboards.patch
git-ia64.patch
git-ieee1394.patch
sata_nv-add-back-some-verbosity-into-adma-error_handler.patch
git-ubi.patch
update-smc91x-driver-with-arm-versatile-board-info.patch
drivers-net-ns83820c-add-paramter-to-disable-auto.patch
net-uninline-skb_put.patch
git-ioat-vs-git-md-accel.patch
ioat-warning-fix.patch
drivers-scsi-mca_53c9xc-save_flags-cli-removal.patch
scsi-cover-up-bugs-fix-up-compiler-warnings-in-megaraid-driver.patch
git-ipwireless_cs.patch
arch-i386-kernel-alternativec-dont-include-bugsh.patch
deprecate-smbfs-in-favour-of-cifs.patch
procfs-fix-race-between-proc_readdir-and-remove_proc_entry.patch
procfs-fix-race-between-proc_readdir-and-remove_proc_entry-fix.patch
factor-outstanding-i-o-error-handling-tidy.patch
block_write_full_page-handle-enospc.patch
filesystem-disk-errors-at-boot-time-caused-by-probe.patch
allow-access-to-proc-pid-fd-after-setuid-fix.patch
fix-__d_path-for-lazy-unmounts-and-make-it-unambiguous-tidy.patch
consolidate-generic_writepages-and-mpage_writepages-tidy.patch
sync_sb_inodes-propagate-errors.patch
mips-convert-to-use-shared-apm-emulation-fix.patch
schedule_on_each_cpu-use-preempt_disable.patch
implement-flush_work-sanity.patch
implement-flush_work_keventd.patch
flush_workqueue-use-preempt_disable-to-hold-off-cpu-hotplug.patch
aio-use-flush_work.patch
kblockd-use-flush_work.patch
relayfs-use-flush_keventd_work.patch
tg3-use-flush_keventd_work.patch
e1000-use-flush_keventd_work.patch
libata-use-flush_work.patch
phy-use-flush_work.patch
extend-notifier_call_chain-to-count-nr_calls-made.patch
extend-notifier_call_chain-to-count-nr_calls-made-fixes-2.patch
define-and-use-new-eventscpu_lock_acquire-and-cpu_lock_release-fix.patch
eliminate-lock_cpu_hotplug-in-kernel-schedc-fix.patch
move-page-writeback-acounting-out-of-macros.patch
per-backing_dev-dirty-and-writeback-page-accounting.patch
ext2-reservations.patch
edac-new-opteron-athlon64-memory-controller-driver.patch
aio-is-unlikely.patch
sched2-sched-domain-sysctl-use-ctl_unnumbered.patch
mm-implement-swap-prefetching-use-ctl_unnumbered.patch
swap_prefetch-vs-zoned-counters.patch
add-include-linux-freezerh-and-move-definitions-from-prefetch.patch
rcu-preemptible-rcu.patch
atomich-add-atomic64-cmpxchg-xchg-and-add_unless-to-powerpc-fix.patch
atomich-add-atomic64-cmpxchg-xchg-and-add_unless-to-powerpc-fix-2.patch
local_t-powerpc-extension-fix.patch
local_t-powerpc-extension-fix-build-fix.patch
readahead-kconfig-options-fix.patch
readahead-minmax_ra_pages.patch
readahead-sysctl-parameters.patch
readahead-sysctl-parameters-use-ctl_unnumbered.patch
readahead-context-based-method-locking-fix.patch
readahead-context-based-method-locking-fix-2.patch
readahead-call-scheme-ifdef-fix.patch
readahead-call-scheme-build-fix.patch
readahead-nfsd-case-fix.patch
make-copy_from_user_inatomic-not-zero-the-tail-on-i386-vs-reiser4.patch

- filesystem-disk-errors-at-boot-time-caused-by-probe-fix.patch removed from -mm tree

2007-03-05 Thread akpm

The patch titled
 make fs/partitions/msdos.c:check_sane_values() static
has been removed from the -mm tree.  Its filename was
 filesystem-disk-errors-at-boot-time-caused-by-probe-fix.patch

This patch was dropped because it was folded into 
filesystem-disk-errors-at-boot-time-caused-by-probe.patch

--
Subject: make fs/partitions/msdos.c:check_sane_values() static
From: Adrian Bunk [EMAIL PROTECTED]



Signed-off-by: Andrew Morton [EMAIL PROTECTED]
---

 fs/partitions/msdos.c |2 +-
 1 files changed, 1 insertion(+), 1 deletion(-)

diff -puN 
fs/partitions/msdos.c~filesystem-disk-errors-at-boot-time-caused-by-probe-fix 
fs/partitions/msdos.c
--- 
a/fs/partitions/msdos.c~filesystem-disk-errors-at-boot-time-caused-by-probe-fix
+++ a/fs/partitions/msdos.c
@@ -431,7 +431,7 @@ static struct {
  *
  * Copyright 31 January 2007, TJ [EMAIL PROTECTED]
  */
-int check_sane_values(struct partition *p, struct block_device *bdev)
+static int check_sane_values(struct partition *p, struct block_device *bdev)
 {
unsigned char *data;
struct partition *ext;
_

Patches currently in -mm which might be from [EMAIL PROTECTED] are

origin.patch
git-drm.patch
git-dvb.patch
git-gfs2-nmw.patch
git-ieee1394.patch
kconfig-abort-configuration-with-recursive-dependencies.patch
remove-fs-jffs2-ioctlc.patch
git-ubi.patch
drivers-net-vioc-possible-cleanups.patch
net-uninline-skb_put-fix.patch
drivers-scsi-small-cleanups.patch
drivers-scsi-advansysc-cleanups.patch
megaraid-fix-warnings-when-config_proc_fs=n.patch
drivers-scsi-dpt_i2oc-remove-dead-code.patch
drivers-scsi-aic7xxx-make-functions-static.patch
drivers-scsi-wd33c93c-cleanups.patch
drivers-scsi-qla4xxx-possible-cleanups.patch
make-seagate_st0x_detect-static.patch
drivers-scsi-aacraid-cleanups.patch
remove-the-broken-scsi_acornscsi_3-driver.patch
git-unionfs.patch
git-wireless.patch
git-ipwireless_cs.patch
arch-i386-kernel-alternativec-should-include-asm-bugsh.patch
make-struct-vmi_ops-static.patch
i386-asm-offsetsc-workaround-for-a-wmissing-prototypes-warning.patch
lguest-kconfig-and-headers-fix.patch
proper-prototype-for-hugetlb_get_unmapped_area.patch
mm-slabc-proper-prototypes.patch
filesystem-disk-errors-at-boot-time-caused-by-probe.patch
filesystem-disk-errors-at-boot-time-caused-by-probe-fix.patch
kill-net-rxrpc-rxrpc_symsc.patch
drivers-char-hvc_consolec-cleanups.patch
init-do_mountsc-proper-prepare_namespace-prototype.patch
make-ext2_get_blocks-static.patch
drivers-edac-make-code-static.patch
linux-kernel-markers-kconfig-menus-fix.patch
linux-kernel-markers-architecture-independant-code-license-fix.patch
linux-kernel-markers-i386-optimization-export-fix.patch
readahead-events-accounting-make-readahead_debug_level-static.patch
reiser4-export-remove_from_page_cache-fix.patch
fs-reiser4-possible-cleanups.patch
reiser4-possible-cleanups-2.patch
fs-reiser4-possible-cleanups-2.patch
fs-reiser4-more-possible-cleanups.patch
slim-main-patch-security-slim-slm_mainc-make-2-functions-static.patch
slim-debug-output-slm_set_taskperm-remove-horrible-error-handling-code.patch
i386-enable-4k-stacks-by-default.patch
mutex-subsystem-synchro-test-module.patch

-
To unsubscribe from this list: send the line unsubscribe mm-commits in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


- merge-sys_clone-sys_unshare-nsproxy-and-namespace-fix.patch removed from -mm tree

2007-03-05 Thread akpm

The patch titled
 merge-sys_clone-sys_unshare-nsproxy-and-namespace-fix
has been removed from the -mm tree.  Its filename was
 merge-sys_clone-sys_unshare-nsproxy-and-namespace-fix.patch

This patch was dropped because it was folded into 
merge-sys_clone-sys_unshare-nsproxy-and-namespace.patch

--
Subject: merge-sys_clone-sys_unshare-nsproxy-and-namespace-fix
From: Andrew Morton [EMAIL PROTECTED]

There's just less and less excuse for this sort of thing.

Cc: Eric W. Biederman [EMAIL PROTECTED]
Cc: [EMAIL PROTECTED]
Cc: Badari Pulavarty [EMAIL PROTECTED]
Cc: Cedric Le Goater [EMAIL PROTECTED]
Cc: Serge Hallyn [EMAIL PROTECTED]
Signed-off-by: Andrew Morton [EMAIL PROTECTED]
---

 include/linux/utsname.h |3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff -puN 
include/linux/utsname.h~merge-sys_clone-sys_unshare-nsproxy-and-namespace-fix 
include/linux/utsname.h
--- 
a/include/linux/utsname.h~merge-sys_clone-sys_unshare-nsproxy-and-namespace-fix
+++ a/include/linux/utsname.h
@@ -57,7 +57,8 @@ static inline void put_uts_ns(struct uts
kref_put(ns-kref, free_uts_ns);
 }
 #else
-static inline int copy_utsname(int flags, struct uts_namespace *ns)
+static inline struct uts_namespace *
+copy_utsname(int flags, struct uts_namespace *ns)
 {
return ns;
 }
_

Patches currently in -mm which might be from [EMAIL PROTECTED] are

origin.patch
slab-introduce-krealloc-fix.patch
make-aout-executables-work-again-fix.patch
sony-laptop-fix-uninitialised-variable.patch
git-alsa-oops-fix.patch
git-drm.patch
git-dvb.patch
ia64-kexec-use-efi_loader_data-for-elf-core-header-tidy.patch
git-input.patch
setstream-param-for-psmouse-tweak.patch
git-md-accel-fixup.patch
nommu-present-backing-device-capabilities-for-mtd-fix.patch
git-ubi.patch
git-netdev-all.patch
git-netdev-all-ipw2200-fix.patch
revert-drivers-net-tulip-dmfe-support-basic-carrier-detection.patch
dmfe-add-support-for-suspend-resume-fix.patch
sis900-warning-fixes.patch
div64_64-common-code-fix.patch
bonding-replace-system-timer-with-work-queue-tidy.patch
git-parisc.patch
rm9000-serial-driver-tidy.patch
git-pciseg.patch
git-unionfs.patch
usbatm-create-sysfs-link-device-from-atm-class-device-tidy.patch
git-wireless-fixup.patch
revert-x86_64-mm-change-sysenter_setup-to-__cpuinit-improve-__init-__initdata.patch
after-before-x86_64-mm-mmconfig-share.patch
linux-sysdevh-needs-to-include-linux-moduleh-up-fix.patch
linux-sysdevh-needs-to-include-linux-moduleh-up-fix-2.patch
smaps-add-clear_refs-file-to-clear-reference-fix.patch
driver_bfin_serial_core-update.patch
reduce-size-of-task_struct-on-64-bit-machines.patch
mm-shrink-parent-dentries-when-shrinking-slab.patch
merge-sys_clone-sys_unshare-nsproxy-and-namespace.patch
merge-sys_clone-sys_unshare-nsproxy-and-namespace-fix.patch
merge-sys_clone-sys_unshare-nsproxy-and-namespace-fix-2.patch
call-cpu_chain-with-cpu_down_failed-if-cpu_down_prepare-failed-vs-reduce-size-of-task_struct-on-64-bit-machines.patch
speedup-divides-by-cpu_power-in-scheduler-up-fix.patch
lutimesat-compat-syscall-and-wire-up-on-x86_64-tidy.patch
utrace-prep.patch
utrace-prep-2.patch
revert-utrace-prep-2.patch
utrace-vs-reduce-size-of-task_struct-on-64-bit-machines.patch
local_t-mips-extension-shrink-duplicated-mips-32-64-bits-functions-from-localh-fix.patch
linux-kernel-markers-kconfig-menus-fix-4.patch
fbdev-hecuba-framebuffer-driver-fix.patch
mm-only-free-swap-space-of-reactivated-pages-debug.patch

-
To unsubscribe from this list: send the line unsubscribe mm-commits in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


- consolidate-generic_writepages-and-mpage_writepages-tidy.patch removed from -mm tree

2007-03-05 Thread akpm

The patch titled
 consolidate-generic_writepages-and-mpage_writepages-tidy
has been removed from the -mm tree.  Its filename was
 consolidate-generic_writepages-and-mpage_writepages-tidy.patch

This patch was dropped because it was folded into 
consolidate-generic_writepages-and-mpage_writepages.patch

--
Subject: consolidate-generic_writepages-and-mpage_writepages-tidy
From: Andrew Morton [EMAIL PROTECTED]

Signed-off-by: Andrew Morton [EMAIL PROTECTED]
---

 include/linux/writeback.h |3 ++-
 mm/page-writeback.c   |1 -
 2 files changed, 2 insertions(+), 2 deletions(-)

diff -puN 
include/linux/writeback.h~consolidate-generic_writepages-and-mpage_writepages-tidy
 include/linux/writeback.h
--- 
a/include/linux/writeback.h~consolidate-generic_writepages-and-mpage_writepages-tidy
+++ a/include/linux/writeback.h
@@ -109,7 +109,8 @@ balance_dirty_pages_ratelimited(struct a
balance_dirty_pages_ratelimited_nr(mapping, 1);
 }
 
-typedef int (*writepage_t)(struct page *, struct writeback_control *, void *);
+typedef int (*writepage_t)(struct page *page, struct writeback_control *wbc,
+   void *data);
 
 int pdflush_operation(void (*fn)(unsigned long), unsigned long arg0);
 int generic_writepages(struct address_space *mapping,
diff -puN 
mm/page-writeback.c~consolidate-generic_writepages-and-mpage_writepages-tidy 
mm/page-writeback.c
--- 
a/mm/page-writeback.c~consolidate-generic_writepages-and-mpage_writepages-tidy
+++ a/mm/page-writeback.c
@@ -699,7 +699,6 @@ retry:
mapping-writeback_index = index;
return ret;
 }
-
 EXPORT_SYMBOL(write_cache_pages);
 
 /*
_

Patches currently in -mm which might be from [EMAIL PROTECTED] are

origin.patch
macintosh-mangle-caps-lock-events-on-adb-keyboards.patch
git-ia64.patch
git-ieee1394.patch
sata_nv-add-back-some-verbosity-into-adma-error_handler.patch
git-ubi.patch
update-smc91x-driver-with-arm-versatile-board-info.patch
drivers-net-ns83820c-add-paramter-to-disable-auto.patch
net-uninline-skb_put.patch
git-ioat-vs-git-md-accel.patch
ioat-warning-fix.patch
drivers-scsi-mca_53c9xc-save_flags-cli-removal.patch
scsi-cover-up-bugs-fix-up-compiler-warnings-in-megaraid-driver.patch
git-ipwireless_cs.patch
arch-i386-kernel-alternativec-dont-include-bugsh.patch
deprecate-smbfs-in-favour-of-cifs.patch
block_write_full_page-handle-enospc.patch
filesystem-disk-errors-at-boot-time-caused-by-probe.patch
merge-sys_clone-sys_unshare-nsproxy-and-namespace.patch
consolidate-generic_writepages-and-mpage_writepages.patch
consolidate-generic_writepages-and-mpage_writepages-tidy.patch
sync_sb_inodes-propagate-errors.patch
mips-convert-to-use-shared-apm-emulation-fix.patch
schedule_on_each_cpu-use-preempt_disable.patch
implement-flush_work-sanity.patch
implement-flush_work_keventd.patch
flush_workqueue-use-preempt_disable-to-hold-off-cpu-hotplug.patch
aio-use-flush_work.patch
kblockd-use-flush_work.patch
relayfs-use-flush_keventd_work.patch
tg3-use-flush_keventd_work.patch
e1000-use-flush_keventd_work.patch
libata-use-flush_work.patch
phy-use-flush_work.patch
extend-notifier_call_chain-to-count-nr_calls-made.patch
extend-notifier_call_chain-to-count-nr_calls-made-fixes-2.patch
define-and-use-new-eventscpu_lock_acquire-and-cpu_lock_release-fix.patch
eliminate-lock_cpu_hotplug-in-kernel-schedc-fix.patch
move-page-writeback-acounting-out-of-macros.patch
per-backing_dev-dirty-and-writeback-page-accounting.patch
ext2-reservations.patch
edac-new-opteron-athlon64-memory-controller-driver.patch
aio-is-unlikely.patch
sched2-sched-domain-sysctl-use-ctl_unnumbered.patch
mm-implement-swap-prefetching-use-ctl_unnumbered.patch
swap_prefetch-vs-zoned-counters.patch
add-include-linux-freezerh-and-move-definitions-from-prefetch.patch
rcu-preemptible-rcu.patch
atomich-add-atomic64-cmpxchg-xchg-and-add_unless-to-powerpc-fix.patch
atomich-add-atomic64-cmpxchg-xchg-and-add_unless-to-powerpc-fix-2.patch
local_t-powerpc-extension-fix.patch
local_t-powerpc-extension-fix-build-fix.patch
readahead-kconfig-options-fix.patch
readahead-minmax_ra_pages.patch
readahead-sysctl-parameters.patch
readahead-sysctl-parameters-use-ctl_unnumbered.patch
readahead-context-based-method-locking-fix.patch
readahead-context-based-method-locking-fix-2.patch
readahead-call-scheme-ifdef-fix.patch
readahead-call-scheme-build-fix.patch
readahead-nfsd-case-fix.patch
make-copy_from_user_inatomic-not-zero-the-tail-on-i386-vs-reiser4.patch
resier4-add-include-linux-freezerh-and-move-definitions-from.patch
make-kmem_cache_destroy-return-void-reiser4.patch
reiser4-hardirq-include-fix.patch
reiser4-run-truncate_inode_pages-in-reiser4_delete_inode.patch
reiser4-get_sb_dev-fix.patch
reiser4-vs-zoned-allocator.patch
reiser4-temp-fix.patch
reiser4-kmem_cache_t-removal.patch
reiser4-test_clear_page_dirty.patch
statistics-infrastructure-fix-buffer-overflow-in-histogram-with-linear-tidy.patch
slim-main-include-fix.patch

- dont-run-userspace-until-initcalls-have-completed.patch removed from -mm tree

2007-03-05 Thread akpm

The patch titled
 dont-run-userspace-until-initcalls-have-completed
has been removed from the -mm tree.  Its filename was
 dont-run-userspace-until-initcalls-have-completed.patch

This patch was dropped because it is obsolete

--
Subject: dont-run-userspace-until-initcalls-have-completed
From: Andrew Morton [EMAIL PROTECTED]

Signed-off-by: Andrew Morton [EMAIL PROTECTED]
---

 include/asm-generic/vmlinux.lds.h |6 +-
 include/linux/init.h  |5 +
 init/initramfs.c  |3 ++-
 init/main.c   |7 ---
 4 files changed, 12 insertions(+), 9 deletions(-)

diff -puN init/main.c~dont-run-userspace-until-initcalls-have-completed 
init/main.c
--- a/init/main.c~dont-run-userspace-until-initcalls-have-completed
+++ a/init/main.c
@@ -94,7 +94,6 @@ extern void pidmap_init(void);
 extern void prio_tree_init(void);
 extern void radix_tree_init(void);
 extern void free_initmem(void);
-extern void populate_rootfs(void);
 extern void driver_init(void);
 extern void prepare_namespace(void);
 #ifdef CONFIG_ACPI
@@ -739,12 +738,6 @@ static int init(void * unused)
 
cpuset_init_smp();
 
-   /*
-* Do this before initcalls, because some drivers want to access
-* firmware files.
-*/
-   populate_rootfs();
-
do_basic_setup();
 
/*
diff -puN 
include/linux/init.h~dont-run-userspace-until-initcalls-have-completed 
include/linux/init.h
--- a/include/linux/init.h~dont-run-userspace-until-initcalls-have-completed
+++ a/include/linux/init.h
@@ -115,6 +115,11 @@ extern void setup_arch(char **);
 #define device_initcall_sync(fn)   __define_initcall(6s,fn,6s)
 #define late_initcall(fn)  __define_initcall(7,fn,7)
 #define late_initcall_sync(fn) __define_initcall(7s,fn,7s)
+#define populate_rootfs_initcall(fn)   __define_initcall(8,fn,8)
+#define populate_rootfs_initcall_sync(fn) __define_initcall(8s,fn,8s)
+#define rootfs_neeeded_initcall(fn)__define_initcall(9,fn,9)
+#define rootfs_neeeded_initcall_sync(fn) __define_initcall(9s,fn,9s)
+
 
 #define __initcall(fn) device_initcall(fn)
 
diff -puN 
include/asm-generic/vmlinux.lds.h~dont-run-userspace-until-initcalls-have-completed
 include/asm-generic/vmlinux.lds.h
--- 
a/include/asm-generic/vmlinux.lds.h~dont-run-userspace-until-initcalls-have-completed
+++ a/include/asm-generic/vmlinux.lds.h
@@ -245,5 +245,9 @@
*(.initcall6.init)  \
*(.initcall6s.init) \
*(.initcall7.init)  \
-   *(.initcall7s.init)
+   *(.initcall7s.init) \
+   *(.initcall8.init)  \
+   *(.initcall8s.init) \
+   *(.initcall9.init)  \
+   *(.initcall9s.init)
 
diff -puN init/initramfs.c~dont-run-userspace-until-initcalls-have-completed 
init/initramfs.c
--- a/init/initramfs.c~dont-run-userspace-until-initcalls-have-completed
+++ a/init/initramfs.c
@@ -526,7 +526,7 @@ static void __init free_initrd(void)
 
 #endif
 
-void __init populate_rootfs(void)
+static int __init populate_rootfs(void)
 {
char *err = unpack_to_rootfs(__initramfs_start,
 __initramfs_end - __initramfs_start, 0);
@@ -566,3 +566,4 @@ void __init populate_rootfs(void)
}
 #endif
 }
+populate_rootfs_initcall(populate_rootfs);
_

Patches currently in -mm which might be from [EMAIL PROTECTED] are

origin.patch
macintosh-mangle-caps-lock-events-on-adb-keyboards.patch
git-ia64.patch
git-ieee1394.patch
sata_nv-add-back-some-verbosity-into-adma-error_handler.patch
git-ubi.patch
update-smc91x-driver-with-arm-versatile-board-info.patch
drivers-net-ns83820c-add-paramter-to-disable-auto.patch
net-uninline-skb_put.patch
git-ioat-vs-git-md-accel.patch
ioat-warning-fix.patch
drivers-scsi-mca_53c9xc-save_flags-cli-removal.patch
scsi-cover-up-bugs-fix-up-compiler-warnings-in-megaraid-driver.patch
git-ipwireless_cs.patch
arch-i386-kernel-alternativec-dont-include-bugsh.patch
deprecate-smbfs-in-favour-of-cifs.patch
block_write_full_page-handle-enospc.patch
filesystem-disk-errors-at-boot-time-caused-by-probe.patch
merge-sys_clone-sys_unshare-nsproxy-and-namespace.patch
sync_sb_inodes-propagate-errors.patch
mips-convert-to-use-shared-apm-emulation-fix.patch
schedule_on_each_cpu-use-preempt_disable.patch
implement-flush_work-sanity.patch
implement-flush_work_keventd.patch
flush_workqueue-use-preempt_disable-to-hold-off-cpu-hotplug.patch
aio-use-flush_work.patch
kblockd-use-flush_work.patch
relayfs-use-flush_keventd_work.patch
tg3-use-flush_keventd_work.patch
e1000-use-flush_keventd_work.patch
libata-use-flush_work.patch
phy-use-flush_work.patch

- tick-management-dyntick--highres-functionality-fix-2.patch removed from -mm tree

2007-03-05 Thread akpm

The patch titled
 dynticks: Fix one off jiffy update
has been removed from the -mm tree.  Its filename was
 tick-management-dyntick--highres-functionality-fix-2.patch

This patch was dropped because it is obsolete

--
Subject: dynticks: Fix one off jiffy update
From: Thomas Gleixner [EMAIL PROTECTED]

The rework of the jiffy update code introduced a one off error, which
led to a one off accounting error for last_jiffy_update. This made
jiffies lag behind.

Noticed by Karsten Wiese (cpufreq_ondemand weirdness).

Signed-off-by: Thomas Gleixner [EMAIL PROTECTED]
Signed-off-by: Andrew Morton [EMAIL PROTECTED]
---

 kernel/time/tick-sched.c |6 +++---
 1 files changed, 3 insertions(+), 3 deletions(-)

diff -puN 
kernel/time/tick-sched.c~tick-management-dyntick--highres-functionality-fix-2 
kernel/time/tick-sched.c
--- 
a/kernel/time/tick-sched.c~tick-management-dyntick--highres-functionality-fix-2
+++ a/kernel/time/tick-sched.c
@@ -38,7 +38,7 @@ static ktime_t last_jiffies_update;
  */
 static void tick_do_update_jiffies64(ktime_t now)
 {
-   unsigned long ticks = 1;
+   unsigned long ticks = 0;
ktime_t delta;
 
/* Reevalute with xtime_lock held */
@@ -55,12 +55,12 @@ static void tick_do_update_jiffies64(kti
if (unlikely(delta.tv64 = tick_period.tv64)) {
s64 incr = ktime_to_ns(tick_period);
 
-   ticks += ktime_divns(delta, incr);
+   ticks = ktime_divns(delta, incr);
 
last_jiffies_update = ktime_add_ns(last_jiffies_update,
   incr * ticks);
}
-   do_timer(ticks);
+   do_timer(++ticks);
}
write_sequnlock(xtime_lock);
 }
_

Patches currently in -mm which might be from [EMAIL PROTECTED] are

origin.patch
bugfix-dont-use-the-tsc-in-sched_clock-if-unstable.patch
cleanup-unify-tsc_unstable-and-tsc_disable.patch
possible-bugfix-make-dmi_mark_tsc_unstable-call-mark_tsc_unstable.patch
log-reason-why-tsc-was-marked-unstable.patch
optimize-timespec_trunc.patch
sched-fix-idle-load-balancing-in-softirqd-context.patch
sched-dynticks-idle-load-balancing-v3.patch
scheduled-removal-of-sa_xxx-interrupt-flags-fixups-3.patch

-
To unsubscribe from this list: send the line unsubscribe mm-commits in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


- modpost-remove-fixed-size-buffer.patch removed from -mm tree

2007-03-05 Thread akpm

The patch titled
 modpost: remove fixed size buffer
has been removed from the -mm tree.  Its filename was
 modpost-remove-fixed-size-buffer.patch

This patch was dropped because it is obsolete

--
Subject: modpost: remove fixed size buffer
From: Andrew Morton [EMAIL PROTECTED]

modpost has a couple of fixed-sized buffers.  As reported in
http://bugzilla.kernel.org/show_bug.cgi?id=7878, it broke.

Fix by dynamically allocating these things.  Unpleasingly: we really want
vasprintf(), but that's gnu-only.

Cc: Roman Zippel [EMAIL PROTECTED]
Cc: Samuel Ortiz [EMAIL PROTECTED]
Cc: Rusty Russell [EMAIL PROTECTED]
Cc: John Voltz [EMAIL PROTECTED]
Signed-off-by: Andrew Morton [EMAIL PROTECTED]
---

 scripts/mod/modpost.c |   28 
 1 files changed, 20 insertions(+), 8 deletions(-)

diff -puN scripts/mod/modpost.c~modpost-remove-fixed-size-buffer 
scripts/mod/modpost.c
--- a/scripts/mod/modpost.c~modpost-remove-fixed-size-buffer
+++ a/scripts/mod/modpost.c
@@ -1110,8 +1110,6 @@ static void read_symbols(char *modname)
mod-unres = alloc_symbol(struct_module, 0, mod-unres);
 }
 
-#define SZ 500
-
 /* We first write the generated file into memory using the
  * following helper, then compare to the file on disk and
  * only update the later if anything changed */
@@ -1119,20 +1117,28 @@ static void read_symbols(char *modname)
 void __attribute__((format(printf, 2, 3))) buf_printf(struct buffer *buf,
  const char *fmt, ...)
 {
-   char tmp[SZ];
-   int len;
+   char *tmp;
+   size_t len;
va_list ap;
 
va_start(ap, fmt);
-   len = vsnprintf(tmp, SZ, fmt, ap);
+   len = snprintf(NULL, 0, fmt, ap);
+   va_end(ap);
+   tmp = malloc(len + 1);
+   if (tmp == NULL)
+   fatal(modpost: out of memory in %s\n, __FUNCTION__);
+
+   va_start(ap, fmt);
+   len = snprintf(tmp, len, fmt, ap);
buf_write(buf, tmp, len);
va_end(ap);
+   free(tmp);
 }
 
 void buf_write(struct buffer *buf, const char *s, int len)
 {
if (buf-size - buf-pos  len) {
-   buf-size += len + SZ;
+   buf-size += len + 500;
buf-p = realloc(buf-p, buf-size);
}
strncpy(buf-p + buf-pos, s, len);
@@ -1442,7 +1448,6 @@ int main(int argc, char **argv)
 {
struct module *mod;
struct buffer buf = { };
-   char fname[SZ];
char *kernel_read = NULL, *module_read = NULL;
char *dump_write = NULL;
int opt;
@@ -1492,6 +1497,9 @@ int main(int argc, char **argv)
err = 0;
 
for (mod = modules; mod; mod = mod-next) {
+   char *fname;
+   static const char fmt[] = %s.mod.c;
+
if (mod-skip)
continue;
 
@@ -1503,8 +1511,12 @@ int main(int argc, char **argv)
add_moddevtable(buf, mod);
add_srcversion(buf, mod);
 
-   sprintf(fname, %s.mod.c, mod-name);
+   fname = malloc(strlen(mod-name) + sizeof(fmt));
+   if (fname == NULL)
+   fatal(modpost: out of memory in %s\n, __FUNCTION__);
+   sprintf(fname, fmt, mod-name);
write_if_changed(buf, fname);
+   free(fname);
}
 
if (dump_write)
_

Patches currently in -mm which might be from [EMAIL PROTECTED] are

origin.patch
macintosh-mangle-caps-lock-events-on-adb-keyboards.patch
git-ia64.patch
git-ieee1394.patch
sata_nv-add-back-some-verbosity-into-adma-error_handler.patch
git-ubi.patch
update-smc91x-driver-with-arm-versatile-board-info.patch
drivers-net-ns83820c-add-paramter-to-disable-auto.patch
net-uninline-skb_put.patch
git-ioat-vs-git-md-accel.patch
ioat-warning-fix.patch
drivers-scsi-mca_53c9xc-save_flags-cli-removal.patch
scsi-cover-up-bugs-fix-up-compiler-warnings-in-megaraid-driver.patch
git-ipwireless_cs.patch
arch-i386-kernel-alternativec-dont-include-bugsh.patch
deprecate-smbfs-in-favour-of-cifs.patch
block_write_full_page-handle-enospc.patch
filesystem-disk-errors-at-boot-time-caused-by-probe.patch
merge-sys_clone-sys_unshare-nsproxy-and-namespace.patch
sync_sb_inodes-propagate-errors.patch
mips-convert-to-use-shared-apm-emulation-fix.patch
schedule_on_each_cpu-use-preempt_disable.patch
implement-flush_work-sanity.patch
implement-flush_work_keventd.patch
flush_workqueue-use-preempt_disable-to-hold-off-cpu-hotplug.patch
aio-use-flush_work.patch
kblockd-use-flush_work.patch
relayfs-use-flush_keventd_work.patch
tg3-use-flush_keventd_work.patch
e1000-use-flush_keventd_work.patch
libata-use-flush_work.patch
phy-use-flush_work.patch
extend-notifier_call_chain-to-count-nr_calls-made.patch
extend-notifier_call_chain-to-count-nr_calls-made-fixes-2.patch
define-and-use-new-eventscpu_lock_acquire-and-cpu_lock_release-fix.patch
eliminate-lock_cpu_hotplug-in-kernel-schedc-fix.patch

- tick-management-dyntick--highres-functionality-fix.patch removed from -mm tree

2007-03-05 Thread akpm

The patch titled
 tick-management touch softlockup watchdog on resume
has been removed from the -mm tree.  Its filename was
 tick-management-dyntick--highres-functionality-fix.patch

This patch was dropped because it is obsolete

--
Subject: tick-management touch softlockup watchdog on resume
From: Thomas Gleixner [EMAIL PROTECTED]

The softlockup watchdog needs to be touched after resume to avoid a false
positive.

Signed-off-by: Thomas Gleixner [EMAIL PROTECTED]
Acked-by: Jiri Kosina [EMAIL PROTECTED]
Signed-off-by: Andrew Morton [EMAIL PROTECTED]
---

 kernel/time/tick-common.c |1 +
 1 files changed, 1 insertion(+)

diff -puN 
kernel/time/tick-common.c~tick-management-dyntick--highres-functionality-fix 
kernel/time/tick-common.c
--- 
a/kernel/time/tick-common.c~tick-management-dyntick--highres-functionality-fix
+++ a/kernel/time/tick-common.c
@@ -312,6 +312,7 @@ static int tick_notify(struct notifier_b
 
case CLOCK_EVT_NOTIFY_RESUME:
tick_resume_jiffy_update();
+   touch_softlockup_watchdog();
break;
 
case CLOCK_EVT_NOTIFY_CPU_DEAD:
_

Patches currently in -mm which might be from [EMAIL PROTECTED] are

origin.patch
bugfix-dont-use-the-tsc-in-sched_clock-if-unstable.patch
cleanup-unify-tsc_unstable-and-tsc_disable.patch
possible-bugfix-make-dmi_mark_tsc_unstable-call-mark_tsc_unstable.patch
log-reason-why-tsc-was-marked-unstable.patch
optimize-timespec_trunc.patch
sched-fix-idle-load-balancing-in-softirqd-context.patch
sched-dynticks-idle-load-balancing-v3.patch
scheduled-removal-of-sa_xxx-interrupt-flags-fixups-3.patch

-
To unsubscribe from this list: send the line unsubscribe mm-commits in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


- unbreak-msi-on-ati-devices-tidy.patch removed from -mm tree

2007-03-05 Thread akpm

The patch titled
 unbreak-msi-on-ati-devices-tidy
has been removed from the -mm tree.  Its filename was
 unbreak-msi-on-ati-devices-tidy.patch

This patch was dropped because it is obsolete

--
Subject: unbreak-msi-on-ati-devices-tidy
From: Andrew Morton [EMAIL PROTECTED]

Cc: Petr Vandrovec [EMAIL PROTECTED]
Cc: Eric W. Biederman [EMAIL PROTECTED]
Cc: Greg KH [EMAIL PROTECTED]
Cc: Takashi Iwai [EMAIL PROTECTED]
Cc: Jaroslav Kysela [EMAIL PROTECTED]
Signed-off-by: Andrew Morton [EMAIL PROTECTED]
---

 drivers/usb/core/hcd-pci.c |4 ++--
 sound/pci/atiixp.c |   22 +-
 sound/pci/atiixp_modem.c   |   22 +-
 3 files changed, 20 insertions(+), 28 deletions(-)

diff -puN drivers/usb/core/hcd-pci.c~unbreak-msi-on-ati-devices-tidy 
drivers/usb/core/hcd-pci.c
--- a/drivers/usb/core/hcd-pci.c~unbreak-msi-on-ati-devices-tidy
+++ a/drivers/usb/core/hcd-pci.c
@@ -140,7 +140,7 @@ int usb_hcd_pci_probe (struct pci_dev *d
release_region (hcd-rsrc_start, hcd-rsrc_len);
  err2:
usb_put_hcd (hcd);
-   pci_disable_msi (dev);
+   pci_disable_msi(dev);
  err1:
pci_disable_device (dev);
dev_err (dev-dev, init %s fail, %d\n, pci_name(dev), retval);
@@ -394,7 +394,7 @@ int usb_hcd_pci_resume (struct pci_dev *
can't re-enable after resume, %d!\n, retval);
return retval;
}
-   pci_enable_msi (dev);
+   pci_enable_msi(dev);
pci_set_master (dev);
pci_restore_state (dev);
 
diff -puN sound/pci/atiixp.c~unbreak-msi-on-ati-devices-tidy sound/pci/atiixp.c
--- a/sound/pci/atiixp.c~unbreak-msi-on-ati-devices-tidy
+++ a/sound/pci/atiixp.c
@@ -1475,11 +1475,10 @@ static int snd_atiixp_suspend(struct pci
snd_atiixp_aclink_down(chip);
snd_atiixp_chip_stop(chip);
 
-   if (chip-have_msi) {
+   if (chip-have_msi)
pci_disable_msi(pci);
-   } else {
+   else
pci_intx(pci, 0);
-   }
pci_disable_device(pci);
pci_save_state(pci);
pci_set_power_state(pci, pci_choose_state(pci, state));
@@ -1501,11 +1500,10 @@ static int snd_atiixp_resume(struct pci_
return -EIO;
}
pci_set_master(pci);
-   if (chip-have_msi) {
+   if (chip-have_msi)
pci_enable_msi(pci);
-   } else {
+   else
pci_intx(pci, 1);
-   }
 
snd_atiixp_aclink_reset(chip);
snd_atiixp_chip_start(chip);
@@ -1575,11 +1573,10 @@ static int snd_atiixp_free(struct atiixp
if (chip-remap_addr)
iounmap(chip-remap_addr);
pci_release_regions(chip-pci);
-   if (chip-have_msi) {
+   if (chip-have_msi)
pci_disable_msi(chip-pci);
-   } else {
+   else
pci_intx(chip-pci, 0);
-   }
pci_disable_device(chip-pci);
kfree(chip);
return 0;
@@ -1631,9 +1628,9 @@ static int __devinit snd_atiixp_create(s
return -EIO;
}
 
-   if (msi  pci_enable_msi(pci) == 0) {
+   if (msi  pci_enable_msi(pci) == 0)
chip-have_msi = 1;
-   }
+
if (request_irq(pci-irq, snd_atiixp_interrupt, IRQF_SHARED,
card-shortname, chip)) {
snd_printk(KERN_ERR unable to grab IRQ %d\n, pci-irq);
@@ -1642,9 +1639,8 @@ static int __devinit snd_atiixp_create(s
}
chip-irq = pci-irq;
pci_set_master(pci);
-   if (!chip-have_msi) {
+   if (!chip-have_msi)
pci_intx(pci, 1);
-   }
synchronize_irq(chip-irq);
 
if ((err = snd_device_new(card, SNDRV_DEV_LOWLEVEL, chip, ops))  0) {
diff -puN sound/pci/atiixp_modem.c~unbreak-msi-on-ati-devices-tidy 
sound/pci/atiixp_modem.c
--- a/sound/pci/atiixp_modem.c~unbreak-msi-on-ati-devices-tidy
+++ a/sound/pci/atiixp_modem.c
@@ -1132,11 +1132,10 @@ static int snd_atiixp_suspend(struct pci
snd_atiixp_aclink_down(chip);
snd_atiixp_chip_stop(chip);
 
-   if (chip-have_msi) {
+   if (chip-have_msi)
pci_disable_msi(pci);
-   } else {
+   else
pci_intx(pci, 0);
-   }
pci_disable_device(pci);
pci_save_state(pci);
pci_set_power_state(pci, pci_choose_state(pci, state));
@@ -1158,11 +1157,10 @@ static int snd_atiixp_resume(struct pci_
return -EIO;
}
pci_set_master(pci);
-   if (chip-have_msi) {
+   if (chip-have_msi)
pci_enable_msi(pci);
-   } else {
+   else
pci_intx(pci, 1);
-   }
 
snd_atiixp_aclink_reset(chip);
snd_atiixp_chip_start(chip);
@@ -1218,11 +1216,10 @@ static int snd_atiixp_free(struct atiixp
free_irq(chip-irq, chip);
if (chip-remap_addr)
iounmap(chip-remap_addr);
-   if (chip-have_msi) {
+   if 

- bridge-avoid-using-noautorel-workqueues.patch removed from -mm tree

2007-03-05 Thread akpm

The patch titled
 bridge: avoid using noautorel workqueues
has been removed from the -mm tree.  Its filename was
 bridge-avoid-using-noautorel-workqueues.patch

This patch was dropped because it is obsolete

--
Subject: bridge: avoid using noautorel workqueues
From: Andrew Morton [EMAIL PROTECTED]

?

Cc: David Howells [EMAIL PROTECTED]
Signed-off-by: Andrew Morton [EMAIL PROTECTED]
---

 net/bridge/br_if.c  |   14 ++
 net/bridge/br_private.h |1 +
 2 files changed, 7 insertions(+), 8 deletions(-)

diff -puN net/bridge/br_private.h~bridge-avoid-using-noautorel-workqueues 
net/bridge/br_private.h
--- a/net/bridge/br_private.h~bridge-avoid-using-noautorel-workqueues
+++ a/net/bridge/br_private.h
@@ -83,6 +83,7 @@ struct net_bridge_port
struct timer_list   message_age_timer;
struct kobject  kobj;
struct delayed_work carrier_check;
+   struct net_device   *carrier_check_dev;
struct rcu_head rcu;
 };
 
diff -puN net/bridge/br_if.c~bridge-avoid-using-noautorel-workqueues 
net/bridge/br_if.c
--- a/net/bridge/br_if.c~bridge-avoid-using-noautorel-workqueues
+++ a/net/bridge/br_if.c
@@ -83,14 +83,11 @@ static void port_carrier_check(struct wo
struct net_device *dev;
struct net_bridge *br;
 
-   dev = container_of(work, struct net_bridge_port,
-  carrier_check.work)-dev;
-   work_release(work);
-
+   p = container_of(work, struct net_bridge_port, carrier_check.work);
+   dev = p-carrier_check_dev;
rtnl_lock();
-   p = dev-br_port;
-   if (!p)
-   goto done;
+   if (!dev-br_port)
+   goto done;  /* Can this happen? */
br = p-br;
 
if (netif_carrier_ok(dev))
@@ -280,7 +277,8 @@ static struct net_bridge_port *new_nbp(s
p-port_no = index;
br_init_port(p);
p-state = BR_STATE_DISABLED;
-   INIT_DELAYED_WORK_NAR(p-carrier_check, port_carrier_check);
+   p-carrier_check_dev = dev;
+   INIT_DELAYED_WORK(p-carrier_check, port_carrier_check);
br_stp_port_timer_init(p);
 
kobject_init(p-kobj);
_

Patches currently in -mm which might be from [EMAIL PROTECTED] are

origin.patch
macintosh-mangle-caps-lock-events-on-adb-keyboards.patch
git-ia64.patch
git-ieee1394.patch
sata_nv-add-back-some-verbosity-into-adma-error_handler.patch
git-ubi.patch
update-smc91x-driver-with-arm-versatile-board-info.patch
drivers-net-ns83820c-add-paramter-to-disable-auto.patch
net-uninline-skb_put.patch
git-ioat-vs-git-md-accel.patch
ioat-warning-fix.patch
drivers-scsi-mca_53c9xc-save_flags-cli-removal.patch
scsi-cover-up-bugs-fix-up-compiler-warnings-in-megaraid-driver.patch
git-ipwireless_cs.patch
arch-i386-kernel-alternativec-dont-include-bugsh.patch
deprecate-smbfs-in-favour-of-cifs.patch
block_write_full_page-handle-enospc.patch
filesystem-disk-errors-at-boot-time-caused-by-probe.patch
merge-sys_clone-sys_unshare-nsproxy-and-namespace.patch
sync_sb_inodes-propagate-errors.patch
mips-convert-to-use-shared-apm-emulation-fix.patch
schedule_on_each_cpu-use-preempt_disable.patch
implement-flush_work-sanity.patch
implement-flush_work_keventd.patch
flush_workqueue-use-preempt_disable-to-hold-off-cpu-hotplug.patch
aio-use-flush_work.patch
kblockd-use-flush_work.patch
relayfs-use-flush_keventd_work.patch
tg3-use-flush_keventd_work.patch
e1000-use-flush_keventd_work.patch
libata-use-flush_work.patch
phy-use-flush_work.patch
extend-notifier_call_chain-to-count-nr_calls-made.patch
extend-notifier_call_chain-to-count-nr_calls-made-fixes-2.patch
define-and-use-new-eventscpu_lock_acquire-and-cpu_lock_release-fix.patch
eliminate-lock_cpu_hotplug-in-kernel-schedc-fix.patch
move-page-writeback-acounting-out-of-macros.patch
per-backing_dev-dirty-and-writeback-page-accounting.patch
ext2-reservations.patch
edac-new-opteron-athlon64-memory-controller-driver.patch
aio-is-unlikely.patch
sched2-sched-domain-sysctl-use-ctl_unnumbered.patch
mm-implement-swap-prefetching-use-ctl_unnumbered.patch
swap_prefetch-vs-zoned-counters.patch
add-include-linux-freezerh-and-move-definitions-from-prefetch.patch
rcu-preemptible-rcu.patch
atomich-add-atomic64-cmpxchg-xchg-and-add_unless-to-powerpc-fix.patch
atomich-add-atomic64-cmpxchg-xchg-and-add_unless-to-powerpc-fix-2.patch
local_t-powerpc-extension-fix.patch
local_t-powerpc-extension-fix-build-fix.patch
readahead-kconfig-options-fix.patch
readahead-minmax_ra_pages.patch
readahead-sysctl-parameters.patch
readahead-sysctl-parameters-use-ctl_unnumbered.patch
readahead-context-based-method-locking-fix.patch
readahead-context-based-method-locking-fix-2.patch
readahead-call-scheme-ifdef-fix.patch
readahead-call-scheme-build-fix.patch
readahead-nfsd-case-fix.patch
make-copy_from_user_inatomic-not-zero-the-tail-on-i386-vs-reiser4.patch

- extend-notifier_call_chain-to-count-nr_calls-made-fixes-3.patch removed from -mm tree

2007-03-05 Thread akpm

The patch titled
 
has been removed from the -mm tree.  Its filename was
 extend-notifier_call_chain-to-count-nr_calls-made-fixes-3.patch

This patch was dropped because it was folded into 
extend-notifier_call_chain-to-count-nr_calls-made.patch

--
Subject: 
From: Michal Piotrowski [EMAIL PROTECTED]

kernel/sys.c:359: error: conflicting types for '__blocking_notifier_call_chain'
include/linux/notifier.h:140: error: previous declaration of 
'__blocking_notifier_call_chain' was here
kernel/sys.c:375: error: conflicting types for '__blocking_notifier_call_chain'
include/linux/notifier.h:140: error: previous declaration of 
'__blocking_notifier_call_chain' was here

Signed-off-by: Michal Piotrowski [EMAIL PROTECTED]
Signed-off-by: Andrew Morton [EMAIL PROTECTED]
---

 kernel/sys.c |2 +-
 1 files changed, 1 insertion(+), 1 deletion(-)

diff -puN 
kernel/sys.c~extend-notifier_call_chain-to-count-nr_calls-made-fixes-3 
kernel/sys.c
--- a/kernel/sys.c~extend-notifier_call_chain-to-count-nr_calls-made-fixes-3
+++ a/kernel/sys.c
@@ -354,7 +354,7 @@ EXPORT_SYMBOL_GPL(blocking_notifier_chai
  
 int __blocking_notifier_call_chain(struct blocking_notifier_head *nh,
   unsigned long val, void *v,
-  int nr_to_call, unsigned int *nr_calls)
+  int nr_to_call, int *nr_calls)
 {
int ret = NOTIFY_DONE;
 
_

Patches currently in -mm which might be from [EMAIL PROTECTED] are

origin.patch
git-ia64.patch
git-input.patch
i386-irq-kill-irq-compression-fix.patch
extend-notifier_call_chain-to-count-nr_calls-made.patch
extend-notifier_call_chain-to-count-nr_calls-made-fixes-3.patch
edac-new-opteron-athlon64-memory-controller-driver.patch
reiser4-configh.patch

-
To unsubscribe from this list: send the line unsubscribe mm-commits in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


- extend-notifier_call_chain-to-count-nr_calls-made-fixes.patch removed from -mm tree

2007-03-05 Thread akpm

The patch titled
 Fix extend notifier_call_chain to count nr_calls made
has been removed from the -mm tree.  Its filename was
 extend-notifier_call_chain-to-count-nr_calls-made-fixes.patch

This patch was dropped because it was folded into 
extend-notifier_call_chain-to-count-nr_calls-made.patch

--
Subject: Fix extend notifier_call_chain to count nr_calls made
From: Gautham R Shenoy [EMAIL PROTECTED]

* Corrects the type of nr_calls to int * from unsigned int * in
  notifier_call_chain and it's subsequent callers.

* Converts comments of notifier_call_chain to be compliant with
  kernel-docs standards.

* Reverts the changes made to the comments of other
  *_notifier_call_chain.

* Adds parameter names to a few functions prototypes in
  include/linux/notifier.h .

Cc: Randy Dunlap [EMAIL PROTECTED]
Signed-off-by: Gautham R Shenoy [EMAIL PROTECTED]
Signed-off-by: Andrew Morton [EMAIL PROTECTED]
---

 include/linux/notifier.h |   58 ++---
 kernel/sys.c |   22 +-
 2 files changed, 38 insertions(+), 42 deletions(-)

diff -puN 
include/linux/notifier.h~extend-notifier_call_chain-to-count-nr_calls-made-fixes
 include/linux/notifier.h
--- 
a/include/linux/notifier.h~extend-notifier_call_chain-to-count-nr_calls-made-fixes
+++ a/include/linux/notifier.h
@@ -112,40 +112,40 @@ extern void srcu_init_notifier_head(stru
 
 #ifdef __KERNEL__
 
-extern int atomic_notifier_chain_register(struct atomic_notifier_head *,
-   struct notifier_block *);
-extern int blocking_notifier_chain_register(struct blocking_notifier_head *,
-   struct notifier_block *);
-extern int raw_notifier_chain_register(struct raw_notifier_head *,
-   struct notifier_block *);
-extern int srcu_notifier_chain_register(struct srcu_notifier_head *,
-   struct notifier_block *);
-
-extern int atomic_notifier_chain_unregister(struct atomic_notifier_head *,
-   struct notifier_block *);
-extern int blocking_notifier_chain_unregister(struct blocking_notifier_head *,
-   struct notifier_block *);
-extern int raw_notifier_chain_unregister(struct raw_notifier_head *,
-   struct notifier_block *);
-extern int srcu_notifier_chain_unregister(struct srcu_notifier_head *,
-   struct notifier_block *);
+extern int atomic_notifier_chain_register(struct atomic_notifier_head *nh,
+   struct notifier_block *nb);
+extern int blocking_notifier_chain_register(struct blocking_notifier_head *nh,
+   struct notifier_block *nb);
+extern int raw_notifier_chain_register(struct raw_notifier_head *nh,
+   struct notifier_block *nb);
+extern int srcu_notifier_chain_register(struct srcu_notifier_head *nh,
+   struct notifier_block *nb);
+
+extern int atomic_notifier_chain_unregister(struct atomic_notifier_head *nh,
+   struct notifier_block *nb);
+extern int blocking_notifier_chain_unregister(struct blocking_notifier_head 
*nh,
+   struct notifier_block *nb);
+extern int raw_notifier_chain_unregister(struct raw_notifier_head *nh,
+   struct notifier_block *nb);
+extern int srcu_notifier_chain_unregister(struct srcu_notifier_head *nh,
+   struct notifier_block *nb);
 
-extern int atomic_notifier_call_chain(struct atomic_notifier_head *,
+extern int atomic_notifier_call_chain(struct atomic_notifier_head *nh,
unsigned long val, void *v);
-extern int __atomic_notifier_call_chain(struct atomic_notifier_head *,
-   unsigned long val, void *v, int nr_to_call, unsigned int *nr_calls);
-extern int blocking_notifier_call_chain(struct blocking_notifier_head *,
+extern int __atomic_notifier_call_chain(struct atomic_notifier_head *nh,
+   unsigned long val, void *v, int nr_to_call, int *nr_calls);
+extern int blocking_notifier_call_chain(struct blocking_notifier_head *nh,
unsigned long val, void *v);
-extern int __blocking_notifier_call_chain(struct blocking_notifier_head *,
-   unsigned long val, void *v, int nr_to_call, unsigned int *nr_calls);
-extern int raw_notifier_call_chain(struct raw_notifier_head *,
+extern int __blocking_notifier_call_chain(struct blocking_notifier_head *nh,
+   unsigned long val, void *v, int nr_to_call, int *nr_calls);
+extern int raw_notifier_call_chain(struct raw_notifier_head *nh,
unsigned long val, void *v);
-extern int __raw_notifier_call_chain(struct raw_notifier_head *,
-   unsigned long val, void *v, int nr_to_call, unsigned int *nr_calls);
-extern int srcu_notifier_call_chain(struct srcu_notifier_head *,
+extern int __raw_notifier_call_chain(struct raw_notifier_head *nh,
+   unsigned long val, void *v, int nr_to_call, int *nr_calls);
+extern int srcu_notifier_call_chain(struct srcu_notifier_head *nh,
unsigned long val, void *v);
-extern int 

- extend-notifier_call_chain-to-count-nr_calls-made-fixes-2.patch removed from -mm tree

2007-03-05 Thread akpm

The patch titled
 extend-notifier_call_chain-to-count-nr_calls-made-fixes-2
has been removed from the -mm tree.  Its filename was
 extend-notifier_call_chain-to-count-nr_calls-made-fixes-2.patch

This patch was dropped because it was folded into 
extend-notifier_call_chain-to-count-nr_calls-made.patch

--
Subject: extend-notifier_call_chain-to-count-nr_calls-made-fixes-2
From: Andrew Morton [EMAIL PROTECTED]

Cc: Gautham R Shenoy [EMAIL PROTECTED]
Signed-off-by: Andrew Morton [EMAIL PROTECTED]
---

 kernel/sys.c |2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff -puN 
kernel/sys.c~extend-notifier_call_chain-to-count-nr_calls-made-fixes-2 
kernel/sys.c
--- a/kernel/sys.c~extend-notifier_call_chain-to-count-nr_calls-made-fixes-2
+++ a/kernel/sys.c
@@ -161,7 +161,7 @@ static int __kprobes notifier_call_chain
ret = nb-notifier_call(nb, val, v);
 
if (nr_calls)
-   *nr_calls ++;
+   (*nr_calls)++;
 
if ((ret  NOTIFY_STOP_MASK) == NOTIFY_STOP_MASK)
break;
_

Patches currently in -mm which might be from [EMAIL PROTECTED] are

origin.patch
macintosh-mangle-caps-lock-events-on-adb-keyboards.patch
git-ia64.patch
git-ieee1394.patch
sata_nv-add-back-some-verbosity-into-adma-error_handler.patch
git-ubi.patch
update-smc91x-driver-with-arm-versatile-board-info.patch
drivers-net-ns83820c-add-paramter-to-disable-auto.patch
net-uninline-skb_put.patch
git-ioat-vs-git-md-accel.patch
ioat-warning-fix.patch
drivers-scsi-mca_53c9xc-save_flags-cli-removal.patch
scsi-cover-up-bugs-fix-up-compiler-warnings-in-megaraid-driver.patch
git-ipwireless_cs.patch
arch-i386-kernel-alternativec-dont-include-bugsh.patch
deprecate-smbfs-in-favour-of-cifs.patch
block_write_full_page-handle-enospc.patch
filesystem-disk-errors-at-boot-time-caused-by-probe.patch
merge-sys_clone-sys_unshare-nsproxy-and-namespace.patch
sync_sb_inodes-propagate-errors.patch
mips-convert-to-use-shared-apm-emulation-fix.patch
schedule_on_each_cpu-use-preempt_disable.patch
implement-flush_work-sanity.patch
implement-flush_work_keventd.patch
flush_workqueue-use-preempt_disable-to-hold-off-cpu-hotplug.patch
aio-use-flush_work.patch
kblockd-use-flush_work.patch
relayfs-use-flush_keventd_work.patch
tg3-use-flush_keventd_work.patch
e1000-use-flush_keventd_work.patch
libata-use-flush_work.patch
phy-use-flush_work.patch
extend-notifier_call_chain-to-count-nr_calls-made.patch
extend-notifier_call_chain-to-count-nr_calls-made-fixes-2.patch
define-and-use-new-eventscpu_lock_acquire-and-cpu_lock_release-fix.patch
eliminate-lock_cpu_hotplug-in-kernel-schedc-fix.patch
move-page-writeback-acounting-out-of-macros.patch
per-backing_dev-dirty-and-writeback-page-accounting.patch
ext2-reservations.patch
edac-new-opteron-athlon64-memory-controller-driver.patch
aio-is-unlikely.patch
sched2-sched-domain-sysctl-use-ctl_unnumbered.patch
mm-implement-swap-prefetching-use-ctl_unnumbered.patch
swap_prefetch-vs-zoned-counters.patch
add-include-linux-freezerh-and-move-definitions-from-prefetch.patch
rcu-preemptible-rcu.patch
atomich-add-atomic64-cmpxchg-xchg-and-add_unless-to-powerpc-fix.patch
atomich-add-atomic64-cmpxchg-xchg-and-add_unless-to-powerpc-fix-2.patch
local_t-powerpc-extension-fix.patch
local_t-powerpc-extension-fix-build-fix.patch
readahead-kconfig-options-fix.patch
readahead-minmax_ra_pages.patch
readahead-sysctl-parameters.patch
readahead-sysctl-parameters-use-ctl_unnumbered.patch
readahead-context-based-method-locking-fix.patch
readahead-context-based-method-locking-fix-2.patch
readahead-call-scheme-ifdef-fix.patch
readahead-call-scheme-build-fix.patch
readahead-nfsd-case-fix.patch
make-copy_from_user_inatomic-not-zero-the-tail-on-i386-vs-reiser4.patch
resier4-add-include-linux-freezerh-and-move-definitions-from.patch
make-kmem_cache_destroy-return-void-reiser4.patch
reiser4-hardirq-include-fix.patch
reiser4-run-truncate_inode_pages-in-reiser4_delete_inode.patch
reiser4-get_sb_dev-fix.patch
reiser4-vs-zoned-allocator.patch
reiser4-temp-fix.patch
reiser4-kmem_cache_t-removal.patch
reiser4-test_clear_page_dirty.patch
statistics-infrastructure-fix-buffer-overflow-in-histogram-with-linear-tidy.patch
slim-main-include-fix.patch
nr_blockdev_pages-in_interrupt-warning.patch
device-suspend-debug.patch
mutex-subsystem-synchro-test-module-fix.patch
slab-leaks3-default-y.patch
vdso-print-fatal-signals-use-ctl_unnumbered.patch
restore-rogue-readahead-printk.patch
put_bh-debug.patch
e1000-printk-warning-fixes.patch
acpi_format_exception-debug.patch
add-debugging-aid-for-memory-initialisation-problems-fix.patch
kmap_atomic-debugging.patch
shrink_slab-handle-bad-shrinkers.patch
ia64-enable-config_debug_spinlock_sleep.patch
squash-ipc-warnings.patch
squash-udf-warnings.patch

-
To unsubscribe from this list: send the line unsubscribe mm-commits in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  

- cciss-fix-for-2tb-support-again.patch removed from -mm tree

2007-03-05 Thread akpm

The patch titled
 cciss: fix for 2TB support (again)
has been removed from the -mm tree.  Its filename was
 cciss-fix-for-2tb-support-again.patch

This patch was dropped because it was folded into 
cciss-fix-for-2tb-support.patch

--
Subject: cciss: fix for 2TB support (again)
From: Mike Miller (OS Dev) [EMAIL PROTECTED]

This patch changes the constant 0x to 0xULL to prevent sign 
extension.

Signed-off-by: Mike Miller [EMAIL PROTECTED]
Signed-off-by: Andrew Morton [EMAIL PROTECTED]
---

 drivers/block/cciss.c |4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff -puN drivers/block/cciss.c~cciss-fix-for-2tb-support-again 
drivers/block/cciss.c
--- a/drivers/block/cciss.c~cciss-fix-for-2tb-support-again
+++ a/drivers/block/cciss.c
@@ -1303,7 +1303,7 @@ static void cciss_update_drive_info(int 
 
/* if read_capacity returns all F's this volume is 2TB in size */
/* so we switch to 16-byte CDB's for all read/write ops */
-   if (total_size == 0x) {
+   if (total_size == 0xULL) {
cciss_read_capacity_16(ctlr, drv_index, 1,
total_size, block_size);
h-cciss_read = CCISS_READ_16;
@@ -3123,7 +3123,7 @@ static void cciss_getgeometry(int cntl_n
 
/* If read_capacity returns all F's the logical is 2TB */
/* so we switch to 16-byte CDBs for all read/write ops */
-   if(total_size == 0x) {
+   if(total_size == 0xULL) {
cciss_read_capacity_16(cntl_num, i, 0,
total_size, block_size);
hba[cntl_num]-cciss_read = CCISS_READ_16;
_

Patches currently in -mm which might be from [EMAIL PROTECTED] are

cciss-fix-for-2tb-support.patch
cciss-fix-for-2tb-support-again.patch
cciss-supercedes-add-shutdown-support-replaces-reboot-notifier.patch

-
To unsubscribe from this list: send the line unsubscribe mm-commits in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


- define-and-use-new-eventscpu_lock_acquire-and-cpu_lock_release-fix.patch removed from -mm tree

2007-03-05 Thread akpm

The patch titled
 define-and-use-new-eventscpu_lock_acquire-and-cpu_lock_release-fix
has been removed from the -mm tree.  Its filename was
 define-and-use-new-eventscpu_lock_acquire-and-cpu_lock_release-fix.patch

This patch was dropped because it was folded into 
define-and-use-new-eventscpu_lock_acquire-and-cpu_lock_release.patch

--
Subject: define-and-use-new-eventscpu_lock_acquire-and-cpu_lock_release-fix
From: Andrew Morton [EMAIL PROTECTED]

bug, yes?

Cc: Gautham R Shenoy [EMAIL PROTECTED]
Signed-off-by: Andrew Morton [EMAIL PROTECTED]
---

 kernel/cpu.c |4 +++-
 1 files changed, 3 insertions(+), 1 deletion(-)

diff -puN 
kernel/cpu.c~define-and-use-new-eventscpu_lock_acquire-and-cpu_lock_release-fix 
kernel/cpu.c
--- 
a/kernel/cpu.c~define-and-use-new-eventscpu_lock_acquire-and-cpu_lock_release-fix
+++ a/kernel/cpu.c
@@ -139,7 +139,8 @@ static int _cpu_down(unsigned int cpu)
if (err == NOTIFY_BAD) {
printk(%s: attempt to take down CPU %u failed\n,
__FUNCTION__, cpu);
-   return -EINVAL;
+   err = -EINVAL;
+   goto out_release;
}
 
/* Ensure that we are not runnable on dying cpu */
@@ -187,6 +188,7 @@ out_thread:
err = kthread_stop(p);
 out_allowed:
set_cpus_allowed(current, old_allowed);
+out_release:
raw_notifier_call_chain(cpu_chain, CPU_LOCK_RELEASE,
(void *)(long)cpu);
return err;
_

Patches currently in -mm which might be from [EMAIL PROTECTED] are

origin.patch
macintosh-mangle-caps-lock-events-on-adb-keyboards.patch
git-ia64.patch
git-ieee1394.patch
sata_nv-add-back-some-verbosity-into-adma-error_handler.patch
git-ubi.patch
update-smc91x-driver-with-arm-versatile-board-info.patch
drivers-net-ns83820c-add-paramter-to-disable-auto.patch
net-uninline-skb_put.patch
git-ioat-vs-git-md-accel.patch
ioat-warning-fix.patch
drivers-scsi-mca_53c9xc-save_flags-cli-removal.patch
scsi-cover-up-bugs-fix-up-compiler-warnings-in-megaraid-driver.patch
git-ipwireless_cs.patch
arch-i386-kernel-alternativec-dont-include-bugsh.patch
deprecate-smbfs-in-favour-of-cifs.patch
block_write_full_page-handle-enospc.patch
filesystem-disk-errors-at-boot-time-caused-by-probe.patch
merge-sys_clone-sys_unshare-nsproxy-and-namespace.patch
sync_sb_inodes-propagate-errors.patch
mips-convert-to-use-shared-apm-emulation-fix.patch
schedule_on_each_cpu-use-preempt_disable.patch
implement-flush_work-sanity.patch
implement-flush_work_keventd.patch
flush_workqueue-use-preempt_disable-to-hold-off-cpu-hotplug.patch
aio-use-flush_work.patch
kblockd-use-flush_work.patch
relayfs-use-flush_keventd_work.patch
tg3-use-flush_keventd_work.patch
e1000-use-flush_keventd_work.patch
libata-use-flush_work.patch
phy-use-flush_work.patch
extend-notifier_call_chain-to-count-nr_calls-made.patch
define-and-use-new-eventscpu_lock_acquire-and-cpu_lock_release.patch
define-and-use-new-eventscpu_lock_acquire-and-cpu_lock_release-fix.patch
eliminate-lock_cpu_hotplug-in-kernel-schedc-fix.patch
move-page-writeback-acounting-out-of-macros.patch
per-backing_dev-dirty-and-writeback-page-accounting.patch
ext2-reservations.patch
edac-new-opteron-athlon64-memory-controller-driver.patch
aio-is-unlikely.patch
sched2-sched-domain-sysctl-use-ctl_unnumbered.patch
mm-implement-swap-prefetching-use-ctl_unnumbered.patch
swap_prefetch-vs-zoned-counters.patch
add-include-linux-freezerh-and-move-definitions-from-prefetch.patch
rcu-preemptible-rcu.patch
atomich-add-atomic64-cmpxchg-xchg-and-add_unless-to-powerpc-fix.patch
atomich-add-atomic64-cmpxchg-xchg-and-add_unless-to-powerpc-fix-2.patch
local_t-powerpc-extension-fix.patch
local_t-powerpc-extension-fix-build-fix.patch
readahead-kconfig-options-fix.patch
readahead-minmax_ra_pages.patch
readahead-sysctl-parameters.patch
readahead-sysctl-parameters-use-ctl_unnumbered.patch
readahead-context-based-method-locking-fix.patch
readahead-context-based-method-locking-fix-2.patch
readahead-call-scheme-ifdef-fix.patch
readahead-call-scheme-build-fix.patch
readahead-nfsd-case-fix.patch
make-copy_from_user_inatomic-not-zero-the-tail-on-i386-vs-reiser4.patch
resier4-add-include-linux-freezerh-and-move-definitions-from.patch
make-kmem_cache_destroy-return-void-reiser4.patch
reiser4-hardirq-include-fix.patch
reiser4-run-truncate_inode_pages-in-reiser4_delete_inode.patch
reiser4-get_sb_dev-fix.patch
reiser4-vs-zoned-allocator.patch
reiser4-temp-fix.patch
reiser4-kmem_cache_t-removal.patch
reiser4-test_clear_page_dirty.patch
statistics-infrastructure-fix-buffer-overflow-in-histogram-with-linear-tidy.patch
slim-main-include-fix.patch
nr_blockdev_pages-in_interrupt-warning.patch
device-suspend-debug.patch
mutex-subsystem-synchro-test-module-fix.patch
slab-leaks3-default-y.patch
vdso-print-fatal-signals-use-ctl_unnumbered.patch
restore-rogue-readahead-printk.patch
put_bh-debug.patch

- merge-sys_clone-sys_unshare-nsproxy-and-namespace-fix-2.patch removed from -mm tree

2007-03-05 Thread akpm

The patch titled
 merge-sys_clone-sys_unshare-nsproxy-and-namespace-fix-2
has been removed from the -mm tree.  Its filename was
 merge-sys_clone-sys_unshare-nsproxy-and-namespace-fix-2.patch

This patch was dropped because it was folded into 
merge-sys_clone-sys_unshare-nsproxy-and-namespace.patch

--
Subject: merge-sys_clone-sys_unshare-nsproxy-and-namespace-fix-2
From: Andrew Morton [EMAIL PROTECTED]

include/linux/ipc.h:106: warning: 'copy_ipcs' defined but not used
include/linux/ipc.h:106: warning: 'copy_ipcs' defined but not used

bah.

Cc: Eric W. Biederman [EMAIL PROTECTED]
Cc: [EMAIL PROTECTED]
Cc: Badari Pulavarty [EMAIL PROTECTED]
Cc: Cedric Le Goater [EMAIL PROTECTED]
Cc: Serge Hallyn [EMAIL PROTECTED]
Signed-off-by: Andrew Morton [EMAIL PROTECTED]
---

 include/linux/ipc.h |2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff -puN 
include/linux/ipc.h~merge-sys_clone-sys_unshare-nsproxy-and-namespace-fix-2 
include/linux/ipc.h
--- 
a/include/linux/ipc.h~merge-sys_clone-sys_unshare-nsproxy-and-namespace-fix-2
+++ a/include/linux/ipc.h
@@ -101,7 +101,7 @@ extern void free_ipc_ns(struct kref *kre
 extern struct ipc_namespace *copy_ipcs(unsigned long flags,
struct ipc_namespace *ns);
 #else
-static struct ipc_namespace *copy_ipcs(unsigned long flags,
+static inline struct ipc_namespace *copy_ipcs(unsigned long flags,
struct ipc_namespace *ns)
 {
return ns;
_

Patches currently in -mm which might be from [EMAIL PROTECTED] are

origin.patch
slab-introduce-krealloc-fix.patch
make-aout-executables-work-again-fix.patch
sony-laptop-fix-uninitialised-variable.patch
git-alsa-oops-fix.patch
git-drm.patch
git-dvb.patch
ia64-kexec-use-efi_loader_data-for-elf-core-header-tidy.patch
git-input.patch
setstream-param-for-psmouse-tweak.patch
git-md-accel-fixup.patch
nommu-present-backing-device-capabilities-for-mtd-fix.patch
git-ubi.patch
git-netdev-all.patch
git-netdev-all-ipw2200-fix.patch
revert-drivers-net-tulip-dmfe-support-basic-carrier-detection.patch
dmfe-add-support-for-suspend-resume-fix.patch
sis900-warning-fixes.patch
div64_64-common-code-fix.patch
bonding-replace-system-timer-with-work-queue-tidy.patch
git-parisc.patch
rm9000-serial-driver-tidy.patch
git-pciseg.patch
git-unionfs.patch
usbatm-create-sysfs-link-device-from-atm-class-device-tidy.patch
git-wireless-fixup.patch
revert-x86_64-mm-change-sysenter_setup-to-__cpuinit-improve-__init-__initdata.patch
after-before-x86_64-mm-mmconfig-share.patch
linux-sysdevh-needs-to-include-linux-moduleh-up-fix.patch
linux-sysdevh-needs-to-include-linux-moduleh-up-fix-2.patch
smaps-add-clear_refs-file-to-clear-reference-fix.patch
driver_bfin_serial_core-update.patch
reduce-size-of-task_struct-on-64-bit-machines.patch
mm-shrink-parent-dentries-when-shrinking-slab.patch
merge-sys_clone-sys_unshare-nsproxy-and-namespace.patch
merge-sys_clone-sys_unshare-nsproxy-and-namespace-fix-2.patch
call-cpu_chain-with-cpu_down_failed-if-cpu_down_prepare-failed-vs-reduce-size-of-task_struct-on-64-bit-machines.patch
speedup-divides-by-cpu_power-in-scheduler-up-fix.patch
lutimesat-compat-syscall-and-wire-up-on-x86_64-tidy.patch
utrace-prep.patch
utrace-prep-2.patch
revert-utrace-prep-2.patch
utrace-vs-reduce-size-of-task_struct-on-64-bit-machines.patch
local_t-mips-extension-shrink-duplicated-mips-32-64-bits-functions-from-localh-fix.patch
linux-kernel-markers-kconfig-menus-fix-4.patch
fbdev-hecuba-framebuffer-driver-fix.patch
mm-only-free-swap-space-of-reactivated-pages-debug.patch

-
To unsubscribe from this list: send the line unsubscribe mm-commits in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


- eliminate-lock_cpu_hotplug-in-kernel-schedc-fix.patch removed from -mm tree

2007-03-05 Thread akpm

The patch titled
 eliminate-lock_cpu_hotplug-in-kernel-schedc-fix
has been removed from the -mm tree.  Its filename was
 eliminate-lock_cpu_hotplug-in-kernel-schedc-fix.patch

This patch was dropped because it was folded into 
eliminate-lock_cpu_hotplug-in-kernel-schedc.patch

--
Subject: eliminate-lock_cpu_hotplug-in-kernel-schedc-fix
From: Andrew Morton [EMAIL PROTECTED]

migration_call() is called during CPU bringup even if CONFIG_HOTPLUG_CPU=n. 
So we need to release that lock, else it deadlocks.

Cc: Gautham R Shenoy [EMAIL PROTECTED]
Signed-off-by: Andrew Morton [EMAIL PROTECTED]
---

 kernel/sched.c |3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

diff -puN kernel/sched.c~eliminate-lock_cpu_hotplug-in-kernel-schedc-fix 
kernel/sched.c
--- a/kernel/sched.c~eliminate-lock_cpu_hotplug-in-kernel-schedc-fix
+++ a/kernel/sched.c
@@ -5255,11 +5255,10 @@ migration_call(struct notifier_block *nf
}
spin_unlock_irq(rq-lock);
break;
-
+#endif
case CPU_LOCK_RELEASE:
mutex_unlock(sched_hotcpu_mutex);
break;
-#endif
}
return NOTIFY_OK;
 }
_

Patches currently in -mm which might be from [EMAIL PROTECTED] are

origin.patch
macintosh-mangle-caps-lock-events-on-adb-keyboards.patch
git-ia64.patch
git-ieee1394.patch
sata_nv-add-back-some-verbosity-into-adma-error_handler.patch
git-ubi.patch
update-smc91x-driver-with-arm-versatile-board-info.patch
drivers-net-ns83820c-add-paramter-to-disable-auto.patch
net-uninline-skb_put.patch
git-ioat-vs-git-md-accel.patch
ioat-warning-fix.patch
drivers-scsi-mca_53c9xc-save_flags-cli-removal.patch
scsi-cover-up-bugs-fix-up-compiler-warnings-in-megaraid-driver.patch
git-ipwireless_cs.patch
arch-i386-kernel-alternativec-dont-include-bugsh.patch
deprecate-smbfs-in-favour-of-cifs.patch
block_write_full_page-handle-enospc.patch
filesystem-disk-errors-at-boot-time-caused-by-probe.patch
merge-sys_clone-sys_unshare-nsproxy-and-namespace.patch
sync_sb_inodes-propagate-errors.patch
mips-convert-to-use-shared-apm-emulation-fix.patch
schedule_on_each_cpu-use-preempt_disable.patch
implement-flush_work-sanity.patch
implement-flush_work_keventd.patch
flush_workqueue-use-preempt_disable-to-hold-off-cpu-hotplug.patch
aio-use-flush_work.patch
kblockd-use-flush_work.patch
relayfs-use-flush_keventd_work.patch
tg3-use-flush_keventd_work.patch
e1000-use-flush_keventd_work.patch
libata-use-flush_work.patch
phy-use-flush_work.patch
extend-notifier_call_chain-to-count-nr_calls-made.patch
eliminate-lock_cpu_hotplug-in-kernel-schedc.patch
eliminate-lock_cpu_hotplug-in-kernel-schedc-fix.patch
move-page-writeback-acounting-out-of-macros.patch
per-backing_dev-dirty-and-writeback-page-accounting.patch
ext2-reservations.patch
edac-new-opteron-athlon64-memory-controller-driver.patch
aio-is-unlikely.patch
sched2-sched-domain-sysctl-use-ctl_unnumbered.patch
mm-implement-swap-prefetching-use-ctl_unnumbered.patch
swap_prefetch-vs-zoned-counters.patch
add-include-linux-freezerh-and-move-definitions-from-prefetch.patch
rcu-preemptible-rcu.patch
atomich-add-atomic64-cmpxchg-xchg-and-add_unless-to-powerpc-fix.patch
atomich-add-atomic64-cmpxchg-xchg-and-add_unless-to-powerpc-fix-2.patch
local_t-powerpc-extension-fix.patch
local_t-powerpc-extension-fix-build-fix.patch
readahead-kconfig-options-fix.patch
readahead-minmax_ra_pages.patch
readahead-sysctl-parameters.patch
readahead-sysctl-parameters-use-ctl_unnumbered.patch
readahead-context-based-method-locking-fix.patch
readahead-context-based-method-locking-fix-2.patch
readahead-call-scheme-ifdef-fix.patch
readahead-call-scheme-build-fix.patch
readahead-nfsd-case-fix.patch
make-copy_from_user_inatomic-not-zero-the-tail-on-i386-vs-reiser4.patch
resier4-add-include-linux-freezerh-and-move-definitions-from.patch
make-kmem_cache_destroy-return-void-reiser4.patch
reiser4-hardirq-include-fix.patch
reiser4-run-truncate_inode_pages-in-reiser4_delete_inode.patch
reiser4-get_sb_dev-fix.patch
reiser4-vs-zoned-allocator.patch
reiser4-temp-fix.patch
reiser4-kmem_cache_t-removal.patch
reiser4-test_clear_page_dirty.patch
statistics-infrastructure-fix-buffer-overflow-in-histogram-with-linear-tidy.patch
slim-main-include-fix.patch
nr_blockdev_pages-in_interrupt-warning.patch
device-suspend-debug.patch
mutex-subsystem-synchro-test-module-fix.patch
slab-leaks3-default-y.patch
vdso-print-fatal-signals-use-ctl_unnumbered.patch
restore-rogue-readahead-printk.patch
put_bh-debug.patch
e1000-printk-warning-fixes.patch
acpi_format_exception-debug.patch
add-debugging-aid-for-memory-initialisation-problems-fix.patch
kmap_atomic-debugging.patch
shrink_slab-handle-bad-shrinkers.patch
ia64-enable-config_debug_spinlock_sleep.patch
squash-ipc-warnings.patch
squash-udf-warnings.patch

-
To unsubscribe from this list: send the line unsubscribe mm-commits in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  

- workqueue-dont-save-interrupts-in-run_workqueue-update-2.patch removed from -mm tree

2007-03-05 Thread akpm

The patch titled
 workqueue-dont-save-interrupts-in-run_workqueue-update 2
has been removed from the -mm tree.  Its filename was
 workqueue-dont-save-interrupts-in-run_workqueue-update-2.patch

This patch was dropped because it was folded into 
workqueue-dont-save-interrupts-in-run_workqueue.patch

--
Subject: workqueue-dont-save-interrupts-in-run_workqueue-update 2
From: Oleg Nesterov [EMAIL PROTECTED]

Add might_sleep() checks to flush_xxx() functions.

Signed-off-by: Oleg Nesterov [EMAIL PROTECTED]
Signed-off-by: Andrew Morton [EMAIL PROTECTED]
---

 kernel/workqueue.c |4 
 1 files changed, 4 insertions(+)

diff -puN 
kernel/workqueue.c~workqueue-dont-save-interrupts-in-run_workqueue-update-2 
kernel/workqueue.c
--- 
a/kernel/workqueue.c~workqueue-dont-save-interrupts-in-run_workqueue-update-2
+++ a/kernel/workqueue.c
@@ -393,6 +393,8 @@ static void flush_cpu_workqueue(struct c
  */
 void fastcall flush_workqueue(struct workqueue_struct *wq)
 {
+   might_sleep();
+
if (is_single_threaded(wq))
flush_cpu_workqueue(per_cpu_ptr(wq-cpu_wq, singlethread_cpu));
else {
@@ -439,6 +441,8 @@ void flush_work(struct workqueue_struct 
 {
struct cpu_workqueue_struct *cwq;
 
+   might_sleep();
+
cwq = get_wq_data(work);
/* Was it ever queued ? */
if (!cwq)
_

Patches currently in -mm which might be from [EMAIL PROTECTED] are

origin.patch
drivers-media-video-cpia_ppc-dont-use-_work_nar.patch
bonding-replace-system-timer-with-work-queue.patch
bonding-replace-system-timer-with-work-queue-tidy.patch
smaps-add-clear_refs-file-to-clear-reference-fix.patch
fix-refrigerator-vs-thaw_process-race.patch
doc-atomic_add_unless-doesnt-imply-mb-on-failure.patch
procfs-fix-race-between-proc_readdir-and-remove_proc_entry.patch
clone-flag-clone_parent_tidptr-leaves-invalid-results-in-memory.patch
allow-access-to-proc-pid-fd-after-setuid.patch
freezer-task-exit_state-should-be-treated-as-bolean.patch
softlockup-trivial-s-99-max_rt_prio.patch
reimplement-flush_workqueue.patch
implement-flush_work.patch
implement-flush_work-sanity.patch
implement-flush_work_keventd.patch
flush_workqueue-use-preempt_disable-to-hold-off-cpu-hotplug.patch
flush_cpu_workqueue-dont-flush-an-empty-worklist.patch
aio-use-flush_work.patch
kblockd-use-flush_work.patch
relayfs-use-flush_keventd_work.patch
tg3-use-flush_keventd_work.patch
e1000-use-flush_keventd_work.patch
libata-use-flush_work.patch
phy-use-flush_work.patch
call-cpu_chain-with-cpu_down_failed-if-cpu_down_prepare-failed.patch
slab-use-cpu_lock_.patch
workqueue-fix-freezeable-workqueues-implementation.patch
workqueue-fix-flush_workqueue-vs-cpu_dead-race.patch
workqueue-dont-clear-cwq-thread-until-it-exits.patch
workqueue-dont-migrate-pending-works-from-the-dead-cpu.patch
workqueue-kill-run_scheduled_work.patch
workqueue-dont-save-interrupts-in-run_workqueue.patch
workqueue-dont-save-interrupts-in-run_workqueue-update-2.patch
workqueue-make-cancel_rearming_delayed_workqueue-work-on-idle-dwork.patch
workqueue-introduce-cpu_singlethread_map.patch
workqueue-introduce-workqueue_struct-singlethread.patch
workqueue-make-init_workqueues-__init.patch
make-queue_delayed_work-friendly-to-flush_fork.patch
unify-queue_delayed_work-and-queue_delayed_work_on.patch
unify-queue_delayed_work-and-queue_delayed_work_on-fix.patch
workqueue-introduce-wq_per_cpu-helper.patch
make-cancel_rearming_delayed_work-work-on-any-workqueue-not-just-keventd_wq.patch
ipvs-flush-defense_work-before-module-unload.patch
workqueue-kill-noautorel-works.patch
worker_thread-dont-play-with-signals.patch
slab-shutdown-cache_reaper-when-cpu-goes-down.patch
unify-flush_work-flush_work_keventd-and-rename-it-to-cancel_work_sync.patch
call_usermodehelper-dont-flush_signals.patch
freezer-read-pf_borrowed_mm-in-a-nonracy-way.patch
freezer-close-theoretical-race-between-refrigerator-and-thaw_tasks.patch
freezer-remove-pf_nofreeze-from-rcutorture-thread.patch
freezer-remove-pf_nofreeze-from-bluetooth-threads.patch
freezer-add-try_to_freeze-calls-to-all-kernel-threads.patch
freezer-fix-vfork-problem.patch
freezer-take-kernel_execve-into-consideration.patch

-
To unsubscribe from this list: send the line unsubscribe mm-commits in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


- unify-queue_delayed_work-and-queue_delayed_work_on-fix.patch removed from -mm tree

2007-03-05 Thread akpm

The patch titled
 unify queue_delayed_work and queue_delayed_work_on fix
has been removed from the -mm tree.  Its filename was
 unify-queue_delayed_work-and-queue_delayed_work_on-fix.patch

This patch was dropped because it was folded into 
unify-queue_delayed_work-and-queue_delayed_work_on.patch

--
Subject: unify queue_delayed_work and queue_delayed_work_on fix
From: Jiri Slaby [EMAIL PROTECTED]

Since cwq-wq is unset for other than singlethread_cpu when singlethread
workqueue was created, an oops occurs during bootup. Fix it by setting
correct private value for workqueue.

Signed-off-by: Jiri Slaby [EMAIL PROTECTED]
Cc: Oleg Nesterov [EMAIL PROTECTED]
Signed-off-by: Andrew Morton [EMAIL PROTECTED]
---

 kernel/workqueue.c |3 ++-
 1 files changed, 2 insertions(+), 1 deletion(-)

diff -puN 
kernel/workqueue.c~unify-queue_delayed_work-and-queue_delayed_work_on-fix 
kernel/workqueue.c
--- a/kernel/workqueue.c~unify-queue_delayed_work-and-queue_delayed_work_on-fix
+++ a/kernel/workqueue.c
@@ -210,7 +210,8 @@ int queue_delayed_work_on(int cpu, struc
 
/* This stores cwq for the moment, for the timer_fn */
set_wq_data(work,
-   per_cpu_ptr(wq-cpu_wq, raw_smp_processor_id()));
+   per_cpu_ptr(wq-cpu_wq, wq-singlethread ?
+   singlethread_cpu : raw_smp_processor_id()));
timer-expires = jiffies + delay;
timer-data = (unsigned long)dwork;
timer-function = delayed_work_timer_fn;
_

Patches currently in -mm which might be from [EMAIL PROTECTED] are

unify-queue_delayed_work-and-queue_delayed_work_on.patch
unify-queue_delayed_work-and-queue_delayed_work_on-fix.patch
shrink_slab-handle-bad-shrinkers.patch

-
To unsubscribe from this list: send the line unsubscribe mm-commits in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


- per-backing_dev-dirty-and-writeback-page-accounting-fix.patch removed from -mm tree

2007-03-05 Thread akpm

The patch titled
 mm: Fix dirty page accounting per backing_dev
has been removed from the -mm tree.  Its filename was
 per-backing_dev-dirty-and-writeback-page-accounting-fix.patch

This patch was dropped because it was folded into 
per-backing_dev-dirty-and-writeback-page-accounting.patch

--
Subject: mm: Fix dirty page accounting per backing_dev
From: Tomoki Sekiyama [EMAIL PROTECTED]

I found a suspicious bug of I/O accounting in 2.6.20-rc6-mm3.  The number
of dirty pages per backing_dev available from
/sys/block/dev/queue/nr_dirty keeps growing when a file is rapidly
overwritten several times.

For example:
% cat /sys/block/sda/queue/nr_dirty
104
% for i in 1 2; do dd if=/dev/zero of=dummy bs=4096 count=1; done; sync
% cat /sys/block/sda/queue/nr_dirty
105
% for i in 1 2 3; do dd if=/dev/zero of=dummy bs=4096 count=1; done; sync
% cat /sys/block/sda/queue/nr_dirty
107

This patch fixes it.

Signed-off-by: Tomoki Sekiyama [EMAIL PROTECTED]
Signed-off-by: Andrew Morton [EMAIL PROTECTED]
---

 mm/truncate.c |1 +
 1 files changed, 1 insertion(+)

diff -puN mm/truncate.c~per-backing_dev-dirty-and-writeback-page-accounting-fix 
mm/truncate.c
--- a/mm/truncate.c~per-backing_dev-dirty-and-writeback-page-accounting-fix
+++ a/mm/truncate.c
@@ -70,6 +70,7 @@ void cancel_dirty_page(struct page *page
if (TestClearPageDirty(page)) {
struct address_space *mapping = page-mapping;
if (mapping  mapping_cap_account_dirty(mapping)) {
+   atomic_long_dec(mapping-backing_dev_info-nr_dirty);
dec_zone_page_state(page, NR_FILE_DIRTY);
if (account_size)
task_io_account_cancelled_write(account_size);
_

Patches currently in -mm which might be from [EMAIL PROTECTED] are

per-backing_dev-dirty-and-writeback-page-accounting.patch
per-backing_dev-dirty-and-writeback-page-accounting-fix.patch

-
To unsubscribe from this list: send the line unsubscribe mm-commits in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


- ext2-fix-reservation-extension.patch removed from -mm tree

2007-03-05 Thread akpm

The patch titled
 ext3: fix reservation extension
has been removed from the -mm tree.  Its filename was
 ext2-fix-reservation-extension.patch

This patch was dropped because it was folded into ext2-reservations.patch

--
Subject: ext3: fix reservation extension
From: Mingming Cao [EMAIL PROTECTED]

Hugh Dickins wrote:
 Not found anything relevant, but I keep noticing these lines
 in ext2_try_to_allocate_with_rsv(), ext3 and ext4 similar:

   } else if (grp_goal  0 
   (my_rsv-rsv_end - grp_goal + 1)  *count)
   try_to_extend_reservation(my_rsv, sb,
   *count-my_rsv-rsv_end + grp_goal - 1);

 They're wrong, a no-op in most groups, aren't they?  rsv_end is an
 absolute block number, whereas grp_goal is group-relative, so the
 calculation ought to bring in group_first_block?  Or I'm confused.


Signed-off-by: Mingming Cao [EMAIL PROTECTED]
Signed-off-by: Andrew Morton [EMAIL PROTECTED]
---

 fs/ext2/balloc.c |   12 
 1 file changed, 8 insertions(+), 4 deletions(-)

diff -puN fs/ext2/balloc.c~ext2-fix-reservation-extension fs/ext2/balloc.c
--- a/fs/ext2/balloc.c~ext2-fix-reservation-extension
+++ a/fs/ext2/balloc.c
@@ -1089,10 +1089,14 @@ ext2_try_to_allocate_with_rsv(struct sup
if (!goal_in_my_reservation(my_rsv-rsv_window,
grp_goal, group, sb))
grp_goal = -1;
-   } else if (grp_goal  0 
-   (my_rsv-rsv_end-grp_goal+1)  *count)
-   try_to_extend_reservation(my_rsv, sb,
-   *count-my_rsv-rsv_end + grp_goal - 1);
+   } else if (grp_goal  0) {
+   int curr = my_rsv-rsv_end -
+   (grp_goal + group_first_block) + 1;
+
+   if (curr  *count)
+   try_to_extend_reservation(my_rsv, sb,
+   *count - curr);
+   }
 
if ((my_rsv-rsv_start  group_last_block) ||
(my_rsv-rsv_end  group_first_block)) {
_

Patches currently in -mm which might be from [EMAIL PROTECTED] are

origin.patch
ext2-reservations.patch
ext2-fix-reservation-extension.patch
ext2-balloc-fix-_with_rsv-freeze.patch
ext2-balloc-reset-windowsz-when-full.patch
ext2-balloc-fix-off-by-one-against-rsv_end.patch
ext2-balloc-fix-off-by-one-against-grp_goal.patch
ext2-balloc-say-rb_entry-not-list_entry.patch
ext2-balloc-use-io_error-label.patch

-
To unsubscribe from this list: send the line unsubscribe mm-commits in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


  1   2   3   4   >