drivers/edac: remove file edac_mc.h

2007-07-19 Thread Linux Kernel Mailing List
Gitweb: 
http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=7f065e723b02afb0d36a2aae8e6d206ba2667fc6
Commit: 7f065e723b02afb0d36a2aae8e6d206ba2667fc6
Parent: 494d0d55bcc7ef94c744a59779327e45a27f7801
Author: Douglas Thompson [EMAIL PROTECTED]
AuthorDate: Thu Jul 19 01:50:22 2007 -0700
Committer:  Linus Torvalds [EMAIL PROTECTED]
CommitDate: Thu Jul 19 10:04:56 2007 -0700

drivers/edac: remove file edac_mc.h

Removed the no-longer-needed file edac_mc.h

Signed-off-by: Douglas Thompson [EMAIL PROTECTED]
Signed-off-by: Andrew Morton [EMAIL PROTECTED]
Signed-off-by: Linus Torvalds [EMAIL PROTECTED]
---
 drivers/edac/edac_mc.h |7 ---
 1 files changed, 0 insertions(+), 7 deletions(-)

diff --git a/drivers/edac/edac_mc.h b/drivers/edac/edac_mc.h
deleted file mode 100644
index 12740f9..000
--- a/drivers/edac/edac_mc.h
+++ /dev/null
@@ -1,7 +0,0 @@
-
-/*
- * Older .h file for edac, until all drivers are modified
- *
- */
-
-#include edac_core.h
-
To unsubscribe from this list: send the line unsubscribe git-commits-head in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


kernel/sysctl.c: finish off the warning comments

2007-07-19 Thread Linux Kernel Mailing List
Gitweb: 
http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=ed2c12f323e8fafbc94f9bcfb924f9df36e64dc7
Commit: ed2c12f323e8fafbc94f9bcfb924f9df36e64dc7
Parent: 87f24c3ac399e82c578e71311251f00618fc5203
Author: Andrew Morton [EMAIL PROTECTED]
AuthorDate: Thu Jul 19 01:50:35 2007 -0700
Committer:  Linus Torvalds [EMAIL PROTECTED]
CommitDate: Thu Jul 19 10:04:57 2007 -0700

kernel/sysctl.c: finish off the warning comments

I've been chasing these comments around this file all week.  Hopefully we're
straight now.

Signed-off-by: Andrew Morton [EMAIL PROTECTED]
Signed-off-by: Linus Torvalds [EMAIL PROTECTED]
---
 kernel/sysctl.c |5 -
 1 files changed, 4 insertions(+), 1 deletions(-)

diff --git a/kernel/sysctl.c b/kernel/sysctl.c
index e69179b..998 100644
--- a/kernel/sysctl.c
+++ b/kernel/sysctl.c
@@ -748,7 +748,10 @@ static ctl_table kern_table[] = {
.proc_handler   = proc_dostring,
.strategy   = sysctl_string,
},
-
+/*
+ * NOTE: do not add new entries to this table unless you have read
+ * Documentation/sysctl/ctl_unnumbered.txt
+ */
{ .ctl_name = 0 }
 };
 
-
To unsubscribe from this list: send the line unsubscribe git-commits-head in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


add POSIX clocks and timers maintainer

2007-07-19 Thread Linux Kernel Mailing List
Gitweb: 
http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=aa781aeb49752e5654241b53368c80362ad7bea3
Commit: aa781aeb49752e5654241b53368c80362ad7bea3
Parent: 01c55ed3260e130f152b7fbab2e18f23980b59a4
Author: Ingo Molnar [EMAIL PROTECTED]
AuthorDate: Thu Jul 19 01:48:32 2007 -0700
Committer:  Linus Torvalds [EMAIL PROTECTED]
CommitDate: Thu Jul 19 10:04:47 2007 -0700

add POSIX clocks and timers maintainer

Update the MAINTAINERS file: Thomas Gleixner has been the de-facto
maintainer of POSIX timers and clocks for quite some time.

Signed-off-by: Ingo Molnar [EMAIL PROTECTED]
Cc: Thomas Gleixner [EMAIL PROTECTED]
Signed-off-by: Andrew Morton [EMAIL PROTECTED]
Signed-off-by: Linus Torvalds [EMAIL PROTECTED]
---
 MAINTAINERS |4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/MAINTAINERS b/MAINTAINERS
index 70e502e..d471971 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -2857,8 +2857,8 @@ L:[EMAIL PROTECTED]
 S: Maintained
 
 POSIX CLOCKS and TIMERS
-P: George Anzinger
-M: [EMAIL PROTECTED]
+P: Thomas Gleixner
+M: [EMAIL PROTECTED]
 L: [EMAIL PROTECTED]
 S: Supported
 
-
To unsubscribe from this list: send the line unsubscribe git-commits-head in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


coda: correctly invalidate cached access rights

2007-07-19 Thread Linux Kernel Mailing List
Gitweb: 
http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=56ee3547940f895a2cf20f2ac462fbeaee55fa2a
Commit: 56ee3547940f895a2cf20f2ac462fbeaee55fa2a
Parent: 38c2e4370da495813ca93d7cad31ed5090e8c310
Author: Jan Harkes [EMAIL PROTECTED]
AuthorDate: Thu Jul 19 01:48:42 2007 -0700
Committer:  Linus Torvalds [EMAIL PROTECTED]
CommitDate: Thu Jul 19 10:04:48 2007 -0700

coda: correctly invalidate cached access rights

Change the epoch value to forces a refresh instead of clearing the cached
rights mask and block all further accesses to the object.

Signed-off-by: Jan Harkes [EMAIL PROTECTED]
Signed-off-by: Andrew Morton [EMAIL PROTECTED]
Signed-off-by: Linus Torvalds [EMAIL PROTECTED]
---
 fs/coda/cache.c |2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/fs/coda/cache.c b/fs/coda/cache.c
index fcb88fa..11538a2 100644
--- a/fs/coda/cache.c
+++ b/fs/coda/cache.c
@@ -43,7 +43,7 @@ void coda_cache_enter(struct inode *inode, int mask)
 void coda_cache_clear_inode(struct inode *inode)
 {
struct coda_inode_info *cii = ITOC(inode);
-cii-c_cached_perm = 0;
+   cii-c_cached_epoch = atomic_read(permission_epoch) - 1;
 }
 
 /* remove all acl caches */
-
To unsubscribe from this list: send the line unsubscribe git-commits-head in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


hugetlb: use set_compound_page_dtor

2007-07-19 Thread Linux Kernel Mailing List
Gitweb: 
http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=f8af0bb890d6cdcb09ec042c128e217a7c500355
Commit: f8af0bb890d6cdcb09ec042c128e217a7c500355
Parent: 7ed5cb2b73d0c4165c0504c95454fade0c0bf3d9
Author: Akinobu Mita [EMAIL PROTECTED]
AuthorDate: Thu Jul 19 01:49:12 2007 -0700
Committer:  Linus Torvalds [EMAIL PROTECTED]
CommitDate: Thu Jul 19 10:04:50 2007 -0700

hugetlb: use set_compound_page_dtor

Use appropriate accessor function to set compound page destructor
function.

Cc:  William Irwin [EMAIL PROTECTED]
Signed-off-by: Akinobu Mita [EMAIL PROTECTED]
Acked-by: Adam Litke [EMAIL PROTECTED]
Signed-off-by: Andrew Morton [EMAIL PROTECTED]
Signed-off-by: Linus Torvalds [EMAIL PROTECTED]
---
 mm/hugetlb.c |2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/mm/hugetlb.c b/mm/hugetlb.c
index 2d7611c..f127940 100644
--- a/mm/hugetlb.c
+++ b/mm/hugetlb.c
@@ -208,7 +208,7 @@ static void update_and_free_page(struct page *page)
1  PG_dirty | 1  PG_active | 1  
PG_reserved |
1  PG_private | 1 PG_writeback);
}
-   page[1].lru.next = NULL;
+   set_compound_page_dtor(page, NULL);
set_page_refcounted(page);
__free_pages(page, HUGETLB_PAGE_ORDER);
 }
-
To unsubscribe from this list: send the line unsubscribe git-commits-head in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Typo: fro - from

2007-07-19 Thread Linux Kernel Mailing List
Gitweb: 
http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=4b8a8b812edd7067fffcc4a85b8aa3adae081535
Commit: 4b8a8b812edd7067fffcc4a85b8aa3adae081535
Parent: aa781aeb49752e5654241b53368c80362ad7bea3
Author: Rolf Eike Beer [EMAIL PROTECTED]
AuthorDate: Thu Jul 19 01:48:33 2007 -0700
Committer:  Linus Torvalds [EMAIL PROTECTED]
CommitDate: Thu Jul 19 10:04:47 2007 -0700

Typo: fro - from

Signed-off-by: Rolf Eike Beer [EMAIL PROTECTED]
Signed-off-by: Andrew Morton [EMAIL PROTECTED]
Signed-off-by: Linus Torvalds [EMAIL PROTECTED]
---
 Documentation/console/console.txt |2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/Documentation/console/console.txt 
b/Documentation/console/console.txt
index d3e1744..877a1b2 100644
--- a/Documentation/console/console.txt
+++ b/Documentation/console/console.txt
@@ -29,7 +29,7 @@ In newer kernels, the following are also available:
 
 If sysfs is enabled, the contents of /sys/class/vtconsole can be
 examined. This shows the console backends currently registered by the
-system which are named vtconn where n is an integer fro 0 to 15. Thus:
+system which are named vtconn where n is an integer from 0 to 15. Thus:
 
ls /sys/class/vtconsole
.  ..  vtcon0  vtcon1
-
To unsubscribe from this list: send the line unsubscribe git-commits-head in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


freezer: run show_state() when freezing times out

2007-07-19 Thread Linux Kernel Mailing List
Gitweb: 
http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=328616e3b76859f1abdd08a8df1ddbb7bb81f807
Commit: 328616e3b76859f1abdd08a8df1ddbb7bb81f807
Parent: 3ee6dafc677a68e461a7ddafc94a580ebab80735
Author: Andrew Morton [EMAIL PROTECTED]
AuthorDate: Thu Jul 19 01:47:26 2007 -0700
Committer:  Linus Torvalds [EMAIL PROTECTED]
CommitDate: Thu Jul 19 10:04:42 2007 -0700

freezer: run show_state() when freezing times out

To see which tasks are stuck where.

Cc: Rafael J. Wysocki [EMAIL PROTECTED]
Cc: Oleg Nesterov [EMAIL PROTECTED]
Cc: Alan Stern [EMAIL PROTECTED]
Signed-off-by: Andrew Morton [EMAIL PROTECTED]
Signed-off-by: Linus Torvalds [EMAIL PROTECTED]
---
 kernel/power/process.c |1 +
 1 files changed, 1 insertions(+), 0 deletions(-)

diff --git a/kernel/power/process.c b/kernel/power/process.c
index e0233d8..b850173 100644
--- a/kernel/power/process.c
+++ b/kernel/power/process.c
@@ -157,6 +157,7 @@ static unsigned int try_to_freeze_tasks(int 
freeze_user_space)
freeze_user_space ? user space processes :
kernel threads,
TIMEOUT / HZ, todo);
+   show_state();
read_lock(tasklist_lock);
do_each_thread(g, p) {
if (freeze_user_space  !is_user_space(p))
-
To unsubscribe from this list: send the line unsubscribe git-commits-head in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Freezer: use __set_current_state in refrigerator

2007-07-19 Thread Linux Kernel Mailing List
Gitweb: 
http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=f4a3a7d60c9c9a961e4c970f6eb41dd1c9d3ec21
Commit: f4a3a7d60c9c9a961e4c970f6eb41dd1c9d3ec21
Parent: 0c1eecfb345401629aa57c9d3b077273e56c45a7
Author: Rafael J. Wysocki [EMAIL PROTECTED]
AuthorDate: Thu Jul 19 01:47:33 2007 -0700
Committer:  Linus Torvalds [EMAIL PROTECTED]
CommitDate: Thu Jul 19 10:04:42 2007 -0700

Freezer: use __set_current_state in refrigerator

Use __set_current_state() as appropriate in refrigerator() instead of
accessing current-state directly.

Signed-off-by: Rafael J. Wysocki [EMAIL PROTECTED]
Acked-by: Pavel Machek [EMAIL PROTECTED]
Cc: Gautham R Shenoy [EMAIL PROTECTED]
Cc: Oleg Nesterov [EMAIL PROTECTED]
Signed-off-by: Andrew Morton [EMAIL PROTECTED]
Signed-off-by: Linus Torvalds [EMAIL PROTECTED]
---
 kernel/power/process.c |2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/kernel/power/process.c b/kernel/power/process.c
index e1bcded..9b5301c 100644
--- a/kernel/power/process.c
+++ b/kernel/power/process.c
@@ -72,7 +72,7 @@ void refrigerator(void)
schedule();
}
pr_debug(%s left refrigerator\n, current-comm);
-   current-state = save;
+   __set_current_state(save);
 }
 
 static void freeze_task(struct task_struct *p)
-
To unsubscribe from this list: send the line unsubscribe git-commits-head in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


coda: use ilookup5

2007-07-19 Thread Linux Kernel Mailing List
Gitweb: 
http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=ed31a7dd636b296746c131b7386023aa1ef84309
Commit: ed31a7dd636b296746c131b7386023aa1ef84309
Parent: fac1f0e34026a656174102ebad4d1cd71cd4fe2c
Author: Jan Harkes [EMAIL PROTECTED]
AuthorDate: Thu Jul 19 01:48:44 2007 -0700
Committer:  Linus Torvalds [EMAIL PROTECTED]
CommitDate: Thu Jul 19 10:04:48 2007 -0700

coda: use ilookup5

Signed-off-by: Jan Harkes [EMAIL PROTECTED]
Signed-off-by: Andrew Morton [EMAIL PROTECTED]
Signed-off-by: Linus Torvalds [EMAIL PROTECTED]
---
 fs/coda/cnode.c |7 +--
 1 files changed, 1 insertions(+), 6 deletions(-)

diff --git a/fs/coda/cnode.c b/fs/coda/cnode.c
index 28c8727..a7a7809 100644
--- a/fs/coda/cnode.c
+++ b/fs/coda/cnode.c
@@ -55,11 +55,6 @@ static int coda_set_inode(struct inode *inode, void *data)
return 0;
 }
 
-static int coda_fail_inode(struct inode *inode, void *data)
-{
-   return -1;
-}
-
 struct inode * coda_iget(struct super_block * sb, struct CodaFid * fid,
 struct coda_vattr * attr)
 {
@@ -141,7 +136,7 @@ struct inode *coda_fid_to_inode(struct CodaFid *fid, struct 
super_block *sb)
return NULL;
}
 
-   inode = iget5_locked(sb, hash, coda_test_inode, coda_fail_inode, fid);
+   inode = ilookup5(sb, hash, coda_test_inode, fid);
if ( !inode )
return NULL;
 
-
To unsubscribe from this list: send the line unsubscribe git-commits-head in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


drivers/edac-new-i82443bxgz-mc-driver: mark as broken

2007-07-19 Thread Linux Kernel Mailing List
Gitweb: 
http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=28f96eeafc89643d411d54c258788a8573576127
Commit: 28f96eeafc89643d411d54c258788a8573576127
Parent: 5a2c675c891960f86c025d4ab3d3904364bf4f96
Author: Andrew Morton [EMAIL PROTECTED]
AuthorDate: Thu Jul 19 01:49:45 2007 -0700
Committer:  Linus Torvalds [EMAIL PROTECTED]
CommitDate: Thu Jul 19 10:04:53 2007 -0700

drivers/edac-new-i82443bxgz-mc-driver: mark as broken

It will claim the PCI devices from under intel_agp.ko's feet.  Greg is 
brewing
some fix for that.

Cc: Douglas Thompson [EMAIL PROTECTED]
Cc: Tim Small [EMAIL PROTECTED]
Cc: Greg KH [EMAIL PROTECTED]
Signed-off-by: Andrew Morton [EMAIL PROTECTED]
Signed-off-by: Linus Torvalds [EMAIL PROTECTED]
---
 drivers/edac/Kconfig |1 +
 1 files changed, 1 insertions(+), 0 deletions(-)

diff --git a/drivers/edac/Kconfig b/drivers/edac/Kconfig
index b56e478..e8c4a2b 100644
--- a/drivers/edac/Kconfig
+++ b/drivers/edac/Kconfig
@@ -76,6 +76,7 @@ config EDAC_E752X
 config EDAC_I82443BXGX
tristate Intel 82443BX/GX (440BX/GX)
depends on EDAC_MM_EDAC  PCI  X86_32
+   depends on BROKEN
help
  Support for error detection and correction on the Intel
  82443BX/GX memory controllers (440BX/GX chipsets).
-
To unsubscribe from this list: send the line unsubscribe git-commits-head in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


docbook: don't reference file without kernel-doc

2007-07-19 Thread Linux Kernel Mailing List
Gitweb: 
http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=86fd6dfc0990d81123dca19541554426c9e9de3e
Commit: 86fd6dfc0990d81123dca19541554426c9e9de3e
Parent: cdccb316c0860b26ad52f622a7592122a62d02b4
Author: Randy Dunlap [EMAIL PROTECTED]
AuthorDate: Thu Jul 19 01:48:25 2007 -0700
Committer:  Linus Torvalds [EMAIL PROTECTED]
CommitDate: Thu Jul 19 10:04:45 2007 -0700

docbook: don't reference file without kernel-doc

Remove include/linux/rmap.h from kernel-api.tmpl since it no longer
contains kernel-doc.  Fixes this warning:

Warning(linux-2.6.22//include/linux/rmap.h): no structured comments found

Signed-off-by: Randy Dunlap [EMAIL PROTECTED]
Signed-off-by: Andrew Morton [EMAIL PROTECTED]
Signed-off-by: Linus Torvalds [EMAIL PROTECTED]
---
 Documentation/DocBook/kernel-api.tmpl |1 -
 1 files changed, 0 insertions(+), 1 deletions(-)

diff --git a/Documentation/DocBook/kernel-api.tmpl 
b/Documentation/DocBook/kernel-api.tmpl
index a0af560..eb42bf9 100644
--- a/Documentation/DocBook/kernel-api.tmpl
+++ b/Documentation/DocBook/kernel-api.tmpl
@@ -159,7 +159,6 @@ X!Ilib/string.c
 !Earch/i386/lib/usercopy.c
  /sect1
  sect1titleMore Memory Management Functions/title
-!Iinclude/linux/rmap.h
 !Emm/readahead.c
 !Emm/filemap.c
 !Emm/memory.c
-
To unsubscribe from this list: send the line unsubscribe git-commits-head in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


drivers/edac: mc sysfs add missing mem types

2007-07-19 Thread Linux Kernel Mailing List
Gitweb: 
http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=1a9b85e6b36cdd046b0a354c38af20a7155272b8
Commit: 1a9b85e6b36cdd046b0a354c38af20a7155272b8
Parent: e27e3dac651771fe3250f6305dee277bce29fc5d
Author: Dave Jiang [EMAIL PROTECTED]
AuthorDate: Thu Jul 19 01:49:38 2007 -0700
Committer:  Linus Torvalds [EMAIL PROTECTED]
CommitDate: Thu Jul 19 10:04:53 2007 -0700

drivers/edac: mc sysfs add missing mem types

Adding missing mem types for use in the sysfs presentation file for
Memory Controller device objects.

Signed-off-by: Dave Jiang [EMAIL PROTECTED]
Signed-off-by: Doug Thompson [EMAIL PROTECTED]
Signed-off-by: Andrew Morton [EMAIL PROTECTED]
Signed-off-by: Linus Torvalds [EMAIL PROTECTED]
---
 drivers/edac/edac_mc_sysfs.c |5 -
 1 files changed, 4 insertions(+), 1 deletions(-)

diff --git a/drivers/edac/edac_mc_sysfs.c b/drivers/edac/edac_mc_sysfs.c
index 35bcf92..30780ef 100644
--- a/drivers/edac/edac_mc_sysfs.c
+++ b/drivers/edac/edac_mc_sysfs.c
@@ -67,7 +67,10 @@ static const char *mem_types[] = {
[MEM_RDR] = Registered-SDR,
[MEM_DDR] = Unbuffered-DDR,
[MEM_RDDR] = Registered-DDR,
-   [MEM_RMBS] = RMBS
+   [MEM_RMBS] = RMBS,
+   [MEM_DDR2] = Unbuffered-DDR2,
+   [MEM_FB_DDR2] = FullyBuffered-DDR2,
+   [MEM_RDDR2] = Registered-DDR2
 };
 
 static const char *dev_types[] = {
-
To unsubscribe from this list: send the line unsubscribe git-commits-head in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


drivers/edac: add info kconfig

2007-07-19 Thread Linux Kernel Mailing List
Gitweb: 
http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=8cb2a39831b25f2289a2a6571666a135e475035c
Commit: 8cb2a39831b25f2289a2a6571666a135e475035c
Parent: d391a7b8147d12b0e5141fb65829856fb0c289dc
Author: Douglas Thompson [EMAIL PROTECTED]
AuthorDate: Thu Jul 19 01:50:12 2007 -0700
Committer:  Linus Torvalds [EMAIL PROTECTED]
CommitDate: Thu Jul 19 10:04:55 2007 -0700

drivers/edac: add info kconfig

Kconfig - modified the help of EDAC

Signed-off-by: Douglas Thompson [EMAIL PROTECTED]
Signed-off-by: Andrew Morton [EMAIL PROTECTED]
Signed-off-by: Linus Torvalds [EMAIL PROTECTED]
---
 drivers/edac/Kconfig |5 +++--
 1 files changed, 3 insertions(+), 2 deletions(-)

diff --git a/drivers/edac/Kconfig b/drivers/edac/Kconfig
index e8de70c..9356c68 100644
--- a/drivers/edac/Kconfig
+++ b/drivers/edac/Kconfig
@@ -13,8 +13,9 @@ menuconfig EDAC
help
  EDAC is designed to report errors in the core system.
  These are low-level errors that are reported in the CPU or
- supporting chipset: memory errors, cache errors, PCI errors,
- thermal throttling, etc..  If unsure, select 'Y'.
+ supporting chipset or other subsystems:
+ memory errors, cache errors, PCI errors, thermal throttling, etc..
+ If unsure, select 'Y'.
 
  If this code is reporting problems on your system, please
  see the EDAC project web pages for more information at:
-
To unsubscribe from this list: send the line unsubscribe git-commits-head in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


include/linux/pci_id.h: add amd northbridge defines

2007-07-19 Thread Linux Kernel Mailing List
Gitweb: 
http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=53078ca84b1c01f36c306d1f52e2f88c7bb2f9e4
Commit: 53078ca84b1c01f36c306d1f52e2f88c7bb2f9e4
Parent: 1c52152b3008b7bdcc3b94d0be4d0b814dce1530
Author: Douglas Thompson [EMAIL PROTECTED]
AuthorDate: Thu Jul 19 01:50:17 2007 -0700
Committer:  Linus Torvalds [EMAIL PROTECTED]
CommitDate: Thu Jul 19 10:04:55 2007 -0700

include/linux/pci_id.h: add amd northbridge defines

pci_ids.h needs two of the AMD NB device-ids namely, Addressmap and the 
Memory
Controller devices

This patch adds those to the pci_id.h include file

Signed-off-by:  Douglas Thompson [EMAIL PROTECTED]
Cc: Alan Cox [EMAIL PROTECTED]
Signed-off-by: Andrew Morton [EMAIL PROTECTED]
Signed-off-by: Linus Torvalds [EMAIL PROTECTED]
---
 include/linux/pci_ids.h |2 ++
 1 files changed, 2 insertions(+), 0 deletions(-)

diff --git a/include/linux/pci_ids.h b/include/linux/pci_ids.h
index 7ec01b7..b15c649 100644
--- a/include/linux/pci_ids.h
+++ b/include/linux/pci_ids.h
@@ -495,6 +495,8 @@
 
 #define PCI_VENDOR_ID_AMD  0x1022
 #define PCI_DEVICE_ID_AMD_K8_NB0x1100
+#define PCI_DEVICE_ID_AMD_K8_NB_ADDRMAP0x1101
+#define PCI_DEVICE_ID_AMD_K8_NB_MEMCTL 0x1102
 #define PCI_DEVICE_ID_AMD_K8_NB_MISC   0x1103
 #define PCI_DEVICE_ID_AMD_LANCE0x2000
 #define PCI_DEVICE_ID_AMD_LANCE_HOME   0x2001
-
To unsubscribe from this list: send the line unsubscribe git-commits-head in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


nfsd: remove unnecessary NULL checks from nfsd_cross_mnt

2007-07-19 Thread Linux Kernel Mailing List
Gitweb: 
http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=5d3dbbeaf56d0365ac6b5c0a0da0bd31cc4781e1
Commit: 5d3dbbeaf56d0365ac6b5c0a0da0bd31cc4781e1
Parent: 9a25b96c1f6e1a3c85c9524f3046c7c75d8fecc7
Author: J. Bruce Fields [EMAIL PROTECTED]
AuthorDate: Thu Jul 19 01:49:19 2007 -0700
Committer:  Linus Torvalds [EMAIL PROTECTED]
CommitDate: Thu Jul 19 10:04:52 2007 -0700

nfsd: remove unnecessary NULL checks from nfsd_cross_mnt

We can now assume that rqst_exp_get_by_name() does not return NULL; so clean
up some unnecessary checks.

Signed-off-by: J. Bruce Fields [EMAIL PROTECTED]
Acked-by: Neil Brown [EMAIL PROTECTED]
Signed-off-by: Andrew Morton [EMAIL PROTECTED]
Signed-off-by: Linus Torvalds [EMAIL PROTECTED]
---
 fs/nfsd/vfs.c |4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/fs/nfsd/vfs.c b/fs/nfsd/vfs.c
index b8da5dd..5c97d0e 100644
--- a/fs/nfsd/vfs.c
+++ b/fs/nfsd/vfs.c
@@ -120,14 +120,14 @@ nfsd_cross_mnt(struct svc_rqst *rqstp, struct dentry 
**dpp,
mntput(mnt);
goto out;
}
-   if (exp2  ((exp-ex_flags  NFSEXP_CROSSMOUNT) || EX_NOHIDE(exp2))) {
+   if ((exp-ex_flags  NFSEXP_CROSSMOUNT) || EX_NOHIDE(exp2)) {
/* successfully crossed mount point */
exp_put(exp);
*expp = exp2;
dput(dentry);
*dpp = mounts;
} else {
-   if (exp2) exp_put(exp2);
+   exp_put(exp2);
dput(mounts);
}
mntput(mnt);
-
To unsubscribe from this list: send the line unsubscribe git-commits-head in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


stacktrace: fix header file for !CONFIG_STACKTRACE

2007-07-19 Thread Linux Kernel Mailing List
Gitweb: 
http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=3b5ad0797c0e4049001f961a8b58f1d0ce532072
Commit: 3b5ad0797c0e4049001f961a8b58f1d0ce532072
Parent: c71063c9c9dc232d0d51f936f237f7dc5681e8e3
Author: Johannes Berg [EMAIL PROTECTED]
AuthorDate: Thu Jul 19 01:49:02 2007 -0700
Committer:  Linus Torvalds [EMAIL PROTECTED]
CommitDate: Thu Jul 19 10:04:49 2007 -0700

stacktrace: fix header file for !CONFIG_STACKTRACE

The print_stack_trace macro in stacktrace.h has a wrong number of
arguments, fix it.

Signed-off-by: Johannes Berg [EMAIL PROTECTED]
Cc: Ingo Molnar [EMAIL PROTECTED]
Cc: Peter Zijlstra [EMAIL PROTECTED]
Cc: Arjan van de Ven [EMAIL PROTECTED]
Signed-off-by: Andrew Morton [EMAIL PROTECTED]
Signed-off-by: Linus Torvalds [EMAIL PROTECTED]
---
 include/linux/stacktrace.h |2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/include/linux/stacktrace.h b/include/linux/stacktrace.h
index 1d2b084..e7fa657 100644
--- a/include/linux/stacktrace.h
+++ b/include/linux/stacktrace.h
@@ -13,7 +13,7 @@ extern void save_stack_trace(struct stack_trace *trace);
 extern void print_stack_trace(struct stack_trace *trace, int spaces);
 #else
 # define save_stack_trace(trace)   do { } while (0)
-# define print_stack_trace(trace)  do { } while (0)
+# define print_stack_trace(trace, spaces)  do { } while (0)
 #endif
 
 #endif
-
To unsubscribe from this list: send the line unsubscribe git-commits-head in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Suspend MAINTAINERS update

2007-07-19 Thread Linux Kernel Mailing List
Gitweb: 
http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=95a631e2d9853c9138e14fbaa9a51e6451f040b4
Commit: 95a631e2d9853c9138e14fbaa9a51e6451f040b4
Parent: 77afcf78a2ded9a91838734234949c0ead5feb12
Author: Pavel Machek [EMAIL PROTECTED]
AuthorDate: Thu Jul 19 01:47:42 2007 -0700
Committer:  Linus Torvalds [EMAIL PROTECTED]
CommitDate: Thu Jul 19 10:04:43 2007 -0700

Suspend MAINTAINERS update

I guess it is time to clarify that suspend and hibernation are separate
things, and add Rafael as a maintainer.  Plus, people blame us for suspend
problems, anyway, I guess it is fair to mark us as suspend maintainers,
too.

Signed-off-by: Pavel Machek [EMAIL PROTECTED]
Acked-by: Rafael J. Wysocki [EMAIL PROTECTED]
Signed-off-by: Andrew Morton [EMAIL PROTECTED]
Signed-off-by: Linus Torvalds [EMAIL PROTECTED]
---
 MAINTAINERS |   12 +++-
 1 files changed, 11 insertions(+), 1 deletions(-)

diff --git a/MAINTAINERS b/MAINTAINERS
index f6b2665..70e502e 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -3289,9 +3289,19 @@ M:   [EMAIL PROTECTED]
 L: [EMAIL PROTECTED]
 S: Supported
 
-SOFTWARE SUSPEND:
+HIBERNATION (aka Software Suspend, aka swsusp):
 P: Pavel Machek
 M: [EMAIL PROTECTED]
+P: Rafael J. Wysocki
+M: [EMAIL PROTECTED]
+L: [EMAIL PROTECTED]
+S: Supported
+
+SUSPEND TO RAM:
+P: Pavel Machek
+M: [EMAIL PROTECTED]
+P: Rafael J. Wysocki
+M: [EMAIL PROTECTED]
 L: [EMAIL PROTECTED]
 S: Maintained
 
-
To unsubscribe from this list: send the line unsubscribe git-commits-head in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


gpio calls don't need i/o barriers

2007-07-19 Thread Linux Kernel Mailing List
Gitweb: 
http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=a0a9983509f45b2225ca87fdcf7b40ea916834ed
Commit: a0a9983509f45b2225ca87fdcf7b40ea916834ed
Parent: e53252d97e670a38b1d2e9723b48077bba11ddda
Author: David Brownell [EMAIL PROTECTED]
AuthorDate: Thu Jul 19 01:47:52 2007 -0700
Committer:  Linus Torvalds [EMAIL PROTECTED]
CommitDate: Thu Jul 19 10:04:43 2007 -0700

gpio calls don't need i/o barriers

Clarify that drivers using the GPIO operations don't need to issue io
barrier instructions themselves.  Previously this wasn't clear, and at
least one platform assumed otherwise (and would thus break various
otherwise-portable drivers which don't issue barriers).

Signed-off-by: David Brownell [EMAIL PROTECTED]
Signed-off-by: Andrew Morton [EMAIL PROTECTED]
Signed-off-by: Linus Torvalds [EMAIL PROTECTED]
---
 Documentation/gpio.txt |3 +++
 1 files changed, 3 insertions(+), 0 deletions(-)

diff --git a/Documentation/gpio.txt b/Documentation/gpio.txt
index 36af58e..218a865 100644
--- a/Documentation/gpio.txt
+++ b/Documentation/gpio.txt
@@ -75,6 +75,9 @@ using the include file:
 If you stick to this convention then it'll be easier for other developers to
 see what your code is doing, and help maintain it.
 
+Note that these operations include I/O barriers on platforms which need to
+use them; drivers don't need to add them explicitly.
+
 
 Identifying GPIOs
 -
-
To unsubscribe from this list: send the line unsubscribe git-commits-head in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


coda: update module information

2007-07-19 Thread Linux Kernel Mailing List
Gitweb: 
http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=5b7f13bd26a0c1d394a1a1f2bb6de5130c3a3843
Commit: 5b7f13bd26a0c1d394a1a1f2bb6de5130c3a3843
Parent: 3cf01f28c303be34f18cb4f6204cf1bdfe12ba7c
Author: Jan Harkes [EMAIL PROTECTED]
AuthorDate: Thu Jul 19 01:48:52 2007 -0700
Committer:  Linus Torvalds [EMAIL PROTECTED]
CommitDate: Thu Jul 19 10:04:49 2007 -0700

coda: update module information

Signed-off-by: Jan Harkes [EMAIL PROTECTED]
Signed-off-by: Andrew Morton [EMAIL PROTECTED]
Signed-off-by: Linus Torvalds [EMAIL PROTECTED]
---
 fs/coda/psdev.c |   17 -
 1 files changed, 8 insertions(+), 9 deletions(-)

diff --git a/fs/coda/psdev.c b/fs/coda/psdev.c
index e3a0a41..dcc6aea 100644
--- a/fs/coda/psdev.c
+++ b/fs/coda/psdev.c
@@ -373,21 +373,20 @@ out:
return err;
 }
 
-
-MODULE_AUTHOR(Peter J. Braam [EMAIL PROTECTED]);
+MODULE_AUTHOR(Jan Harkes, Peter J. Braam);
+MODULE_DESCRIPTION(Coda Distributed File System VFS interface);
+MODULE_ALIAS_CHARDEV_MAJOR(CODA_PSDEV_MAJOR);
 MODULE_LICENSE(GPL);
+#ifdef CONFIG_CODA_FS_OLD_API
+MODULE_VERSION(5.3.21);
+#else
+MODULE_VERSION(6.6);
+#endif
 
 static int __init init_coda(void)
 {
int status;
int i;
-   printk(KERN_INFO Coda Kernel/Venus communications, 
-#ifdef CONFIG_CODA_FS_OLD_API
-  v5.3.20
-#else
-  v6.0.0
-#endif
-  , [EMAIL PROTECTED]);
 
status = coda_init_inodecache();
if (status)
-
To unsubscribe from this list: send the line unsubscribe git-commits-head in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


drivers/edac: add RDDR2 memory types

2007-07-19 Thread Linux Kernel Mailing List
Gitweb: 
http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=d56933e018b14fc7cad322f413eecc6cb6edf12e
Commit: d56933e018b14fc7cad322f413eecc6cb6edf12e
Parent: 2da1c119fd999cb834b4fe0c1a5a8c36195df1cb
Author: Douglas Thompson [EMAIL PROTECTED]
AuthorDate: Thu Jul 19 01:49:32 2007 -0700
Committer:  Linus Torvalds [EMAIL PROTECTED]
CommitDate: Thu Jul 19 10:04:53 2007 -0700

drivers/edac: add RDDR2 memory types

Add Registered RDDR2 memory types for displaying DDR2 memories

Signed-off-by: Douglas Thompson [EMAIL PROTECTED]
Signed-off-by: Andrew Morton [EMAIL PROTECTED]
Signed-off-by: Linus Torvalds [EMAIL PROTECTED]
---
 drivers/edac/edac_mc.h |2 ++
 1 files changed, 2 insertions(+), 0 deletions(-)

diff --git a/drivers/edac/edac_mc.h b/drivers/edac/edac_mc.h
index fec12f7..fdc811d 100644
--- a/drivers/edac/edac_mc.h
+++ b/drivers/edac/edac_mc.h
@@ -126,6 +126,7 @@ enum mem_type {
MEM_RMBS,   /* Rambus DRAM */
MEM_DDR2,   /* DDR2 RAM */
MEM_FB_DDR2,/* fully buffered DDR2 */
+   MEM_RDDR2,  /* Registered DDR2 RAM */
 };
 
 #define MEM_FLAG_EMPTY BIT(MEM_EMPTY)
@@ -141,6 +142,7 @@ enum mem_type {
 #define MEM_FLAG_RMBS  BIT(MEM_RMBS)
 #define MEM_FLAG_DDR2   BIT(MEM_DDR2)
 #define MEM_FLAG_FB_DDR2BIT(MEM_FB_DDR2)
+#define MEM_FLAG_RDDR2  BIT(MEM_RDDR2)
 
 /* chipset Error Detection and Correction capabilities and mode */
 enum edac_type {
-
To unsubscribe from this list: send the line unsubscribe git-commits-head in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Freezer: remove redundant check in try_to_freeze_tasks

2007-07-19 Thread Linux Kernel Mailing List
Gitweb: 
http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=c2cf7d87d804c66e063829d5ca739053e901dc15
Commit: c2cf7d87d804c66e063829d5ca739053e901dc15
Parent: e7cd8a722745a01bcfac4d4a52d53391d177da20
Author: Rafael J. Wysocki [EMAIL PROTECTED]
AuthorDate: Thu Jul 19 01:47:35 2007 -0700
Committer:  Linus Torvalds [EMAIL PROTECTED]
CommitDate: Thu Jul 19 10:04:42 2007 -0700

Freezer: remove redundant check in try_to_freeze_tasks

We don't need to check if todo is positive before calling time_after() in
try_to_freeze_tasks(), because if todo is zero at this point, the loop will 
be
broken anyway due to the while () condition being false.

Signed-off-by: Rafael J. Wysocki [EMAIL PROTECTED]
Acked-by: Pavel Machek [EMAIL PROTECTED]
Cc: Gautham R Shenoy [EMAIL PROTECTED]
Cc: Oleg Nesterov [EMAIL PROTECTED]
Signed-off-by: Andrew Morton [EMAIL PROTECTED]
Signed-off-by: Linus Torvalds [EMAIL PROTECTED]
---
 kernel/power/process.c |2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/kernel/power/process.c b/kernel/power/process.c
index 00cdbe5..3434940 100644
--- a/kernel/power/process.c
+++ b/kernel/power/process.c
@@ -149,7 +149,7 @@ static int try_to_freeze_tasks(int freeze_user_space)
} while_each_thread(g, p);
read_unlock(tasklist_lock);
yield();/* Yield is okay here */
-   if (todo  time_after(jiffies, end_time))
+   if (time_after(jiffies, end_time))
break;
} while (todo);
 
-
To unsubscribe from this list: send the line unsubscribe git-commits-head in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


powerpc: Put allocated ELF notes in read-only data segment

2007-07-19 Thread Linux Kernel Mailing List
Gitweb: 
http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=8fb775ee582999ea45503f0c4e9393c2df065a81
Commit: 8fb775ee582999ea45503f0c4e9393c2df065a81
Parent: caf45dd92677b2001123cc06b5835052ccfee76f
Author: Roland McGrath [EMAIL PROTECTED]
AuthorDate: Thu Jul 19 01:48:38 2007 -0700
Committer:  Linus Torvalds [EMAIL PROTECTED]
CommitDate: Thu Jul 19 10:04:47 2007 -0700

powerpc: Put allocated ELF notes in read-only data segment

This changes the powerpc linker script to use the asm-generic NOTES macro so
that ELF note sections with SHF_ALLOC set are linked into the kernel image
along with other read-only data.  The PT_NOTE also points to their location.

This paves the way for putting useful build-time information into ELF notes
that can be found easily later in a kernel memory dump.

Signed-off-by: Roland McGrath [EMAIL PROTECTED]
Cc: Paul Mackerras [EMAIL PROTECTED]
Cc: Benjamin Herrenschmidt [EMAIL PROTECTED]
Signed-off-by: Andrew Morton [EMAIL PROTECTED]
Signed-off-by: Linus Torvalds [EMAIL PROTECTED]
---
 arch/powerpc/kernel/vmlinux.lds.S |2 ++
 1 files changed, 2 insertions(+), 0 deletions(-)

diff --git a/arch/powerpc/kernel/vmlinux.lds.S 
b/arch/powerpc/kernel/vmlinux.lds.S
index 39fda6e..7a1f5a0 100644
--- a/arch/powerpc/kernel/vmlinux.lds.S
+++ b/arch/powerpc/kernel/vmlinux.lds.S
@@ -63,6 +63,8 @@ SECTIONS
__stop___ex_table = .;
}
 
+   NOTES
+
BUG_TABLE
 
 /*
-
To unsubscribe from this list: send the line unsubscribe git-commits-head in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


drivers/edac: update MAINTAINERS files for EDAC

2007-07-19 Thread Linux Kernel Mailing List
Gitweb: 
http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=6bc7840411b8c7fe11e1879d882c88119d1c033e
Commit: 6bc7840411b8c7fe11e1879d882c88119d1c033e
Parent: 8cb2a39831b25f2289a2a6571666a135e475035c
Author: Douglas Thompson [EMAIL PROTECTED]
AuthorDate: Thu Jul 19 01:50:12 2007 -0700
Committer:  Linus Torvalds [EMAIL PROTECTED]
CommitDate: Thu Jul 19 10:04:55 2007 -0700

drivers/edac: update MAINTAINERS files for EDAC

Added new maintainers for the new EDAC drivers.

Signed-off-by: Douglas Thompson [EMAIL PROTECTED]
Signed-off-by: Andrew Morton [EMAIL PROTECTED]
Signed-off-by: Linus Torvalds [EMAIL PROTECTED]
---
 MAINTAINERS |   21 +
 1 files changed, 21 insertions(+), 0 deletions(-)

diff --git a/MAINTAINERS b/MAINTAINERS
index d471971..6b51ed6 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -1371,6 +1371,27 @@ L:   [EMAIL PROTECTED]
 W: bluesmoke.sourceforge.net
 S: Maintained
 
+EDAC-I82443BXGX
+P: Tim Small
+M: [EMAIL PROTECTED]
+L: [EMAIL PROTECTED]
+W: bluesmoke.sourceforge.net
+S: Maintained
+
+EDAC-I3000
+P: Jason Uhlenkott
+M: [EMAIL PROTECTED]
+L: [EMAIL PROTECTED]
+W: bluesmoke.sourceforge.net
+S: Maintained
+
+EDAC-I5000
+P: Doug Thompson
+M: [EMAIL PROTECTED]
+L: [EMAIL PROTECTED]
+W: bluesmoke.sourceforge.net
+S: Maintained
+
 EDAC-R82600
 P: Tim Small
 M: [EMAIL PROTECTED]
-
To unsubscribe from this list: send the line unsubscribe git-commits-head in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


m68knommu: start dump from exception stack

2007-07-19 Thread Linux Kernel Mailing List
Gitweb: 
http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=a4c8b915918b0c641b844795a4de4e954582
Commit: a4c8b915918b0c641b844795a4de4e954582
Parent: 2502b667ea835ee16685c74b2a0d89ba8afe117a
Author: Greg Ungerer [EMAIL PROTECTED]
AuthorDate: Thu Jul 19 01:49:14 2007 -0700
Committer:  Linus Torvalds [EMAIL PROTECTED]
CommitDate: Thu Jul 19 10:04:51 2007 -0700

m68knommu: start dump from exception stack

In die_if_kernel() start the stack dump at the exception-time SP, not at the
SP with all the saved registers; the stack below exception-time sp contains
only exception-saved values and is already printed in details just before.

Signed-off-by: Philippe De Muyter [EMAIL PROTECTED]
Signed-off-by: Greg Ungerer [EMAIL PROTECTED]
Signed-off-by: Andrew Morton [EMAIL PROTECTED]
Signed-off-by: Linus Torvalds [EMAIL PROTECTED]
---
 arch/m68knommu/kernel/traps.c |2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/arch/m68knommu/kernel/traps.c b/arch/m68knommu/kernel/traps.c
index 9c943a4..437a061 100644
--- a/arch/m68knommu/kernel/traps.c
+++ b/arch/m68knommu/kernel/traps.c
@@ -80,7 +80,7 @@ void die_if_kernel(char *str, struct pt_regs *fp, int nr)
 
printk(KERN_EMERG Process %s (pid: %d, stackpage=%08lx)\n,
current-comm, current-pid, PAGE_SIZE+(unsigned long)current);
-   show_stack(NULL, (unsigned long *)fp);
+   show_stack(NULL, (unsigned long *)(fp + 1));
add_taint(TAINT_DIE);
do_exit(SIGSEGV);
 }
-
To unsubscribe from this list: send the line unsubscribe git-commits-head in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


drivers/edac: i5000 define typo

2007-07-19 Thread Linux Kernel Mailing List
Gitweb: 
http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=977c76bd687585f4528c6c9c6966842955771f52
Commit: 977c76bd687585f4528c6c9c6966842955771f52
Parent: 53078ca84b1c01f36c306d1f52e2f88c7bb2f9e4
Author: Marisuz Kozlowski [EMAIL PROTECTED]
AuthorDate: Thu Jul 19 01:50:18 2007 -0700
Committer:  Linus Torvalds [EMAIL PROTECTED]
CommitDate: Thu Jul 19 10:04:55 2007 -0700

drivers/edac: i5000 define typo

Found a typo in one of the #defines in the driver

MTR_DIM_RANKS -- MTR_DIMM_RANK

Signed-off-by: Marisuz Kozlowski [EMAIL PROTECTED]
Signed-off-by: Douglas Thompson [EMAIL PROTECTED]
Signed-off-by: Andrew Morton [EMAIL PROTECTED]
Signed-off-by: Linus Torvalds [EMAIL PROTECTED]
---
 drivers/edac/i5000_edac.c |2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/drivers/edac/i5000_edac.c b/drivers/edac/i5000_edac.c
index efc8853..b5a9308 100644
--- a/drivers/edac/i5000_edac.c
+++ b/drivers/edac/i5000_edac.c
@@ -279,7 +279,7 @@
 #define MTR_DRAM_BANKS(mtr)mtr)  5)  0x1) ? 8 : 4)
 #define MTR_DRAM_BANKS_ADDR_BITS(mtr)  ((MTR_DRAM_BANKS(mtr) == 8) ? 3 : 2)
 #define MTR_DIMM_RANK(mtr) (((mtr)  4)  0x1)
-#define MTR_DIMM_RANK_ADDR_BITS(mtr)   (MTR_DIM_RANKS(mtr) ? 2 : 1)
+#define MTR_DIMM_RANK_ADDR_BITS(mtr)   (MTR_DIMM_RANK(mtr) ? 2 : 1)
 #define MTR_DIMM_ROWS(mtr) (((mtr)  2)  0x3)
 #define MTR_DIMM_ROWS_ADDR_BITS(mtr)   (MTR_DIMM_ROWS(mtr) + 13)
 #define MTR_DIMM_COLS(mtr) ((mtr)  0x3)
-
To unsubscribe from this list: send the line unsubscribe git-commits-head in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


s390: Put allocated ELF notes in read-only data segment

2007-07-19 Thread Linux Kernel Mailing List
Gitweb: 
http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=86ead9caf9a9f265f6065c46080d046230e25d78
Commit: 86ead9caf9a9f265f6065c46080d046230e25d78
Parent: 8fb775ee582999ea45503f0c4e9393c2df065a81
Author: Roland McGrath [EMAIL PROTECTED]
AuthorDate: Thu Jul 19 01:48:39 2007 -0700
Committer:  Linus Torvalds [EMAIL PROTECTED]
CommitDate: Thu Jul 19 10:04:47 2007 -0700

s390: Put allocated ELF notes in read-only data segment

This changes the s390 linker script to use the asm-generic NOTES macro so 
that
ELF note sections with SHF_ALLOC set are linked into the kernel image along
with other read-only data.  The PT_NOTE also points to their location.

This paves the way for putting useful build-time information into ELF notes
that can be found easily later in a kernel memory dump.

Signed-off-by: Roland McGrath [EMAIL PROTECTED]
Cc: Martin Schwidefsky [EMAIL PROTECTED]
Cc: Heiko Carstens [EMAIL PROTECTED]
Signed-off-by: Andrew Morton [EMAIL PROTECTED]
Signed-off-by: Linus Torvalds [EMAIL PROTECTED]
---
 arch/s390/kernel/vmlinux.lds.S |2 ++
 1 files changed, 2 insertions(+), 0 deletions(-)

diff --git a/arch/s390/kernel/vmlinux.lds.S b/arch/s390/kernel/vmlinux.lds.S
index 61ffd50..6ab7d4e 100644
--- a/arch/s390/kernel/vmlinux.lds.S
+++ b/arch/s390/kernel/vmlinux.lds.S
@@ -45,6 +45,8 @@ SECTIONS
   __ex_table : { *(__ex_table) }
   __stop___ex_table = .;
 
+  NOTES
+
   BUG_TABLE
 
   .data : {/* Data */
-
To unsubscribe from this list: send the line unsubscribe git-commits-head in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


x86_64: Put allocated ELF notes in read-only data segment

2007-07-19 Thread Linux Kernel Mailing List
Gitweb: 
http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=2e1d5b8f24a887caded5ae3ceb2f341d4fbd1861
Commit: 2e1d5b8f24a887caded5ae3ceb2f341d4fbd1861
Parent: cbe87121f1545bb3e98ae114519bf0c4db27d6ab
Author: Roland McGrath [EMAIL PROTECTED]
AuthorDate: Thu Jul 19 01:48:37 2007 -0700
Committer:  Linus Torvalds [EMAIL PROTECTED]
CommitDate: Thu Jul 19 10:04:47 2007 -0700

x86_64: Put allocated ELF notes in read-only data segment

This changes the x86_64 linker script to use the asm-generic NOTES macro so
that ELF note sections with SHF_ALLOC set are linked into the kernel image
along with other read-only data.  The PT_NOTE also points to their location.

This paves the way for putting useful build-time information into ELF notes
that can be found easily later in a kernel memory dump.

Signed-off-by: Roland McGrath [EMAIL PROTECTED]
Cc: Andi Kleen [EMAIL PROTECTED]
Signed-off-by: Andrew Morton [EMAIL PROTECTED]
Signed-off-by: Linus Torvalds [EMAIL PROTECTED]
---
 arch/x86_64/kernel/vmlinux.lds.S |4 +++-
 1 files changed, 3 insertions(+), 1 deletions(-)

diff --git a/arch/x86_64/kernel/vmlinux.lds.S b/arch/x86_64/kernel/vmlinux.lds.S
index 2259069..5c57ea4 100644
--- a/arch/x86_64/kernel/vmlinux.lds.S
+++ b/arch/x86_64/kernel/vmlinux.lds.S
@@ -48,7 +48,9 @@ SECTIONS
   __ex_table : AT(ADDR(__ex_table) - LOAD_OFFSET) { *(__ex_table) }
   __stop___ex_table = .;
 
-  BUG_TABLE
+  NOTES :text :note
+
+  BUG_TABLE :text
 
   RODATA
 
-
To unsubscribe from this list: send the line unsubscribe git-commits-head in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


kernel-doc: fix leading dot in man-mode output

2007-07-19 Thread Linux Kernel Mailing List
Gitweb: 
http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=cdccb316c0860b26ad52f622a7592122a62d02b4
Commit: cdccb316c0860b26ad52f622a7592122a62d02b4
Parent: 51f5a0c8f63990fcb6e09ed52be348df58c9e416
Author: Randy Dunlap [EMAIL PROTECTED]
AuthorDate: Thu Jul 19 01:48:25 2007 -0700
Committer:  Linus Torvalds [EMAIL PROTECTED]
CommitDate: Thu Jul 19 10:04:45 2007 -0700

kernel-doc: fix leading dot in man-mode output

If a parameter description begins with a '.', this indicates a request
for man mode output (*roff), so it needs special handling.

Problem case is in include/asm-i386/atomic.h for function
atomic_add_unless():
 * @u: ...unless v is equal to u.
This parameter description is currently not printed in man mode output.

[EMAIL PROTECTED]: cleanup]
Signed-off-by: Randy Dunlap [EMAIL PROTECTED]
Signed-off-by: Andrew Morton [EMAIL PROTECTED]
Signed-off-by: Linus Torvalds [EMAIL PROTECTED]
---
 scripts/kernel-doc |6 +-
 1 files changed, 5 insertions(+), 1 deletions(-)

diff --git a/scripts/kernel-doc b/scripts/kernel-doc
index f5862ab..1f58351 100755
--- a/scripts/kernel-doc
+++ b/scripts/kernel-doc
@@ -404,7 +404,11 @@ sub output_highlight {
print $lineprefix, $blankline;
} else {
$line =~ s/\\/\/g;
-   print $lineprefix, $line;
+   if ($output_mode eq man  substr($line, 0, 1) eq .) {
+   print \\$line;
+   } else {
+   print $lineprefix, $line;
+   }
}
print \n;
 }
-
To unsubscribe from this list: send the line unsubscribe git-commits-head in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


drivers/edac: fix ignored return i82875p

2007-07-19 Thread Linux Kernel Mailing List
Gitweb: 
http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=1c52152b3008b7bdcc3b94d0be4d0b814dce1530
Commit: 1c52152b3008b7bdcc3b94d0be4d0b814dce1530
Parent: 654ede200fe028373852bbca387ab4834ddb7228
Author: Douglas Thompson [EMAIL PROTECTED]
AuthorDate: Thu Jul 19 01:50:17 2007 -0700
Committer:  Linus Torvalds [EMAIL PROTECTED]
CommitDate: Thu Jul 19 10:04:55 2007 -0700

drivers/edac: fix ignored return i82875p

Compiling this module gave a warning that the return value of
'pci_bus_add_device()' was not checked.

This patch adds that check and an output message

Signed-off-by:  Douglas Thompson [EMAIL PROTECTED]
Cc: Alan Cox [EMAIL PROTECTED]
Signed-off-by: Andrew Morton [EMAIL PROTECTED]
Signed-off-by: Linus Torvalds [EMAIL PROTECTED]
---
 drivers/edac/i82875p_edac.c |8 +++-
 1 files changed, 7 insertions(+), 1 deletions(-)

diff --git a/drivers/edac/i82875p_edac.c b/drivers/edac/i82875p_edac.c
index 089ec39..ce5f005 100644
--- a/drivers/edac/i82875p_edac.c
+++ b/drivers/edac/i82875p_edac.c
@@ -270,6 +270,7 @@ static int i82875p_setup_overfl_dev(struct pci_dev *pdev,
 {
struct pci_dev *dev;
void __iomem *window;
+   int err;
 
*ovrfl_pdev = NULL;
*ovrfl_window = NULL;
@@ -287,7 +288,12 @@ static int i82875p_setup_overfl_dev(struct pci_dev *pdev,
if (dev == NULL)
return 1;
 
-   pci_bus_add_device(dev);
+   err = pci_bus_add_device(dev);
+   if (err) {
+   i82875p_printk(KERN_ERR,
+   %s(): pci_bus_add_device() Failed\n,
+   __func__);
+   }
}
 
*ovrfl_pdev = dev;
-
To unsubscribe from this list: send the line unsubscribe git-commits-head in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


timekeeping: fixup shadow variable argument

2007-07-19 Thread Linux Kernel Mailing List
Gitweb: 
http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=71120f183bff04ba4f7ba3cc554202061912d548
Commit: 71120f183bff04ba4f7ba3cc554202061912d548
Parent: 10146801e8b960d7473e350b60458d9d5a2be1cf
Author: Thomas Gleixner [EMAIL PROTECTED]
AuthorDate: Thu Jul 19 01:49:16 2007 -0700
Committer:  Linus Torvalds [EMAIL PROTECTED]
CommitDate: Thu Jul 19 10:04:52 2007 -0700

timekeeping: fixup shadow variable argument

clocksource_adjust() has a clock argument, which shadows the file global 
clock
variable.  Fix this up.

Signed-off-by: Thomas Gleixner [EMAIL PROTECTED]
Cc: john stultz [EMAIL PROTECTED]
Signed-off-by: Andrew Morton [EMAIL PROTECTED]
Signed-off-by: Linus Torvalds [EMAIL PROTECTED]
---
 kernel/time/timekeeping.c |4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/kernel/time/timekeeping.c b/kernel/time/timekeeping.c
index 728cedf..8969877 100644
--- a/kernel/time/timekeeping.c
+++ b/kernel/time/timekeeping.c
@@ -401,7 +401,7 @@ static __always_inline int clocksource_bigadjust(s64 error, 
s64 *interval,
  * this is optimized for the most common adjustments of -1,0,1,
  * for other values we can do a bit more work.
  */
-static void clocksource_adjust(struct clocksource *clock, s64 offset)
+static void clocksource_adjust(s64 offset)
 {
s64 error, interval = clock-cycle_interval;
int adj;
@@ -476,7 +476,7 @@ void update_wall_time(void)
}
 
/* correct the clock when NTP error is too big */
-   clocksource_adjust(clock, offset);
+   clocksource_adjust(offset);
 
/* store full nanoseconds into xtime */
xtime.tv_nsec = (s64)clock-xtime_nsec  clock-shift;
-
To unsubscribe from this list: send the line unsubscribe git-commits-head in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


drivers/edac: core.h fix scrubdefs

2007-07-19 Thread Linux Kernel Mailing List
Gitweb: 
http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=522a94bd1e18a2acf9428f48db585a2fc816559e
Commit: 522a94bd1e18a2acf9428f48db585a2fc816559e
Parent: eb60705ac5a9869b2d078f0b472ea64b9b52b684
Author: Douglas Thompson [EMAIL PROTECTED]
AuthorDate: Thu Jul 19 01:49:41 2007 -0700
Committer:  Linus Torvalds [EMAIL PROTECTED]
CommitDate: Thu Jul 19 10:04:53 2007 -0700

drivers/edac: core.h fix scrubdefs

Patch to fix some scrubbing #defines in the edac_core.h file

Signed-off-by: Douglas Thompson [EMAIL PROTECTED]
Signed-off-by: Andrew Morton [EMAIL PROTECTED]
Signed-off-by: Linus Torvalds [EMAIL PROTECTED]
---
 drivers/edac/edac_core.h |8 
 1 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/drivers/edac/edac_core.h b/drivers/edac/edac_core.h
index a3e4b97..968f483 100644
--- a/drivers/edac/edac_core.h
+++ b/drivers/edac/edac_core.h
@@ -194,12 +194,12 @@ enum scrub_type {
 };
 
 #define SCRUB_FLAG_SW_PROG BIT(SCRUB_SW_PROG)
-#define SCRUB_FLAG_SW_SRC  BIT(SCRUB_SW_SRC_CORR)
-#define SCRUB_FLAG_SW_PROG_SRC BIT(SCRUB_SW_PROG_SRC_CORR)
+#define SCRUB_FLAG_SW_SRC  BIT(SCRUB_SW_SRC)
+#define SCRUB_FLAG_SW_PROG_SRC BIT(SCRUB_SW_PROG_SRC)
 #define SCRUB_FLAG_SW_TUN  BIT(SCRUB_SW_SCRUB_TUNABLE)
 #define SCRUB_FLAG_HW_PROG BIT(SCRUB_HW_PROG)
-#define SCRUB_FLAG_HW_SRC  BIT(SCRUB_HW_SRC_CORR)
-#define SCRUB_FLAG_HW_PROG_SRC BIT(SCRUB_HW_PROG_SRC_CORR)
+#define SCRUB_FLAG_HW_SRC  BIT(SCRUB_HW_SRC)
+#define SCRUB_FLAG_HW_PROG_SRC BIT(SCRUB_HW_PROG_SRC)
 #define SCRUB_FLAG_HW_TUN  BIT(SCRUB_HW_TUNABLE)
 
 /* FIXME - should have notify capabilities: NMI, LOG, PROC, etc */
-
To unsubscribe from this list: send the line unsubscribe git-commits-head in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


ACPI: Do not prepare for hibernation in acpi_shutdown

2007-07-19 Thread Linux Kernel Mailing List
Gitweb: 
http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=d7372cdf6938ccea23ec9fc68970702fed9ec3c8
Commit: d7372cdf6938ccea23ec9fc68970702fed9ec3c8
Parent: 6c961dfb7c903cfd1cd71b506863894038fd704f
Author: Rafael J. Wysocki [EMAIL PROTECTED]
AuthorDate: Thu Jul 19 01:47:39 2007 -0700
Committer:  Linus Torvalds [EMAIL PROTECTED]
CommitDate: Thu Jul 19 10:04:42 2007 -0700

ACPI: Do not prepare for hibernation in acpi_shutdown

Since we are now explicitly calling hibernation_ops-prepare() before
hibernation_ops-enter() in hibernation_platform_enter() (defined in
kernel/power/disk.c), ACPI should not call acpi_sleep_prepare(ACPI_STATE_S4)
from acpi_shutdown().

Signed-off-by: Rafael J. Wysocki [EMAIL PROTECTED]
Acked-by: Pavel Machek [EMAIL PROTECTED]
Cc: Len Brown [EMAIL PROTECTED]
Signed-off-by: Andrew Morton [EMAIL PROTECTED]
Signed-off-by: Linus Torvalds [EMAIL PROTECTED]
---
 drivers/acpi/sleep/poweroff.c |3 ---
 1 files changed, 0 insertions(+), 3 deletions(-)

diff --git a/drivers/acpi/sleep/poweroff.c b/drivers/acpi/sleep/poweroff.c
index d9801ef..240dde9 100644
--- a/drivers/acpi/sleep/poweroff.c
+++ b/drivers/acpi/sleep/poweroff.c
@@ -54,9 +54,6 @@ static int acpi_shutdown(struct sys_device *x)
case SYSTEM_POWER_OFF:
/* Prepare to power off the system */
return acpi_sleep_prepare(ACPI_STATE_S5);
-   case SYSTEM_SUSPEND_DISK:
-   /* Prepare to suspend the system to disk */
-   return acpi_sleep_prepare(ACPI_STATE_S4);
default:
return 0;
}
-
To unsubscribe from this list: send the line unsubscribe git-commits-head in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


kernel-doc: add tools doc in Makefile

2007-07-19 Thread Linux Kernel Mailing List
Gitweb: 
http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=2ac534bc127bcf31f8cb76f65b1b0b7cba5e81ac
Commit: 2ac534bc127bcf31f8cb76f65b1b0b7cba5e81ac
Parent: f79c20f52532d38fd0aee7ef64e138cc1613c484
Author: Randy Dunlap [EMAIL PROTECTED]
AuthorDate: Thu Jul 19 01:48:23 2007 -0700
Committer:  Linus Torvalds [EMAIL PROTECTED]
CommitDate: Thu Jul 19 10:04:45 2007 -0700

kernel-doc: add tools doc in Makefile

Add kernel-doc tools info in Makefile.

Signed-off-by: Randy Dunlap [EMAIL PROTECTED]
Signed-off-by: Andrew Morton [EMAIL PROTECTED]
Signed-off-by: Linus Torvalds [EMAIL PROTECTED]
---
 Documentation/DocBook/Makefile |   10 +-
 1 files changed, 5 insertions(+), 5 deletions(-)

diff --git a/Documentation/DocBook/Makefile b/Documentation/DocBook/Makefile
index 6fd1646..08687e4 100644
--- a/Documentation/DocBook/Makefile
+++ b/Documentation/DocBook/Makefile
@@ -15,11 +15,11 @@ DOCBOOKS := wanbook.xml z8530book.xml mcabook.xml 
videobook.xml \
 
 ###
 # The build process is as follows (targets):
-#  (xmldocs)
-# file.tmpl -- file.xml +-- file.ps   (psdocs)
-#+-- file.pdf  (pdfdocs)
-#+-- DIR=file  (htmldocs)
-#+-- man/  (mandocs)
+#  (xmldocs) [by docproc]
+# file.tmpl -- file.xml +-- file.ps   (psdocs)   [by db2ps or xmlto]
+#+-- file.pdf  (pdfdocs)  [by db2pdf or xmlto]
+#+-- DIR=file  (htmldocs) [by xmlto]
+#+-- man/  (mandocs)  [by xmlto]
 
 
 # for PDF and PS output you can choose between xmlto and docbook-utils tools
-
To unsubscribe from this list: send the line unsubscribe git-commits-head in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


nfsctl: use vfs_path_lookup

2007-07-19 Thread Linux Kernel Mailing List
Gitweb: 
http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=16b6287a5286e872abece4f42a6eb5899157a836
Commit: 16b6287a5286e872abece4f42a6eb5899157a836
Parent: 4ac4efc1f5575a268417f80ef4059aee383f8331
Author: Josef 'Jeff' Sipek [EMAIL PROTECTED]
AuthorDate: Thu Jul 19 01:48:21 2007 -0700
Committer:  Linus Torvalds [EMAIL PROTECTED]
CommitDate: Thu Jul 19 10:04:45 2007 -0700

nfsctl: use vfs_path_lookup

use vfs_path_lookup instead of open-coding the necessary functionality.

Signed-off-by: Josef 'Jeff' Sipek [EMAIL PROTECTED]
Acked-by: NeilBrown [EMAIL PROTECTED]
Cc: Al Viro [EMAIL PROTECTED]
Acked-by: Christoph Hellwig [EMAIL PROTECTED]
Cc: Trond Myklebust [EMAIL PROTECTED]
Cc: Michael Halcrow [EMAIL PROTECTED]
Signed-off-by: Andrew Morton [EMAIL PROTECTED]
Signed-off-by: Linus Torvalds [EMAIL PROTECTED]
---
 fs/nfsctl.c |   16 ++--
 1 files changed, 6 insertions(+), 10 deletions(-)

diff --git a/fs/nfsctl.c b/fs/nfsctl.c
index c043136..51f1b31 100644
--- a/fs/nfsctl.c
+++ b/fs/nfsctl.c
@@ -23,19 +23,15 @@
 static struct file *do_open(char *name, int flags)
 {
struct nameidata nd;
+   struct vfsmount *mnt;
int error;
 
-   nd.mnt = do_kern_mount(nfsd, 0, nfsd, NULL);
+   mnt = do_kern_mount(nfsd, 0, nfsd, NULL);
+   if (IS_ERR(mnt))
+   return (struct file *)mnt;
 
-   if (IS_ERR(nd.mnt))
-   return (struct file *)nd.mnt;
-
-   nd.dentry = dget(nd.mnt-mnt_root);
-   nd.last_type = LAST_ROOT;
-   nd.flags = 0;
-   nd.depth = 0;
-
-   error = path_walk(name, nd);
+   error = vfs_path_lookup(mnt-mnt_root, mnt, name, 0, nd);
+   mntput(mnt);/* drop do_kern_mount reference */
if (error)
return ERR_PTR(error);
 
-
To unsubscribe from this list: send the line unsubscribe git-commits-head in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


dequeue_huge_page() warning fix

2007-07-19 Thread Linux Kernel Mailing List
Gitweb: 
http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=3abf7afd406866a84276d3ed04f4edf6070c9cb5
Commit: 3abf7afd406866a84276d3ed04f4edf6070c9cb5
Parent: dd00cc486ab1c17049a535413d1751ef3482141c
Author: Andrew Morton [EMAIL PROTECTED]
AuthorDate: Thu Jul 19 01:49:08 2007 -0700
Committer:  Linus Torvalds [EMAIL PROTECTED]
CommitDate: Thu Jul 19 10:04:50 2007 -0700

dequeue_huge_page() warning fix

mm/hugetlb.c: In function `dequeue_huge_page':
mm/hugetlb.c:72: warning: 'nid' might be used uninitialized in this function

Cc: Christoph Lameter [EMAIL PROTECTED]
Cc: Adam Litke [EMAIL PROTECTED]
Cc: David Gibson [EMAIL PROTECTED]
Cc: William Lee Irwin III [EMAIL PROTECTED]
Signed-off-by: Andrew Morton [EMAIL PROTECTED]
Signed-off-by: Linus Torvalds [EMAIL PROTECTED]
---
 mm/hugetlb.c |   17 +++--
 1 files changed, 7 insertions(+), 10 deletions(-)

diff --git a/mm/hugetlb.c b/mm/hugetlb.c
index c4a573b..15fc7b0 100644
--- a/mm/hugetlb.c
+++ b/mm/hugetlb.c
@@ -78,16 +78,13 @@ static struct page *dequeue_huge_page(struct vm_area_struct 
*vma,
for (z = zonelist-zones; *z; z++) {
nid = zone_to_nid(*z);
if (cpuset_zone_allowed_softwall(*z, htlb_alloc_mask) 
-   !list_empty(hugepage_freelists[nid]))
-   break;
-   }
-
-   if (*z) {
-   page = list_entry(hugepage_freelists[nid].next,
- struct page, lru);
-   list_del(page-lru);
-   free_huge_pages--;
-   free_huge_pages_node[nid]--;
+   !list_empty(hugepage_freelists[nid])) {
+   page = list_entry(hugepage_freelists[nid].next,
+ struct page, lru);
+   list_del(page-lru);
+   free_huge_pages--;
+   free_huge_pages_node[nid]--;
+   }
}
return page;
 }
-
To unsubscribe from this list: send the line unsubscribe git-commits-head in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


drivers/edac: add mips and ppc visibility

2007-07-19 Thread Linux Kernel Mailing List
Gitweb: 
http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=b113a3f7e85d7f97c8383a88a5bc7c2ea8daeb2f
Commit: b113a3f7e85d7f97c8383a88a5bc7c2ea8daeb2f
Parent: 052dfb45ccb5ea354a426b52556bcfee75b9d2f5
Author: Douglas Thompson [EMAIL PROTECTED]
AuthorDate: Thu Jul 19 01:50:15 2007 -0700
Committer:  Linus Torvalds [EMAIL PROTECTED]
CommitDate: Thu Jul 19 10:04:55 2007 -0700

drivers/edac: add mips and ppc visibility

1) Remove an old CVS ID string

2) change EDAC from a tristate option to a simple bool option

3) In addition to the X86 arch, PPC and MIPS also have drivers in the
submission queue.  This patch turns on the EDAC flag for those archs.  Each
driver will have its respective 'depends on ARCH' set.

Signed-off-by: Douglas Thompson [EMAIL PROTECTED]
Cc: Alan Cox [EMAIL PROTECTED]
Signed-off-by: Andrew Morton [EMAIL PROTECTED]
Signed-off-by: Linus Torvalds [EMAIL PROTECTED]
---
 drivers/edac/Kconfig |7 +++
 1 files changed, 3 insertions(+), 4 deletions(-)

diff --git a/drivers/edac/Kconfig b/drivers/edac/Kconfig
index 9356c68..57a7384 100644
--- a/drivers/edac/Kconfig
+++ b/drivers/edac/Kconfig
@@ -3,13 +3,12 @@
 #  Copyright (c) 2003 Linux Networx
 #  Licensed and distributed under the GPL
 #
-# $Id: Kconfig,v 1.4.2.7 2005/07/08 22:05:38 dsp_llnl Exp $
-#
 
 menuconfig EDAC
-   tristate EDAC - error detection and reporting (EXPERIMENTAL)
+   bool EDAC - error detection and reporting (EXPERIMENTAL)
depends on HAS_IOMEM
-   depends on X86  EXPERIMENTAL
+   depends on EXPERIMENTAL
+   depends on X86 || MIPS || PPC
help
  EDAC is designed to report errors in the core system.
  These are low-level errors that are reported in the CPU or
-
To unsubscribe from this list: send the line unsubscribe git-commits-head in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


jprobes: make struct jprobe.entry a void *

2007-07-19 Thread Linux Kernel Mailing List
Gitweb: 
http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=81eae375eceba481ca4c605d42913871f093f6d5
Commit: 81eae375eceba481ca4c605d42913871f093f6d5
Parent: f9acc8c7b35a100f3a9e0e6977f7807b0169f9a5
Author: Michael Ellerman [EMAIL PROTECTED]
AuthorDate: Thu Jul 19 01:48:09 2007 -0700
Committer:  Linus Torvalds [EMAIL PROTECTED]
CommitDate: Thu Jul 19 10:04:44 2007 -0700

jprobes: make struct jprobe.entry a void *

Currently jprobe.entry is a kprobe_opcode_t *, but that's a lie.  On some
platforms it doesn't point to an opcode at all, it points to a function
descriptor.

It's really a pointer to something that the arch code can turn into a 
function
entry point.  And that's what actually happens, none of the generic code 
ever
looks at jprobe.entry, it's only ever dereferenced by arch code.

So just make it a void *.

Signed-off-by: Michael Ellerman [EMAIL PROTECTED]
Cc: Prasanna S Panchamukhi [EMAIL PROTECTED]
Acked-by: Ananth N Mavinakayanahalli [EMAIL PROTECTED]
Cc: Anil S Keshavamurthy [EMAIL PROTECTED]
Cc: David S. Miller [EMAIL PROTECTED]
Signed-off-by: Andrew Morton [EMAIL PROTECTED]
Signed-off-by: Linus Torvalds [EMAIL PROTECTED]
---
 include/linux/kprobes.h |2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/include/linux/kprobes.h b/include/linux/kprobes.h
index 23adf60..f4e53b7 100644
--- a/include/linux/kprobes.h
+++ b/include/linux/kprobes.h
@@ -116,7 +116,7 @@ struct kprobe {
  */
 struct jprobe {
struct kprobe kp;
-   kprobe_opcode_t *entry; /* probe handling code to jump to */
+   void *entry;/* probe handling code to jump to */
 };
 
 DECLARE_PER_CPU(struct kprobe *, current_kprobe);
-
To unsubscribe from this list: send the line unsubscribe git-commits-head in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


drivers/edac: Lindent i5000

2007-07-19 Thread Linux Kernel Mailing List
Gitweb: 
http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=f4aff426533f62c46d4e4d104572d838d35034eb
Commit: f4aff426533f62c46d4e4d104572d838d35034eb
Parent: 67cb2b61225601ef1ead842c7a012bb6da19f847
Author: Douglas Thompson [EMAIL PROTECTED]
AuthorDate: Thu Jul 19 01:50:03 2007 -0700
Committer:  Linus Torvalds [EMAIL PROTECTED]
CommitDate: Thu Jul 19 10:04:54 2007 -0700

drivers/edac: Lindent i5000

Ran e752x_edac.c file through Lindent for cleanup

Signed-off-by: Douglas Thompson [EMAIL PROTECTED]
Signed-off-by: Dave Jiang [EMAIL PROTECTED]
Signed-off-by: Andrew Morton [EMAIL PROTECTED]
Signed-off-by: Linus Torvalds [EMAIL PROTECTED]
---
 drivers/edac/i5000_edac.c |   16 
 1 files changed, 8 insertions(+), 8 deletions(-)

diff --git a/drivers/edac/i5000_edac.c b/drivers/edac/i5000_edac.c
index af6faee..aa05c45 100644
--- a/drivers/edac/i5000_edac.c
+++ b/drivers/edac/i5000_edac.c
@@ -967,7 +967,7 @@ static void calculate_dimm_size(struct i5000_pvt *pvt)
mem_buffer = p = kmalloc(space, GFP_KERNEL);
if (p == NULL) {
i5000_printk(KERN_ERR, MC: %s:%s() kmalloc() failed\n,
-   __FILE__, __func__);
+__FILE__, __func__);
return;
}
 
@@ -1287,13 +1287,13 @@ static int i5000_probe1(struct pci_dev *pdev, int 
dev_idx)
return -ENODEV;
 
/* make sure error reporting method is sane */
-   switch(edac_op_state) {
-   case EDAC_OPSTATE_POLL:
-   case EDAC_OPSTATE_NMI:
-   break;
-   default:
-   edac_op_state = EDAC_OPSTATE_POLL;
-   break;
+   switch (edac_op_state) {
+   case EDAC_OPSTATE_POLL:
+   case EDAC_OPSTATE_NMI:
+   break;
+   default:
+   edac_op_state = EDAC_OPSTATE_POLL;
+   break;
}
 
/* Ask the devices for the number of CSROWS and CHANNELS so
-
To unsubscribe from this list: send the line unsubscribe git-commits-head in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


alpha: Put allocated ELF notes in read-only data segment

2007-07-19 Thread Linux Kernel Mailing List
Gitweb: 
http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=caf45dd92677b2001123cc06b5835052ccfee76f
Commit: caf45dd92677b2001123cc06b5835052ccfee76f
Parent: 2e1d5b8f24a887caded5ae3ceb2f341d4fbd1861
Author: Roland McGrath [EMAIL PROTECTED]
AuthorDate: Thu Jul 19 01:48:37 2007 -0700
Committer:  Linus Torvalds [EMAIL PROTECTED]
CommitDate: Thu Jul 19 10:04:47 2007 -0700

alpha: Put allocated ELF notes in read-only data segment

This changes the alpha linker script to use the asm-generic NOTES macro so
that ELF note sections with SHF_ALLOC set are linked into the kernel image
along with other read-only data.  The PT_NOTE also points to their location.

This paves the way for putting useful build-time information into ELF notes
that can be found easily later in a kernel memory dump.

Signed-off-by: Roland McGrath [EMAIL PROTECTED]
Cc: Richard Henderson [EMAIL PROTECTED]
Cc: Ivan Kokshaysky [EMAIL PROTECTED]
Signed-off-by: Andrew Morton [EMAIL PROTECTED]
Signed-off-by: Linus Torvalds [EMAIL PROTECTED]
---
 arch/alpha/kernel/vmlinux.lds.S |5 -
 1 files changed, 4 insertions(+), 1 deletions(-)

diff --git a/arch/alpha/kernel/vmlinux.lds.S b/arch/alpha/kernel/vmlinux.lds.S
index 6f4f037..fe13daa 100644
--- a/arch/alpha/kernel/vmlinux.lds.S
+++ b/arch/alpha/kernel/vmlinux.lds.S
@@ -3,7 +3,7 @@
 OUTPUT_FORMAT(elf64-alpha)
 OUTPUT_ARCH(alpha)
 ENTRY(__start)
-PHDRS { kernel PT_LOAD ; }
+PHDRS { kernel PT_LOAD; note PT_NOTE; }
 jiffies = jiffies_64;
 SECTIONS
 {
@@ -28,6 +28,9 @@ SECTIONS
   __ex_table : { *(__ex_table) }
   __stop___ex_table = .;
 
+  NOTES :kernel :note
+  .dummy : { *(.dummy) } :kernel
+
   RODATA
 
   /* Will be freed after init */
-
To unsubscribe from this list: send the line unsubscribe git-commits-head in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


coda: allow removal of busy directories

2007-07-19 Thread Linux Kernel Mailing List
Gitweb: 
http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=8c6d21528406ec719aaea9d589876fd105c31646
Commit: 8c6d21528406ec719aaea9d589876fd105c31646
Parent: d728900cd5502927158db747c653007cf72e2e49
Author: Jan Harkes [EMAIL PROTECTED]
AuthorDate: Thu Jul 19 01:48:43 2007 -0700
Committer:  Linus Torvalds [EMAIL PROTECTED]
CommitDate: Thu Jul 19 10:04:48 2007 -0700

coda: allow removal of busy directories

A directory without children may still be busy when it is the cwd for some
process.  We can safely remove such a directory because the VFS prevents
further operations.  Also we don't need to call d_delete as it is already
called in vfs_rmdir.

Signed-off-by: Jan Harkes [EMAIL PROTECTED]
Signed-off-by: Andrew Morton [EMAIL PROTECTED]
Signed-off-by: Linus Torvalds [EMAIL PROTECTED]
---
 fs/coda/dir.c |   23 +--
 1 files changed, 9 insertions(+), 14 deletions(-)

diff --git a/fs/coda/dir.c b/fs/coda/dir.c
index 56a3b76..01f55f4 100644
--- a/fs/coda/dir.c
+++ b/fs/coda/dir.c
@@ -391,28 +391,23 @@ int coda_rmdir(struct inode *dir, struct dentry *de)
 {
const char *name = de-d_name.name;
int len = de-d_name.len;
-int error;
+   int error;
 
lock_kernel();
coda_vfs_stat.rmdir++;
 
-   if (!d_unhashed(de)) {
-   unlock_kernel();
-   return -EBUSY;
-   }
error = venus_rmdir(dir-i_sb, coda_i2f(dir), name, len);
+   if (!error) {
+   /* VFS may delete the child */
+   if (de-d_inode)
+   de-d_inode-i_nlink = 0;
 
-   if ( error ) {
-   unlock_kernel();
-   return error;
+   /* fix the link count of the parent */
+   coda_dir_drop_nlink(dir);
+   coda_dir_update_mtime(dir);
}
-
-   coda_dir_drop_nlink(dir);
-   coda_dir_update_mtime(dir);
-   drop_nlink(de-d_inode);
-   d_delete(de);
unlock_kernel();
-   return 0;
+   return error;
 }
 
 /* rename */
-
To unsubscribe from this list: send the line unsubscribe git-commits-head in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


vmalloc_32 should use GFP_KERNEL

2007-07-19 Thread Linux Kernel Mailing List
Gitweb: 
http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=7ac674f52778b95450509357435320be1d795248
Commit: 7ac674f52778b95450509357435320be1d795248
Parent: ea02e3dde3509ffa7fda7f8de9c8a366e03f7bbd
Author: Benjamin Herrenschmidt [EMAIL PROTECTED]
AuthorDate: Thu Jul 19 01:49:10 2007 -0700
Committer:  Linus Torvalds [EMAIL PROTECTED]
CommitDate: Thu Jul 19 10:04:50 2007 -0700

vmalloc_32 should use GFP_KERNEL

I've noticed lots of failures of vmalloc_32 on machines where it
shouldn't have failed unless it was doing an atomic operation.

Looking closely, I noticed that:

#if defined(CONFIG_64BIT)  defined(CONFIG_ZONE_DMA32)
#define GFP_VMALLOC32 GFP_DMA32
#elif defined(CONFIG_64BIT)  defined(CONFIG_ZONE_DMA)
#define GFP_VMALLOC32 GFP_DMA
#else
#define GFP_VMALLOC32 GFP_KERNEL
#endif

Which seems to be incorrect, it should always -or- in the DMA flags
on top of GFP_KERNEL, thus this patch.

This fixes frequent errors launchin X with the nouveau DRM for example.

Signed-off-by: Benjamin Herrenschmidt [EMAIL PROTECTED]
Cc: Andi Kleen [EMAIL PROTECTED]
Cc: Dave Airlie [EMAIL PROTECTED]
Signed-off-by: Andrew Morton [EMAIL PROTECTED]
Signed-off-by: Linus Torvalds [EMAIL PROTECTED]
---
 mm/vmalloc.c |4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/mm/vmalloc.c b/mm/vmalloc.c
index 3130c34..213d5e5 100644
--- a/mm/vmalloc.c
+++ b/mm/vmalloc.c
@@ -583,9 +583,9 @@ void *vmalloc_exec(unsigned long size)
 }
 
 #if defined(CONFIG_64BIT)  defined(CONFIG_ZONE_DMA32)
-#define GFP_VMALLOC32 GFP_DMA32
+#define GFP_VMALLOC32 GFP_DMA32 | GFP_KERNEL
 #elif defined(CONFIG_64BIT)  defined(CONFIG_ZONE_DMA)
-#define GFP_VMALLOC32 GFP_DMA
+#define GFP_VMALLOC32 GFP_DMA | GFP_KERNEL
 #else
 #define GFP_VMALLOC32 GFP_KERNEL
 #endif
-
To unsubscribe from this list: send the line unsubscribe git-commits-head in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


lockstat: better class name representation

2007-07-19 Thread Linux Kernel Mailing List
Gitweb: 
http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=d38e1d5aaee384698fcef9455d6e2df1d062a1d0
Commit: d38e1d5aaee384698fcef9455d6e2df1d062a1d0
Parent: 96645678cd726e87ce42a0664de71e047e32bca4
Author: Peter Zijlstra [EMAIL PROTECTED]
AuthorDate: Thu Jul 19 01:49:01 2007 -0700
Committer:  Linus Torvalds [EMAIL PROTECTED]
CommitDate: Thu Jul 19 10:04:49 2007 -0700

lockstat: better class name representation

optionally add class-name_version and class-subclass to the class name

Signed-off-by: Peter Zijlstra [EMAIL PROTECTED]
Cc: Ingo Molnar [EMAIL PROTECTED]
Signed-off-by: Andrew Morton [EMAIL PROTECTED]
Signed-off-by: Linus Torvalds [EMAIL PROTECTED]
---
 kernel/lockdep_proc.c |   24 +++-
 1 files changed, 23 insertions(+), 1 deletions(-)

diff --git a/kernel/lockdep_proc.c b/kernel/lockdep_proc.c
index 7ff8013..9f17af4 100644
--- a/kernel/lockdep_proc.c
+++ b/kernel/lockdep_proc.c
@@ -421,8 +421,30 @@ static void seq_stats(struct seq_file *m, struct 
lock_stat_data *data)
class = data-class;
stats = data-stats;
 
-   snprintf(name, 38, %s, class-name);
+   namelen = 38;
+   if (class-name_version  1)
+   namelen -= 2; /* XXX truncates versions  9 */
+   if (class-subclass)
+   namelen -= 2;
+
+   if (!class-name) {
+   char str[KSYM_NAME_LEN];
+   const char *key_name;
+
+   key_name = __get_key_name(class-key, str);
+   snprintf(name, namelen, %s, key_name);
+   } else {
+   snprintf(name, namelen, %s, class-name);
+   }
namelen = strlen(name);
+   if (class-name_version  1) {
+   snprintf(name+namelen, 3, #%d, class-name_version);
+   namelen += 2;
+   }
+   if (class-subclass) {
+   snprintf(name+namelen, 3, /%d, class-subclass);
+   namelen += 2;
+   }
 
if (stats-write_holdtime.nr) {
if (stats-read_holdtime.nr)
-
To unsubscribe from this list: send the line unsubscribe git-commits-head in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


eCryptfs: ecryptfs_setattr() bugfix

2007-07-19 Thread Linux Kernel Mailing List
Gitweb: 
http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=64ee4808a786caade50362d5057f65314fdf2f36
Commit: 64ee4808a786caade50362d5057f65314fdf2f36
Parent: 39ef01e00daf6d860783f1a836f765265a9d3b47
Author: Michael Halcrow [EMAIL PROTECTED]
AuthorDate: Thu Jul 19 01:47:54 2007 -0700
Committer:  Linus Torvalds [EMAIL PROTECTED]
CommitDate: Thu Jul 19 10:04:43 2007 -0700

eCryptfs: ecryptfs_setattr() bugfix

There is another bug recently introduced into the ecryptfs_setattr()
function in 2.6.22.  eCryptfs will attempt to treat special files like
regular eCryptfs files on chmod, chown, and so forth.  This leads to a NULL
pointer dereference.  This patch validates that the file is a regular file
before proceeding with operations related to the inode's crypt_stat.

Thanks to Ryusuke Konishi for finding this bug and suggesting the fix.

Signed-off-by: Michael Halcrow [EMAIL PROTECTED]
Cc: [EMAIL PROTECTED]
Signed-off-by: Andrew Morton [EMAIL PROTECTED]
Signed-off-by: Linus Torvalds [EMAIL PROTECTED]
---
 fs/ecryptfs/inode.c |5 +++--
 1 files changed, 3 insertions(+), 2 deletions(-)

diff --git a/fs/ecryptfs/inode.c b/fs/ecryptfs/inode.c
index e77a2ec..0a50942 100644
--- a/fs/ecryptfs/inode.c
+++ b/fs/ecryptfs/inode.c
@@ -902,8 +902,9 @@ static int ecryptfs_setattr(struct dentry *dentry, struct 
iattr *ia)
mutex_lock(crypt_stat-cs_mutex);
if (S_ISDIR(dentry-d_inode-i_mode))
crypt_stat-flags = ~(ECRYPTFS_ENCRYPTED);
-   else if (!(crypt_stat-flags  ECRYPTFS_POLICY_APPLIED)
-|| !(crypt_stat-flags  ECRYPTFS_KEY_VALID)) {
+   else if (S_ISREG(dentry-d_inode-i_mode)
+ (!(crypt_stat-flags  ECRYPTFS_POLICY_APPLIED)
+|| !(crypt_stat-flags  ECRYPTFS_KEY_VALID))) {
struct vfsmount *lower_mnt;
struct file *lower_file = NULL;
struct ecryptfs_mount_crypt_stat *mount_crypt_stat;
-
To unsubscribe from this list: send the line unsubscribe git-commits-head in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


coredump masking: ELF-FDPIC: remove an unused argument

2007-07-19 Thread Linux Kernel Mailing List
Gitweb: 
http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=e2e00906a06f7e74c49ca0ca85b960f270c83d5e
Commit: e2e00906a06f7e74c49ca0ca85b960f270c83d5e
Parent: a1b59e802f846b6b0e057507386068fcc6dff442
Author: Kawai, Hidehiro [EMAIL PROTECTED]
AuthorDate: Thu Jul 19 01:48:30 2007 -0700
Committer:  Linus Torvalds [EMAIL PROTECTED]
CommitDate: Thu Jul 19 10:04:47 2007 -0700

coredump masking: ELF-FDPIC: remove an unused argument

This patch removes an unused argument from elf_fdpic_dump_segments().

Signed-off-by: Hidehiro Kawai [EMAIL PROTECTED]
Cc: Alan Cox [EMAIL PROTECTED]
Cc: David Howells [EMAIL PROTECTED]
Cc: Hugh Dickins [EMAIL PROTECTED]
Cc: Nick Piggin [EMAIL PROTECTED]
Signed-off-by: Andrew Morton [EMAIL PROTECTED]
Signed-off-by: Linus Torvalds [EMAIL PROTECTED]
---
 fs/binfmt_elf_fdpic.c |8 
 1 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/fs/binfmt_elf_fdpic.c b/fs/binfmt_elf_fdpic.c
index 4739506..1a6c8e2 100644
--- a/fs/binfmt_elf_fdpic.c
+++ b/fs/binfmt_elf_fdpic.c
@@ -1456,8 +1456,8 @@ static int elf_dump_thread_status(long signr, struct 
elf_thread_status *t)
  * dump the segments for an MMU process
  */
 #ifdef CONFIG_MMU
-static int elf_fdpic_dump_segments(struct file *file, struct mm_struct *mm,
-  size_t *size, unsigned long *limit)
+static int elf_fdpic_dump_segments(struct file *file, size_t *size,
+  unsigned long *limit)
 {
struct vm_area_struct *vma;
 
@@ -1511,8 +1511,8 @@ end_coredump:
  * dump the segments for a NOMMU process
  */
 #ifndef CONFIG_MMU
-static int elf_fdpic_dump_segments(struct file *file, struct mm_struct *mm,
-  size_t *size, unsigned long *limit)
+static int elf_fdpic_dump_segments(struct file *file, size_t *size,
+  unsigned long *limit)
 {
struct vm_list_struct *vml;
 
-
To unsubscribe from this list: send the line unsubscribe git-commits-head in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


FRV: work around a possible compiler bug

2007-07-19 Thread Linux Kernel Mailing List
Gitweb: 
http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=ea02e3dde3509ffa7fda7f8de9c8a366e03f7bbd
Commit: ea02e3dde3509ffa7fda7f8de9c8a366e03f7bbd
Parent: 3abf7afd406866a84276d3ed04f4edf6070c9cb5
Author: David Howells [EMAIL PROTECTED]
AuthorDate: Thu Jul 19 01:49:09 2007 -0700
Committer:  Linus Torvalds [EMAIL PROTECTED]
CommitDate: Thu Jul 19 10:04:50 2007 -0700

FRV: work around a possible compiler bug

Work around a possible bug in the FRV compiler.

What appears to be happening is that gcc resolves the
__builtin_constant_p() in kmalloc() to true, but then fails to reduce the
therefore constant conditions in the if-statements it guards to constant
results.

When compiling with -O2 or -Os, one single spurious error crops up in
cpuup_callback() in mm/slab.c.  This can be avoided by making the memsize
variable const.

Signed-off-by: David Howells [EMAIL PROTECTED]
Signed-off-by: Andrew Morton [EMAIL PROTECTED]
Signed-off-by: Linus Torvalds [EMAIL PROTECTED]
---
 arch/frv/Makefile |2 +-
 mm/slab.c |2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/arch/frv/Makefile b/arch/frv/Makefile
index 038e3a8..9bf7345 100644
--- a/arch/frv/Makefile
+++ b/arch/frv/Makefile
@@ -88,7 +88,7 @@ ASFLAGS   += -mno-fdpic
 # make sure the .S files get compiled with debug info
 # and disable optimisations that are unhelpful whilst debugging
 ifdef CONFIG_DEBUG_INFO
-CFLAGS += -O1
+#CFLAGS+= -O1
 AFLAGS += -Wa,--gdwarf2
 ASFLAGS+= -Wa,--gdwarf2
 endif
diff --git a/mm/slab.c b/mm/slab.c
index 96d30ee..88bc633 100644
--- a/mm/slab.c
+++ b/mm/slab.c
@@ -1163,7 +1163,7 @@ static int __cpuinit cpuup_callback(struct notifier_block 
*nfb,
struct kmem_cache *cachep;
struct kmem_list3 *l3 = NULL;
int node = cpu_to_node(cpu);
-   int memsize = sizeof(struct kmem_list3);
+   const int memsize = sizeof(struct kmem_list3);
 
switch (action) {
case CPU_LOCK_ACQUIRE:
-
To unsubscribe from this list: send the line unsubscribe git-commits-head in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Remove nid_lock from alloc_fresh_huge_page

2007-07-19 Thread Linux Kernel Mailing List
Gitweb: 
http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=7ed5cb2b73d0c4165c0504c95454fade0c0bf3d9
Commit: 7ed5cb2b73d0c4165c0504c95454fade0c0bf3d9
Parent: e3aded3cc289113c7bc729ef4cb75e56d9aa71be
Author: Hugh Dickins [EMAIL PROTECTED]
AuthorDate: Thu Jul 19 01:49:11 2007 -0700
Committer:  Linus Torvalds [EMAIL PROTECTED]
CommitDate: Thu Jul 19 10:04:50 2007 -0700

Remove nid_lock from alloc_fresh_huge_page

The fix to that race in alloc_fresh_huge_page() which could give an illegal
node ID did not need nid_lock at all: the fix was to replace static int nid
by static int prev_nid and do the work on local int nid.  nid_lock did make
sure that racers strictly roundrobin the nodes, but that's not something we
need to enforce strictly.  Kill nid_lock.

Signed-off-by: Hugh Dickins [EMAIL PROTECTED]
Signed-off-by: Andrew Morton [EMAIL PROTECTED]
Signed-off-by: Linus Torvalds [EMAIL PROTECTED]
---
 mm/hugetlb.c |   10 +++---
 1 files changed, 7 insertions(+), 3 deletions(-)

diff --git a/mm/hugetlb.c b/mm/hugetlb.c
index 15fc7b0..2d7611c 100644
--- a/mm/hugetlb.c
+++ b/mm/hugetlb.c
@@ -104,15 +104,19 @@ static int alloc_fresh_huge_page(void)
 {
static int prev_nid;
struct page *page;
-   static DEFINE_SPINLOCK(nid_lock);
int nid;
 
-   spin_lock(nid_lock);
+   /*
+* Copy static prev_nid to local nid, work on that, then copy it
+* back to prev_nid afterwards: otherwise there's a window in which
+* a racer might pass invalid nid MAX_NUMNODES to alloc_pages_node.
+* But we don't need to use a spin_lock here: it really doesn't
+* matter if occasionally a racer chooses the same nid as we do.
+*/
nid = next_node(prev_nid, node_online_map);
if (nid == MAX_NUMNODES)
nid = first_node(node_online_map);
prev_nid = nid;
-   spin_unlock(nid_lock);
 
page = alloc_pages_node(nid, htlb_alloc_mask|__GFP_COMP|__GFP_NOWARN,
HUGETLB_PAGE_ORDER);
-
To unsubscribe from this list: send the line unsubscribe git-commits-head in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


ocfs2: release page lock before calling -page_mkwrite

2007-07-19 Thread Linux Kernel Mailing List
Gitweb: 
http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=6967614761fd305b3414d9485d89dc2e0a407410
Commit: 6967614761fd305b3414d9485d89dc2e0a407410
Parent: 54cb8821de07f2ffcd28c380ce9b93d5784b40d7
Author: Mark Fasheh [EMAIL PROTECTED]
AuthorDate: Thu Jul 19 01:47:00 2007 -0700
Committer:  Linus Torvalds [EMAIL PROTECTED]
CommitDate: Thu Jul 19 10:04:41 2007 -0700

ocfs2: release page lock before calling -page_mkwrite

__do_fault() was calling -page_mkwrite() with the page lock held, which
violates the locking rules for that callback.  Release and retake the page
lock around the callback to avoid deadlocking file systems which manually
take it.

Signed-off-by: Mark Fasheh [EMAIL PROTECTED]
Cc: Nick Piggin [EMAIL PROTECTED]
Signed-off-by: Andrew Morton [EMAIL PROTECTED]
Signed-off-by: Linus Torvalds [EMAIL PROTECTED]
---
 mm/memory.c |   14 +-
 1 files changed, 9 insertions(+), 5 deletions(-)

diff --git a/mm/memory.c b/mm/memory.c
index eee7fec..7abd389 100644
--- a/mm/memory.c
+++ b/mm/memory.c
@@ -2369,11 +2369,14 @@ static int __do_fault(struct mm_struct *mm, struct 
vm_area_struct *vma,
 * address space wants to know that the page is about
 * to become writable
 */
-   if (vma-vm_ops-page_mkwrite 
-   vma-vm_ops-page_mkwrite(vma, page)  0) {
-   fdata.type = VM_FAULT_SIGBUS;
-   anon = 1; /* no anon but release faulted_page */
-   goto out;
+   if (vma-vm_ops-page_mkwrite) {
+   unlock_page(page);
+   if (vma-vm_ops-page_mkwrite(vma, page)  0) {
+   fdata.type = VM_FAULT_SIGBUS;
+   anon = 1; /* no anon but release 
faulted_page */
+   goto out_unlocked;
+   }
+   lock_page(page);
}
}
 
@@ -2425,6 +2428,7 @@ static int __do_fault(struct mm_struct *mm, struct 
vm_area_struct *vma,
 
 out:
unlock_page(faulted_page);
+out_unlocked:
if (anon)
page_cache_release(faulted_page);
else if (dirty_page) {
-
To unsubscribe from this list: send the line unsubscribe git-commits-head in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


unregister_chrdev() return void

2007-07-19 Thread Linux Kernel Mailing List
Gitweb: 
http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=e53252d97e670a38b1d2e9723b48077bba11ddda
Commit: e53252d97e670a38b1d2e9723b48077bba11ddda
Parent: 68fc4fabca897a09f75f53bac14cdc7a98f52210
Author: Akinobu Mita [EMAIL PROTECTED]
AuthorDate: Thu Jul 19 01:47:51 2007 -0700
Committer:  Linus Torvalds [EMAIL PROTECTED]
CommitDate: Thu Jul 19 10:04:43 2007 -0700

unregister_chrdev() return void

unregister_chrdev() does not return meaningful value.  This patch makes it
return void like most unregister_* functions.

Signed-off-by: Akinobu Mita [EMAIL PROTECTED]
Signed-off-by: Andrew Morton [EMAIL PROTECTED]
Signed-off-by: Linus Torvalds [EMAIL PROTECTED]
---
 fs/char_dev.c  |3 +--
 include/linux/fs.h |2 +-
 2 files changed, 2 insertions(+), 3 deletions(-)

diff --git a/fs/char_dev.c b/fs/char_dev.c
index 164a45c..bbbf07b 100644
--- a/fs/char_dev.c
+++ b/fs/char_dev.c
@@ -321,14 +321,13 @@ void unregister_chrdev_region(dev_t from, unsigned count)
}
 }
 
-int unregister_chrdev(unsigned int major, const char *name)
+void unregister_chrdev(unsigned int major, const char *name)
 {
struct char_device_struct *cd;
cd = __unregister_chrdev_region(major, 0, 256);
if (cd  cd-cdev)
cdev_del(cd-cdev);
kfree(cd);
-   return 0;
 }
 
 static DEFINE_SPINLOCK(cdev_lock);
diff --git a/include/linux/fs.h b/include/linux/fs.h
index 9562a59..75dd16e 100644
--- a/include/linux/fs.h
+++ b/include/linux/fs.h
@@ -1463,7 +1463,7 @@ extern int alloc_chrdev_region(dev_t *, unsigned, 
unsigned, const char *);
 extern int register_chrdev_region(dev_t, unsigned, const char *);
 extern int register_chrdev(unsigned int, const char *,
   const struct file_operations *);
-extern int unregister_chrdev(unsigned int, const char *);
+extern void unregister_chrdev(unsigned int, const char *);
 extern void unregister_chrdev_region(dev_t, unsigned);
 extern int chrdev_open(struct inode *, struct file *);
 extern void chrdev_show(struct seq_file *,off_t);
-
To unsubscribe from this list: send the line unsubscribe git-commits-head in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


nfsd: fix possible read-ahead cache and export table corruption

2007-07-19 Thread Linux Kernel Mailing List
Gitweb: 
http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=a280df32db291f41b3922ac218674be526af5b9b
Commit: a280df32db291f41b3922ac218674be526af5b9b
Parent: d688abf50bd5a30d2c44dea2a72dd59052cd3cce
Author: J. Bruce Fields [EMAIL PROTECTED]
AuthorDate: Thu Jul 19 01:49:18 2007 -0700
Committer:  Linus Torvalds [EMAIL PROTECTED]
CommitDate: Thu Jul 19 10:04:52 2007 -0700

nfsd: fix possible read-ahead cache and export table corruption

The value of nperbucket calculated here is too small--we should be rounding 
up
instead of down--with the result that the index j in the following loop can
overflow the raparm_hash array.  At least in my case, the next thing in 
memory
turns out to be export_table, so the symptoms I see are crashes caused by 
the
appearance of four zeroed-out export entries in the first bucket of the hash
table of exports (which were actually entries in the readahead cache, a
pointer to which had been written to the export table in this initialization
code).

It looks like the bug was probably introduced with commit
fce1456a19f5c08b688c29f00ef90fdfa074c79b (knfsd: make the readahead params
cache SMP-friendly).

Cc: [EMAIL PROTECTED]
Cc: Greg Banks [EMAIL PROTECTED]
Signed-off-by: J. Bruce Fields [EMAIL PROTECTED]
Acked-by: NeilBrown [EMAIL PROTECTED]
Signed-off-by: Andrew Morton [EMAIL PROTECTED]
Signed-off-by: Linus Torvalds [EMAIL PROTECTED]
---
 fs/nfsd/vfs.c |2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/fs/nfsd/vfs.c b/fs/nfsd/vfs.c
index e90f4a8..b8da5dd 100644
--- a/fs/nfsd/vfs.c
+++ b/fs/nfsd/vfs.c
@@ -1916,7 +1916,7 @@ nfsd_racache_init(int cache_size)
raparm_hash[i].pb_head = NULL;
spin_lock_init(raparm_hash[i].pb_lock);
}
-   nperbucket = cache_size  RAPARM_HASH_BITS;
+   nperbucket = DIV_ROUND_UP(cache_size, RAPARM_HASH_SIZE);
for (i = 0; i  cache_size - 1; i++) {
if (i % nperbucket == 0)
raparm_hash[j++].pb_head = raparml + i;
-
To unsubscribe from this list: send the line unsubscribe git-commits-head in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


fs: remove path_walk export

2007-07-19 Thread Linux Kernel Mailing List
Gitweb: 
http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=f79c20f52532d38fd0aee7ef64e138cc1613c484
Commit: f79c20f52532d38fd0aee7ef64e138cc1613c484
Parent: c4a7808fc3d7a346d5d12e0d69d76d66d821488b
Author: Josef 'Jeff' Sipek [EMAIL PROTECTED]
AuthorDate: Thu Jul 19 01:48:22 2007 -0700
Committer:  Linus Torvalds [EMAIL PROTECTED]
CommitDate: Thu Jul 19 10:04:45 2007 -0700

fs: remove path_walk export

Signed-off-by: Josef 'Jeff' Sipek [EMAIL PROTECTED]
Cc: Al Viro [EMAIL PROTECTED]
Acked-by: Christoph Hellwig [EMAIL PROTECTED]
Cc: Trond Myklebust [EMAIL PROTECTED]
Cc: Neil Brown [EMAIL PROTECTED]
Cc: Michael Halcrow [EMAIL PROTECTED]
Signed-off-by: Andrew Morton [EMAIL PROTECTED]
Signed-off-by: Linus Torvalds [EMAIL PROTECTED]
---
 fs/namei.c|3 +--
 include/linux/namei.h |1 -
 2 files changed, 1 insertions(+), 3 deletions(-)

diff --git a/fs/namei.c b/fs/namei.c
index b9fdda8..a83160a 100644
--- a/fs/namei.c
+++ b/fs/namei.c
@@ -1024,7 +1024,7 @@ static int fastcall link_path_walk(const char *name, 
struct nameidata *nd)
return result;
 }
 
-int fastcall path_walk(const char * name, struct nameidata *nd)
+static int fastcall path_walk(const char * name, struct nameidata *nd)
 {
current-total_link_count = 0;
return link_path_walk(name, nd);
@@ -2809,7 +2809,6 @@ EXPORT_SYMBOL(page_symlink_inode_operations);
 EXPORT_SYMBOL(path_lookup);
 EXPORT_SYMBOL(vfs_path_lookup);
 EXPORT_SYMBOL(path_release);
-EXPORT_SYMBOL(path_walk);
 EXPORT_SYMBOL(permission);
 EXPORT_SYMBOL(vfs_permission);
 EXPORT_SYMBOL(file_permission);
diff --git a/include/linux/namei.h b/include/linux/namei.h
index 18ea812..6c38efb 100644
--- a/include/linux/namei.h
+++ b/include/linux/namei.h
@@ -71,7 +71,6 @@ extern int FASTCALL(__user_walk_fd(int dfd, const char __user 
*, unsigned, struc
 extern int FASTCALL(path_lookup(const char *, unsigned, struct nameidata *));
 extern int vfs_path_lookup(struct dentry *, struct vfsmount *,
   const char *, unsigned int, struct nameidata *);
-extern int FASTCALL(path_walk(const char *, struct nameidata *));
 extern void path_release(struct nameidata *);
 extern void path_release_on_umount(struct nameidata *);
 
-
To unsubscribe from this list: send the line unsubscribe git-commits-head in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


lguest: the asm offsets

2007-07-19 Thread Linux Kernel Mailing List
Gitweb: 
http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=6db7016d17b235a24e0c1544c202defa47ae7247
Commit: 6db7016d17b235a24e0c1544c202defa47ae7247
Parent: d7e28ffe6c74416b54345d6004fd0964c115b12c
Author: Rusty Russell [EMAIL PROTECTED]
AuthorDate: Thu Jul 19 01:49:26 2007 -0700
Committer:  Linus Torvalds [EMAIL PROTECTED]
CommitDate: Thu Jul 19 10:04:52 2007 -0700

lguest: the asm offsets

This is the structure offsets required by lg.ko's switcher.S.

Unfortunately we don't have infrastructure for private asm-offsets
creation.

Signed-off-by: Rusty Russell [EMAIL PROTECTED]
Cc: Andi Kleen [EMAIL PROTECTED]
Signed-off-by: Andrew Morton [EMAIL PROTECTED]
Signed-off-by: Linus Torvalds [EMAIL PROTECTED]
---
 arch/i386/kernel/asm-offsets.c |   20 
 1 files changed, 20 insertions(+), 0 deletions(-)

diff --git a/arch/i386/kernel/asm-offsets.c b/arch/i386/kernel/asm-offsets.c
index 25f7eb5..7288ac8 100644
--- a/arch/i386/kernel/asm-offsets.c
+++ b/arch/i386/kernel/asm-offsets.c
@@ -19,6 +19,11 @@
 
 #include xen/interface/xen.h
 
+#ifdef CONFIG_LGUEST_GUEST
+#include linux/lguest.h
+#include ../../../drivers/lguest/lg.h
+#endif
+
 #define DEFINE(sym, val) \
 asm volatile(\n- #sym  %0  #val : : i (val))
 
@@ -124,4 +129,19 @@ void foo(void)
OFFSET(XEN_vcpu_info_mask, vcpu_info, evtchn_upcall_mask);
OFFSET(XEN_vcpu_info_pending, vcpu_info, evtchn_upcall_pending);
 #endif
+
+#ifdef CONFIG_LGUEST_GUEST
+   BLANK();
+   OFFSET(LGUEST_DATA_irq_enabled, lguest_data, irq_enabled);
+   OFFSET(LGUEST_PAGES_host_gdt_desc, lguest_pages, state.host_gdt_desc);
+   OFFSET(LGUEST_PAGES_host_idt_desc, lguest_pages, state.host_idt_desc);
+   OFFSET(LGUEST_PAGES_host_cr3, lguest_pages, state.host_cr3);
+   OFFSET(LGUEST_PAGES_host_sp, lguest_pages, state.host_sp);
+   OFFSET(LGUEST_PAGES_guest_gdt_desc, lguest_pages,state.guest_gdt_desc);
+   OFFSET(LGUEST_PAGES_guest_idt_desc, lguest_pages,state.guest_idt_desc);
+   OFFSET(LGUEST_PAGES_guest_gdt, lguest_pages, state.guest_gdt);
+   OFFSET(LGUEST_PAGES_regs_trapnum, lguest_pages, regs.trapnum);
+   OFFSET(LGUEST_PAGES_regs_errcode, lguest_pages, regs.errcode);
+   OFFSET(LGUEST_PAGES_regs, lguest_pages, regs);
+#endif
 }
-
To unsubscribe from this list: send the line unsubscribe git-commits-head in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


coda: coda doesn't track atime

2007-07-19 Thread Linux Kernel Mailing List
Gitweb: 
http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=fac1f0e34026a656174102ebad4d1cd71cd4fe2c
Commit: fac1f0e34026a656174102ebad4d1cd71cd4fe2c
Parent: 8c6d21528406ec719aaea9d589876fd105c31646
Author: Jan Harkes [EMAIL PROTECTED]
AuthorDate: Thu Jul 19 01:48:44 2007 -0700
Committer:  Linus Torvalds [EMAIL PROTECTED]
CommitDate: Thu Jul 19 10:04:48 2007 -0700

coda: coda doesn't track atime

Set MS_NOATIME flag to avoid unnecessary calls when the coda inode is
accessed.

Also, set statfs.f_bsize to 4k.  1k is obviously too small for the suggested
IO size.

Signed-off-by: Jan Harkes [EMAIL PROTECTED]
Signed-off-by: Andrew Morton [EMAIL PROTECTED]
Signed-off-by: Linus Torvalds [EMAIL PROTECTED]
---
 fs/coda/inode.c |   16 
 1 files changed, 8 insertions(+), 8 deletions(-)

diff --git a/fs/coda/inode.c b/fs/coda/inode.c
index dbff1bd..29e4417 100644
--- a/fs/coda/inode.c
+++ b/fs/coda/inode.c
@@ -83,7 +83,7 @@ void coda_destroy_inodecache(void)
 
 static int coda_remount(struct super_block *sb, int *flags, char *data)
 {
-   *flags |= MS_NODIRATIME;
+   *flags |= MS_NOATIME;
return 0;
 }
 
@@ -176,12 +176,12 @@ static int coda_fill_super(struct super_block *sb, void 
*data, int silent)
 
sbi-sbi_vcomm = vc;
 
-sb-s_fs_info = sbi;
-   sb-s_flags |= MS_NODIRATIME; /* probably even noatime */
-sb-s_blocksize = 1024;/* X  what do we put here?? */
-sb-s_blocksize_bits = 10;
-sb-s_magic = CODA_SUPER_MAGIC;
-sb-s_op = coda_super_operations;
+   sb-s_fs_info = sbi;
+   sb-s_flags |= MS_NOATIME;
+   sb-s_blocksize = 4096; /* X  what do we put here?? */
+   sb-s_blocksize_bits = 12;
+   sb-s_magic = CODA_SUPER_MAGIC;
+   sb-s_op = coda_super_operations;
 
/* get root fid from Venus: this needs the root inode */
error = venus_rootfid(sb, fid);
@@ -296,7 +296,7 @@ static int coda_statfs(struct dentry *dentry, struct 
kstatfs *buf)
 
/* and fill in the rest */
buf-f_type = CODA_SUPER_MAGIC;
-   buf-f_bsize = 1024;
+   buf-f_bsize = 4096;
buf-f_namelen = CODA_MAXNAMLEN;
 
return 0; 
-
To unsubscribe from this list: send the line unsubscribe git-commits-head in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


nfsd: return errors, not NULL, from export functions

2007-07-19 Thread Linux Kernel Mailing List
Gitweb: 
http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=9a25b96c1f6e1a3c85c9524f3046c7c75d8fecc7
Commit: 9a25b96c1f6e1a3c85c9524f3046c7c75d8fecc7
Parent: a280df32db291f41b3922ac218674be526af5b9b
Author: J. Bruce Fields [EMAIL PROTECTED]
AuthorDate: Thu Jul 19 01:49:18 2007 -0700
Committer:  Linus Torvalds [EMAIL PROTECTED]
CommitDate: Thu Jul 19 10:04:52 2007 -0700

nfsd: return errors, not NULL, from export functions

I converted the various export-returning functions to return -ENOENT instead
of NULL, but missed a few cases.

This particular case could cause actual bugs in the case of a krb5 client 
that
doesn't match any ip-based client and that is trying to access a filesystem
not exported to krb5 clients.

Signed-off-by: J. Bruce Fields [EMAIL PROTECTED]
Acked-by: Neil Brown [EMAIL PROTECTED]
Signed-off-by: Andrew Morton [EMAIL PROTECTED]
Signed-off-by: Linus Torvalds [EMAIL PROTECTED]
---
 fs/nfsd/export.c |8 
 1 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/fs/nfsd/export.c b/fs/nfsd/export.c
index c7bbf46..6ab8de4 100644
--- a/fs/nfsd/export.c
+++ b/fs/nfsd/export.c
@@ -1265,7 +1265,7 @@ struct svc_export *
 rqst_exp_get_by_name(struct svc_rqst *rqstp, struct vfsmount *mnt,
struct dentry *dentry)
 {
-   struct svc_export *gssexp, *exp = NULL;
+   struct svc_export *gssexp, *exp = ERR_PTR(-ENOENT);
 
if (rqstp-rq_client == NULL)
goto gss;
@@ -1288,7 +1288,7 @@ gss:
rqstp-rq_chandle);
if (PTR_ERR(gssexp) == -ENOENT)
return exp;
-   if (exp  !IS_ERR(exp))
+   if (!IS_ERR(exp))
exp_put(exp);
return gssexp;
 }
@@ -1296,7 +1296,7 @@ gss:
 struct svc_export *
 rqst_exp_find(struct svc_rqst *rqstp, int fsid_type, u32 *fsidv)
 {
-   struct svc_export *gssexp, *exp = NULL;
+   struct svc_export *gssexp, *exp = ERR_PTR(-ENOENT);
 
if (rqstp-rq_client == NULL)
goto gss;
@@ -1318,7 +1318,7 @@ gss:
rqstp-rq_chandle);
if (PTR_ERR(gssexp) == -ENOENT)
return exp;
-   if (exp  !IS_ERR(exp))
+   if (!IS_ERR(exp))
exp_put(exp);
return gssexp;
 }
-
To unsubscribe from this list: send the line unsubscribe git-commits-head in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Freezer: return int from freeze_processes

2007-07-19 Thread Linux Kernel Mailing List
Gitweb: 
http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=e7cd8a722745a01bcfac4d4a52d53391d177da20
Commit: e7cd8a722745a01bcfac4d4a52d53391d177da20
Parent: f4a3a7d60c9c9a961e4c970f6eb41dd1c9d3ec21
Author: Rafael J. Wysocki [EMAIL PROTECTED]
AuthorDate: Thu Jul 19 01:47:34 2007 -0700
Committer:  Linus Torvalds [EMAIL PROTECTED]
CommitDate: Thu Jul 19 10:04:42 2007 -0700

Freezer: return int from freeze_processes

Make try_to_freeze_tasks() and freeze_processes() return -EBUSY on failure
instead of the number of unfrozen tasks (none of the callers actually uses
this number).

Signed-off-by: Rafael J. Wysocki [EMAIL PROTECTED]
Acked-by: Pavel Machek [EMAIL PROTECTED]
Cc: Gautham R Shenoy [EMAIL PROTECTED]
Cc: Oleg Nesterov [EMAIL PROTECTED]
Signed-off-by: Andrew Morton [EMAIL PROTECTED]
Signed-off-by: Linus Torvalds [EMAIL PROTECTED]
---
 kernel/power/process.c |   21 +
 1 files changed, 9 insertions(+), 12 deletions(-)

diff --git a/kernel/power/process.c b/kernel/power/process.c
index 9b5301c..00cdbe5 100644
--- a/kernel/power/process.c
+++ b/kernel/power/process.c
@@ -105,7 +105,7 @@ static void cancel_freezing(struct task_struct *p)
}
 }
 
-static unsigned int try_to_freeze_tasks(int freeze_user_space)
+static int try_to_freeze_tasks(int freeze_user_space)
 {
struct task_struct *g, *p;
unsigned long end_time;
@@ -176,28 +176,25 @@ static unsigned int try_to_freeze_tasks(int 
freeze_user_space)
read_unlock(tasklist_lock);
}
 
-   return todo;
+   return todo ? -EBUSY : 0;
 }
 
 /**
  * freeze_processes - tell processes to enter the refrigerator
- *
- * Returns 0 on success, or the number of processes that didn't freeze,
- * although they were told to.
  */
 int freeze_processes(void)
 {
-   unsigned int nr_unfrozen;
+   int error;
 
printk(Stopping tasks ... );
-   nr_unfrozen = try_to_freeze_tasks(FREEZER_USER_SPACE);
-   if (nr_unfrozen)
-   return nr_unfrozen;
+   error = try_to_freeze_tasks(FREEZER_USER_SPACE);
+   if (error)
+   return error;
 
sys_sync();
-   nr_unfrozen = try_to_freeze_tasks(FREEZER_KERNEL_THREADS);
-   if (nr_unfrozen)
-   return nr_unfrozen;
+   error = try_to_freeze_tasks(FREEZER_KERNEL_THREADS);
+   if (error)
+   return error;
 
printk(done.\n);
BUG_ON(in_atomic());
-
To unsubscribe from this list: send the line unsubscribe git-commits-head in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


drivers/edac: device output clenaup

2007-07-19 Thread Linux Kernel Mailing List
Gitweb: 
http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=d391a7b8147d12b0e5141fb65829856fb0c289dc
Commit: d391a7b8147d12b0e5141fb65829856fb0c289dc
Parent: 42a8e397a80c277afb2aeb22232bc70114035bb1
Author: Douglas Thompson [EMAIL PROTECTED]
AuthorDate: Thu Jul 19 01:50:11 2007 -0700
Committer:  Linus Torvalds [EMAIL PROTECTED]
CommitDate: Thu Jul 19 10:04:55 2007 -0700

drivers/edac: device output clenaup

The error handling output strings needed to be refactored for better
displaying of the error informaton.

Also needed to added offset_value for output as well

Signed-off-by: Douglas Thompson [EMAIL PROTECTED]
Signed-off-by: Andrew Morton [EMAIL PROTECTED]
Signed-off-by: Linus Torvalds [EMAIL PROTECTED]
---
 drivers/edac/edac_device.c |8 
 1 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/drivers/edac/edac_device.c b/drivers/edac/edac_device.c
index 26807af..dfdfc4b 100644
--- a/drivers/edac/edac_device.c
+++ b/drivers/edac/edac_device.c
@@ -158,7 +158,7 @@ struct edac_device_ctl_info *edac_device_alloc_ctl_info(
attrib_p = dev_attrib[block * nr_attribs];
blk-attribs = attrib_p;
snprintf(blk-name, sizeof(blk-name),
-%s%d, edac_block_name, block + 1);
+%s%d, edac_block_name, block+offset_value);
blk-name[sizeof(blk-name) - 1] = '\0';
 
debugf1(%s() instance=%d block=%d name=%s\n,
@@ -580,7 +580,7 @@ void edac_device_handle_ce(struct edac_device_ctl_info 
*edac_dev,
 
if (edac_device_get_log_ce(edac_dev))
edac_device_printk(edac_dev, KERN_WARNING,
-  CE ctl: %s, instance: %s, block: %s: %s\n,
+  CE: %s instance: %s block: %s '%s'\n,
   edac_dev-ctl_name, instance-name,
   block ? block-name : N/A, msg);
 }
@@ -626,12 +626,12 @@ void edac_device_handle_ue(struct edac_device_ctl_info 
*edac_dev,
 
if (edac_device_get_log_ue(edac_dev))
edac_device_printk(edac_dev, KERN_EMERG,
-  UE ctl: %s, instance: %s, block: %s: %s\n,
+  UE: %s instance: %s block: %s '%s'\n,
   edac_dev-ctl_name, instance-name,
   block ? block-name : N/A, msg);
 
if (edac_device_get_panic_on_ue(edac_dev))
-   panic(EDAC %s: UE instance: %s, block %s: %s\n,
+   panic(EDAC %s: UE instance: %s block %s '%s'\n,
  edac_dev-ctl_name, instance-name,
  block ? block-name : N/A, msg);
 }
-
To unsubscribe from this list: send the line unsubscribe git-commits-head in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


i386: Put allocated ELF notes in read-only data segment

2007-07-19 Thread Linux Kernel Mailing List
Gitweb: 
http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=cbe87121f1545bb3e98ae114519bf0c4db27d6ab
Commit: cbe87121f1545bb3e98ae114519bf0c4db27d6ab
Parent: b38bd33a6bf5095736620ca8e85fe61820c2d312
Author: Roland McGrath [EMAIL PROTECTED]
AuthorDate: Thu Jul 19 01:48:36 2007 -0700
Committer:  Linus Torvalds [EMAIL PROTECTED]
CommitDate: Thu Jul 19 10:04:47 2007 -0700

i386: Put allocated ELF notes in read-only data segment

This changes the i386 linker script and the asm-generic macro it uses so 
that
ELF note sections with SHF_ALLOC set are linked into the kernel image along
with other read-only data.  The PT_NOTE also points to their location.

This paves the way for putting useful build-time information into ELF notes
that can be found easily later in a kernel memory dump.

Signed-off-by: Roland McGrath [EMAIL PROTECTED]
Cc: Andi Kleen [EMAIL PROTECTED]
Cc: Paul Mackerras [EMAIL PROTECTED]
Cc: Benjamin Herrenschmidt [EMAIL PROTECTED]
Cc: Richard Henderson [EMAIL PROTECTED]
Cc: Ivan Kokshaysky [EMAIL PROTECTED]
Cc: Martin Schwidefsky [EMAIL PROTECTED]
Cc: Heiko Carstens [EMAIL PROTECTED]
Signed-off-by: Andrew Morton [EMAIL PROTECTED]
Signed-off-by: Linus Torvalds [EMAIL PROTECTED]
---
 arch/i386/kernel/vmlinux.lds.S|6 +++---
 include/asm-generic/vmlinux.lds.h |6 +-
 2 files changed, 8 insertions(+), 4 deletions(-)

diff --git a/arch/i386/kernel/vmlinux.lds.S b/arch/i386/kernel/vmlinux.lds.S
index 4dc44b8..7d72cce 100644
--- a/arch/i386/kernel/vmlinux.lds.S
+++ b/arch/i386/kernel/vmlinux.lds.S
@@ -60,7 +60,9 @@ SECTIONS
__stop___ex_table = .;
   }
 
-  BUG_TABLE
+  NOTES :text :note
+
+  BUG_TABLE :text
 
   . = ALIGN(4);
   .tracedata : AT(ADDR(.tracedata) - LOAD_OFFSET) {
@@ -208,6 +210,4 @@ SECTIONS
   STABS_DEBUG
 
   DWARF_DEBUG
-
-  NOTES
 }
diff --git a/include/asm-generic/vmlinux.lds.h 
b/include/asm-generic/vmlinux.lds.h
index a2b09ed..0240e05 100644
--- a/include/asm-generic/vmlinux.lds.h
+++ b/include/asm-generic/vmlinux.lds.h
@@ -224,7 +224,11 @@
}
 
 #define NOTES  \
-   .notes : { *(.note.*) } :note
+   .notes : AT(ADDR(.notes) - LOAD_OFFSET) {   \
+   VMLINUX_SYMBOL(__start_notes) = .;  \
+   *(.note.*)  \
+   VMLINUX_SYMBOL(__stop_notes) = .;   \
+   }
 
 #define INITCALLS  \
*(.initcall0.init)  \
-
To unsubscribe from this list: send the line unsubscribe git-commits-head in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


swsusp: fix hibernation code ordering

2007-07-19 Thread Linux Kernel Mailing List
Gitweb: 
http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=10a1803d667e209914eaada9b95525252f23ec78
Commit: 10a1803d667e209914eaada9b95525252f23ec78
Parent: a634cc10164d1c229fbeca33923e6a0ed939e894
Author: Rafael J. Wysocki [EMAIL PROTECTED]
AuthorDate: Thu Jul 19 01:47:31 2007 -0700
Committer:  Linus Torvalds [EMAIL PROTECTED]
CommitDate: Thu Jul 19 10:04:42 2007 -0700

swsusp: fix hibernation code ordering

Change the code ordering so that hibernation_ops-prepare() is called after
device_suspend().  This is needed so that we don't violate the ACPI
specification, which states that the _PTS and _GTS system-control methods,
executed from acpi_sleep_prepare(), ought to be called after devices have 
been
put in low power states.

The Finish label in hibernation_restore() is moved, because 
device_suspend()
resumes devices if the suspending of them fails and the restore code 
ordering
should reflect the hibernation code ordering.

Signed-off-by: Rafael J. Wysocki [EMAIL PROTECTED]
Acked-by: Pavel Machek [EMAIL PROTECTED]
Cc: Nigel Cunningham [EMAIL PROTECTED]
Signed-off-by: Andrew Morton [EMAIL PROTECTED]
Signed-off-by: Linus Torvalds [EMAIL PROTECTED]
---
 kernel/power/disk.c |   14 +++---
 1 files changed, 7 insertions(+), 7 deletions(-)

diff --git a/kernel/power/disk.c b/kernel/power/disk.c
index fa3b43b..77ac605 100644
--- a/kernel/power/disk.c
+++ b/kernel/power/disk.c
@@ -133,15 +133,15 @@ int hibernation_snapshot(int platform_mode)
/* Free memory before shutting down devices. */
error = swsusp_shrink_memory();
if (error)
-   goto Finish;
-
-   error = platform_prepare(platform_mode);
-   if (error)
-   goto Finish;
+   return error;
 
suspend_console();
error = device_suspend(PMSG_FREEZE);
if (error)
+   goto Resume_console;
+
+   error = platform_prepare(platform_mode);
+   if (error)
goto Resume_devices;
 
error = disable_nonboot_cpus();
@@ -159,8 +159,8 @@ int hibernation_snapshot(int platform_mode)
  Resume_devices:
platform_finish(platform_mode);
device_resume();
+ Resume_console:
resume_console();
- Finish:
return error;
 }
 
@@ -191,8 +191,8 @@ int hibernation_restore(int platform_mode)
enable_nonboot_cpus();
}
platform_restore_cleanup(platform_mode);
- Finish:
device_resume();
+ Finish:
resume_console();
pm_restore_console();
return error;
-
To unsubscribe from this list: send the line unsubscribe git-commits-head in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


readahead: move synchronous readahead call out of splice loop

2007-07-19 Thread Linux Kernel Mailing List
Gitweb: 
http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=431a4820bfcdf7ff530e745230bafb06c9bf2d6d
Commit: 431a4820bfcdf7ff530e745230bafb06c9bf2d6d
Parent: c743d96b6d2ff55a94df7b5ac7c74987bb9c343b
Author: Fengguang Wu [EMAIL PROTECTED]
AuthorDate: Thu Jul 19 01:48:05 2007 -0700
Committer:  Linus Torvalds [EMAIL PROTECTED]
CommitDate: Thu Jul 19 10:04:44 2007 -0700

readahead: move synchronous readahead call out of splice loop

Move synchronous page_cache_readahead_ondemand() call out of splice loop.

This avoids one pointless page allocation/insertion in case of non-zero
ra_pages, or many pointless readahead calls in case of zero ra_pages.

Note that if a user sets ra_pages to less than PIPE_BUFFERS=16 pages, he 
will
not get expected readahead behavior anyway.  The splice code works in 
batches
of 16 pages, which can be taken as another form of synchronous readahead.

Signed-off-by: Fengguang Wu [EMAIL PROTECTED]
Cc: Jens Axboe [EMAIL PROTECTED]
Cc: Rusty Russell [EMAIL PROTECTED]
Signed-off-by: Andrew Morton [EMAIL PROTECTED]
Signed-off-by: Linus Torvalds [EMAIL PROTECTED]
---
 fs/splice.c |   11 ++-
 1 files changed, 6 insertions(+), 5 deletions(-)

diff --git a/fs/splice.c b/fs/splice.c
index 722449f..421b3b8 100644
--- a/fs/splice.c
+++ b/fs/splice.c
@@ -290,13 +290,17 @@ __generic_file_splice_read(struct file *in, loff_t *ppos,
 * Lookup the (hopefully) full range of pages we need.
 */
spd.nr_pages = find_get_pages_contig(mapping, index, nr_pages, pages);
+   index += spd.nr_pages;
 
/*
 * If find_get_pages_contig() returned fewer pages than we needed,
-* allocate the rest and fill in the holes.
+* readahead/allocate the rest and fill in the holes.
 */
+   if (spd.nr_pages  nr_pages)
+   page_cache_readahead_ondemand(mapping, in-f_ra, in,
+   NULL, index, nr_pages - spd.nr_pages);
+
error = 0;
-   index += spd.nr_pages;
while (spd.nr_pages  nr_pages) {
/*
 * Page could be there, find_get_pages_contig() breaks on
@@ -304,9 +308,6 @@ __generic_file_splice_read(struct file *in, loff_t *ppos,
 */
page = find_get_page(mapping, index);
if (!page) {
-   page_cache_readahead_ondemand(mapping, in-f_ra, in,
-   NULL, index, nr_pages - spd.nr_pages);
-
/*
 * page didn't exist, allocate one.
 */
-
To unsubscribe from this list: send the line unsubscribe git-commits-head in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


kernel-doc: strip C99 comments

2007-07-19 Thread Linux Kernel Mailing List
Gitweb: 
http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=51f5a0c8f63990fcb6e09ed52be348df58c9e416
Commit: 51f5a0c8f63990fcb6e09ed52be348df58c9e416
Parent: 5f8c7c98ae3888cf0a2cf320f514f75cc92f00be
Author: Randy Dunlap [EMAIL PROTECTED]
AuthorDate: Thu Jul 19 01:48:24 2007 -0700
Committer:  Linus Torvalds [EMAIL PROTECTED]
CommitDate: Thu Jul 19 10:04:45 2007 -0700

kernel-doc: strip C99 comments

Strip C99-style comments from the input stream.
/*...*/ comments are already stripped.
C99 comments confuse the kernel-doc script.

Also update some comments.

Signed-off-by: Randy Dunlap [EMAIL PROTECTED]
Signed-off-by: Andrew Morton [EMAIL PROTECTED]
Signed-off-by: Linus Torvalds [EMAIL PROTECTED]
---
 scripts/kernel-doc |8 +++-
 1 files changed, 7 insertions(+), 1 deletions(-)

diff --git a/scripts/kernel-doc b/scripts/kernel-doc
index 08894f4..f5862ab 100755
--- a/scripts/kernel-doc
+++ b/scripts/kernel-doc
@@ -719,6 +719,7 @@ sub output_struct_xml(%) {
# pointer-to-function
print   $1 $parameter) ($2);\n;
} elsif ($type =~ m/^(.*?)\s*(:.*)/) {
+   # bitfield
print   $1 $parameter$2;\n;
} else {
print   .$type. .$parameter.;\n;
@@ -1261,6 +1262,7 @@ sub output_struct_text(%) {
# pointer-to-function
print \t$1 $parameter) ($2);\n;
} elsif ($type =~ m/^(.*?)\s*(:.*)/) {
+   # bitfield
print \t$1 $parameter$2;\n;
} else {
print \t.$type. .$parameter.;\n;
@@ -1697,6 +1699,8 @@ sub process_state3_function($$) {
 my $x = shift;
 my $file = shift;
 
+$x =~ [EMAIL PROTECTED]/\/.*$@@gos; # strip C99-style comments to end of 
line
+
 if ($x =~ m#\s*/\*\s+MACDOC\s*#io || ($x =~ /^#/  $x !~ /^#define/)) {
# do nothing
 }
@@ -1719,6 +1723,8 @@ sub process_state3_type($$) {
 $x =~ [EMAIL PROTECTED]@ @gos; # strip newlines/cr's.
 $x =~ [EMAIL PROTECTED]@@gos; # strip leading spaces
 $x =~ [EMAIL PROTECTED]@@gos; # strip trailing spaces
+$x =~ [EMAIL PROTECTED]/\/.*$@@gos; # strip C99-style comments to end of 
line
+
 if ($x =~ /^#/) {
# To distinguish preprocessor directive from regular declaration later.
$x .= ;;
@@ -1802,7 +1808,7 @@ sub process_file($) {
 
$state = 2;
if (/-(.*)/) {
-   # strip leading/trailing/multiple spaces #RDD:T:
+   # strip leading/trailing/multiple spaces
$descr= $1;
$descr =~ s/^\s*//;
$descr =~ s/\s*$//;
-
To unsubscribe from this list: send the line unsubscribe git-commits-head in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Use --build-id ld option

2007-07-19 Thread Linux Kernel Mailing List
Gitweb: 
http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=18991197b4b588255ccabf472ebc84db7b66a19c
Commit: 18991197b4b588255ccabf472ebc84db7b66a19c
Parent: da1a679cde9b12d6e331f43d2d92a234f2d1f9b0
Author: Roland McGrath [EMAIL PROTECTED]
AuthorDate: Thu Jul 19 01:48:40 2007 -0700
Committer:  Linus Torvalds [EMAIL PROTECTED]
CommitDate: Thu Jul 19 10:04:48 2007 -0700

Use --build-id ld option

This change passes the --build-id when linking the kernel and when linking
modules, if ld supports it.  This is a new GNU ld option that synthesizes an
ELF note section inside the read-only data.  The note in this section 
contains
unique identifying bits called the build ID, which are generated so as to 
be
different for any two linked ELF files that aren't identical.  The build ID
can be recovered from stripped files, memory dumps, etc.  and used to look 
up
the original program built, locate debuginfo or other details or history
associated with it.  For normal program linking, the compiler passes
--build-id to ld by default, but the option is needed when using ld directly
as we do.

Signed-off-by: Roland McGrath [EMAIL PROTECTED]
Cc: Andi Kleen [EMAIL PROTECTED]
Cc: Paul Mackerras [EMAIL PROTECTED]
Cc: Benjamin Herrenschmidt [EMAIL PROTECTED]
Cc: Richard Henderson [EMAIL PROTECTED]
Cc: Ivan Kokshaysky [EMAIL PROTECTED]
Cc: Martin Schwidefsky [EMAIL PROTECTED]
Cc: Heiko Carstens [EMAIL PROTECTED]
Signed-off-by: Andrew Morton [EMAIL PROTECTED]
Signed-off-by: Linus Torvalds [EMAIL PROTECTED]
---
 Makefile |6 ++
 1 files changed, 6 insertions(+), 0 deletions(-)

diff --git a/Makefile b/Makefile
index ddbfcac..eccb03b 100644
--- a/Makefile
+++ b/Makefile
@@ -514,6 +514,12 @@ CFLAGS += $(call cc-option,-Wdeclaration-after-statement,)
 # disable pointer signed / unsigned warnings in gcc 4.0
 CFLAGS += $(call cc-option,-Wno-pointer-sign,)
 
+# Use --build-id when available.
+LDFLAGS_BUILD_ID = $(patsubst -Wl$(comma)%,%,\
+ $(call ld-option, -Wl$(comma)--build-id,))
+LDFLAGS_MODULE += $(LDFLAGS_BUILD_ID)
+LDFLAGS_vmlinux += $(LDFLAGS_BUILD_ID)
+
 # Default kernel image to build when no specific target is given.
 # KBUILD_IMAGE may be overruled on the command line or
 # set in the environment
-
To unsubscribe from this list: send the line unsubscribe git-commits-head in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


drivers/edac: mod assert_error check

2007-07-19 Thread Linux Kernel Mailing List
Gitweb: 
http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=66ee2f940ac8ab25f0c43a1e717d25dc46bfe74d
Commit: 66ee2f940ac8ab25f0c43a1e717d25dc46bfe74d
Parent: 91b99041c1d577ded1da599ddc28cec2e07253cf
Author: Dave Jiang [EMAIL PROTECTED]
AuthorDate: Thu Jul 19 01:49:54 2007 -0700
Committer:  Linus Torvalds [EMAIL PROTECTED]
CommitDate: Thu Jul 19 10:04:54 2007 -0700

drivers/edac: mod assert_error check

Change error check and clear variable from an atomic to an int

Signed-off-by: Dave Jiang [EMAIL PROTECTED]
Signed-off-by: Douglas Thompson [EMAIL PROTECTED]
Signed-off-by: Andrew Morton [EMAIL PROTECTED]
Signed-off-by: Linus Torvalds [EMAIL PROTECTED]
---
 drivers/edac/edac_mc.c   |   11 ---
 drivers/edac/edac_stub.c |4 ++--
 include/linux/edac.h |2 +-
 3 files changed, 7 insertions(+), 10 deletions(-)

diff --git a/drivers/edac/edac_mc.c b/drivers/edac/edac_mc.c
index 3474ca9..7c952c6 100644
--- a/drivers/edac/edac_mc.c
+++ b/drivers/edac/edac_mc.c
@@ -222,18 +222,15 @@ static struct mem_ctl_info *find_mci_by_dev(struct device 
*dev)
  */
 static int edac_mc_assert_error_check_and_clear(void)
 {
-   int vreg;
+   int old_state;
 
if(edac_op_state == EDAC_OPSTATE_POLL)
return 1;
 
-   vreg = atomic_read(edac_err_assert);
-   if(vreg) {
-   atomic_set(edac_err_assert, 0);
-   return 1;
-   }
+   old_state = edac_err_assert;
+   edac_err_assert = 0;
 
-   return 0;
+   return old_state;
 }
 
 /*
diff --git a/drivers/edac/edac_stub.c b/drivers/edac/edac_stub.c
index 91a038d..3d259c2 100644
--- a/drivers/edac/edac_stub.c
+++ b/drivers/edac/edac_stub.c
@@ -20,7 +20,7 @@ EXPORT_SYMBOL(edac_op_state);
 atomic_t edac_handlers = ATOMIC_INIT(0);
 EXPORT_SYMBOL(edac_handlers);
 
-atomic_t edac_err_assert = ATOMIC_INIT(0);
+int edac_err_assert = 0;
 EXPORT_SYMBOL(edac_err_assert);
 
 inline int edac_handler_set(void)
@@ -37,6 +37,6 @@ EXPORT_SYMBOL(edac_handler_set);
  */
 inline void edac_atomic_assert_error(void)
 {
-   atomic_set(edac_err_assert, 1);
+   edac_err_assert++;
 }
 EXPORT_SYMBOL(edac_atomic_assert_error);
diff --git a/include/linux/edac.h b/include/linux/edac.h
index c8b92d7..eab451e 100644
--- a/include/linux/edac.h
+++ b/include/linux/edac.h
@@ -20,8 +20,8 @@
 #define EDAC_OPSTATE_INT   2
 
 extern int edac_op_state;
+extern int edac_err_assert;
 extern atomic_t edac_handlers;
-extern atomic_t edac_err_assert;
 
 extern int edac_handler_set(void);
 extern void edac_atomic_assert_error(void);
-
To unsubscribe from this list: send the line unsubscribe git-commits-head in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


readahead: convert splice invocations

2007-07-19 Thread Linux Kernel Mailing List
Gitweb: 
http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=a08a166fe77d9f9ad88ed6d06b97e73453661f89
Commit: a08a166fe77d9f9ad88ed6d06b97e73453661f89
Parent: 3ea89ee86a82e9fbde37018d9b9e92a552e5fd13
Author: Fengguang Wu [EMAIL PROTECTED]
AuthorDate: Thu Jul 19 01:48:03 2007 -0700
Committer:  Linus Torvalds [EMAIL PROTECTED]
CommitDate: Thu Jul 19 10:04:44 2007 -0700

readahead: convert splice invocations

Convert splice reads to use on-demand readahead.

Signed-off-by: Fengguang Wu [EMAIL PROTECTED]
Cc: Steven Pratt [EMAIL PROTECTED]
Cc: Ram Pai [EMAIL PROTECTED]
Cc: Jens Axboe [EMAIL PROTECTED]
Cc: Rusty Russell [EMAIL PROTECTED]
Signed-off-by: Andrew Morton [EMAIL PROTECTED]
Signed-off-by: Linus Torvalds [EMAIL PROTECTED]
---
 fs/splice.c |   18 +++---
 1 files changed, 7 insertions(+), 11 deletions(-)

diff --git a/fs/splice.c b/fs/splice.c
index 53fc208..722449f 100644
--- a/fs/splice.c
+++ b/fs/splice.c
@@ -287,12 +287,6 @@ __generic_file_splice_read(struct file *in, loff_t *ppos,
nr_pages = PIPE_BUFFERS;
 
/*
-* Don't try to 2nd guess the read-ahead logic, call into
-* page_cache_readahead() like the page cache reads would do.
-*/
-   page_cache_readahead(mapping, in-f_ra, in, index, nr_pages);
-
-   /*
 * Lookup the (hopefully) full range of pages we need.
 */
spd.nr_pages = find_get_pages_contig(mapping, index, nr_pages, pages);
@@ -310,11 +304,8 @@ __generic_file_splice_read(struct file *in, loff_t *ppos,
 */
page = find_get_page(mapping, index);
if (!page) {
-   /*
-* Make sure the read-ahead engine is notified
-* about this failure.
-*/
-   handle_ra_miss(mapping, in-f_ra, index);
+   page_cache_readahead_ondemand(mapping, in-f_ra, in,
+   NULL, index, nr_pages - spd.nr_pages);
 
/*
 * page didn't exist, allocate one.
@@ -361,6 +352,10 @@ __generic_file_splice_read(struct file *in, loff_t *ppos,
this_len = min_t(unsigned long, len, PAGE_CACHE_SIZE - loff);
page = pages[page_nr];
 
+   if (PageReadahead(page))
+   page_cache_readahead_ondemand(mapping, in-f_ra, in,
+   page, index, nr_pages - page_nr);
+
/*
 * If the page isn't uptodate, we may need to start io on it
 */
@@ -453,6 +448,7 @@ fill_it:
 */
while (page_nr  nr_pages)
page_cache_release(pages[page_nr++]);
+   in-f_ra.prev_index = index;
 
if (spd.nr_pages)
return splice_to_pipe(pipe, spd);
-
To unsubscribe from this list: send the line unsubscribe git-commits-head in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Add /sys/kernel/notes

2007-07-19 Thread Linux Kernel Mailing List
Gitweb: 
http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=da1a679cde9b12d6e331f43d2d92a234f2d1f9b0
Commit: da1a679cde9b12d6e331f43d2d92a234f2d1f9b0
Parent: 86ead9caf9a9f265f6065c46080d046230e25d78
Author: Roland McGrath [EMAIL PROTECTED]
AuthorDate: Thu Jul 19 01:48:39 2007 -0700
Committer:  Linus Torvalds [EMAIL PROTECTED]
CommitDate: Thu Jul 19 10:04:47 2007 -0700

Add /sys/kernel/notes

This patch adds the /sys/kernel/notes magic file.  Reading this delivers the
contents of the kernel's .notes section.  This lets userland easily glean 
any
detailed information about the running kernel's build that was stored there 
at
compile time.

Signed-off-by: Roland McGrath [EMAIL PROTECTED]
Cc: Andi Kleen [EMAIL PROTECTED]
Cc: Paul Mackerras [EMAIL PROTECTED]
Cc: Benjamin Herrenschmidt [EMAIL PROTECTED]
Cc: Richard Henderson [EMAIL PROTECTED]
Cc: Ivan Kokshaysky [EMAIL PROTECTED]
Cc: Martin Schwidefsky [EMAIL PROTECTED]
Cc: Heiko Carstens [EMAIL PROTECTED]
Signed-off-by: Andrew Morton [EMAIL PROTECTED]
Signed-off-by: Linus Torvalds [EMAIL PROTECTED]
---
 kernel/ksysfs.c |   28 
 1 files changed, 28 insertions(+), 0 deletions(-)

diff --git a/kernel/ksysfs.c b/kernel/ksysfs.c
index 559deca..2565e1b 100644
--- a/kernel/ksysfs.c
+++ b/kernel/ksysfs.c
@@ -62,6 +62,28 @@ static ssize_t kexec_crash_loaded_show(struct kset *kset, 
char *page)
 KERNEL_ATTR_RO(kexec_crash_loaded);
 #endif /* CONFIG_KEXEC */
 
+/*
+ * Make /sys/kernel/notes give the raw contents of our kernel .notes section.
+ */
+extern const char __start_notes __attribute__((weak));
+extern const char __stop_notes __attribute__((weak));
+#definenotes_size (__stop_notes - __start_notes)
+
+static ssize_t notes_read(struct kobject *kobj, struct bin_attribute *bin_attr,
+ char *buf, loff_t off, size_t count)
+{
+   memcpy(buf, __start_notes + off, count);
+   return count;
+}
+
+static struct bin_attribute notes_attr = {
+   .attr = {
+   .name = notes,
+   .mode = S_IRUGO,
+   },
+   .read = notes_read,
+};
+
 decl_subsys(kernel, NULL, NULL);
 EXPORT_SYMBOL_GPL(kernel_subsys);
 
@@ -88,6 +110,12 @@ static int __init ksysfs_init(void)
error = sysfs_create_group(kernel_subsys.kobj,
   kernel_attr_group);
 
+   if (!error  notes_size  0) {
+   notes_attr.size = notes_size;
+   error = sysfs_create_bin_file(kernel_subsys.kobj,
+ notes_attr);
+   }
+
return error;
 }
 
-
To unsubscribe from this list: send the line unsubscribe git-commits-head in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


RTC: add periodic irq support to rtc-cmos

2007-07-19 Thread Linux Kernel Mailing List
Gitweb: 
http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=57deb52622f3700d154e32662f36cd5f4053f6ed
Commit: 57deb52622f3700d154e32662f36cd5f4053f6ed
Parent: c7d51402d2a64c5b96531f9900bb368020eb
Author: Alessandro Zummo [EMAIL PROTECTED]
AuthorDate: Thu Jul 19 01:49:21 2007 -0700
Committer:  Linus Torvalds [EMAIL PROTECTED]
CommitDate: Thu Jul 19 10:04:52 2007 -0700

RTC: add periodic irq support to rtc-cmos

Adds support for periodic irq enabling in rtc-cmos.  This could be used by
the ALSA driver and is already being tested with the zaptel ztdummy module.

Signed-off-by: Alessandro Zummo [EMAIL PROTECTED]
Cc: David Brownell [EMAIL PROTECTED]
Signed-off-by: Andrew Morton [EMAIL PROTECTED]
Signed-off-by: Linus Torvalds [EMAIL PROTECTED]
---
 drivers/rtc/rtc-cmos.c |   33 +++--
 1 files changed, 31 insertions(+), 2 deletions(-)

diff --git a/drivers/rtc/rtc-cmos.c b/drivers/rtc/rtc-cmos.c
index e24ea82..5d760bb 100644
--- a/drivers/rtc/rtc-cmos.c
+++ b/drivers/rtc/rtc-cmos.c
@@ -235,7 +235,7 @@ static int cmos_set_alarm(struct device *dev, struct 
rtc_wkalrm *t)
return 0;
 }
 
-static int cmos_set_freq(struct device *dev, int freq)
+static int cmos_irq_set_freq(struct device *dev, int freq)
 {
struct cmos_rtc *cmos = dev_get_drvdata(dev);
int f;
@@ -259,6 +259,34 @@ static int cmos_set_freq(struct device *dev, int freq)
return 0;
 }
 
+static int cmos_irq_set_state(struct device *dev, int enabled)
+{
+   struct cmos_rtc *cmos = dev_get_drvdata(dev);
+   unsigned char   rtc_control, rtc_intr;
+   unsigned long   flags;
+
+   if (!is_valid_irq(cmos-irq))
+   return -ENXIO;
+
+   spin_lock_irqsave(rtc_lock, flags);
+   rtc_control = CMOS_READ(RTC_CONTROL);
+
+   if (enabled)
+   rtc_control |= RTC_PIE;
+   else
+   rtc_control = ~RTC_PIE;
+
+   CMOS_WRITE(rtc_control, RTC_CONTROL);
+
+   rtc_intr = CMOS_READ(RTC_INTR_FLAGS);
+   rtc_intr = (rtc_control  RTC_IRQMASK) | RTC_IRQF;
+   if (is_intr(rtc_intr))
+   rtc_update_irq(cmos-rtc, 1, rtc_intr);
+
+   spin_unlock_irqrestore(rtc_lock, flags);
+   return 0;
+}
+
 #if defined(CONFIG_RTC_INTF_DEV) || defined(CONFIG_RTC_INTF_DEV_MODULE)
 
 static int
@@ -360,7 +388,8 @@ static const struct rtc_class_ops cmos_rtc_ops = {
.read_alarm = cmos_read_alarm,
.set_alarm  = cmos_set_alarm,
.proc   = cmos_procfs,
-   .irq_set_freq   = cmos_set_freq,
+   .irq_set_freq   = cmos_irq_set_freq,
+   .irq_set_state  = cmos_irq_set_state,
 };
 
 /**/
-
To unsubscribe from this list: send the line unsubscribe git-commits-head in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


coda: do not grab an uninitialized fd when the open upcall returns an error

2007-07-19 Thread Linux Kernel Mailing List
Gitweb: 
http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=38c2e4370da495813ca93d7cad31ed5090e8c310
Commit: 38c2e4370da495813ca93d7cad31ed5090e8c310
Parent: 18991197b4b588255ccabf472ebc84db7b66a19c
Author: Jan Harkes [EMAIL PROTECTED]
AuthorDate: Thu Jul 19 01:48:41 2007 -0700
Committer:  Linus Torvalds [EMAIL PROTECTED]
CommitDate: Thu Jul 19 10:04:48 2007 -0700

coda: do not grab an uninitialized fd when the open upcall returns an error

When open fails the fd in the response is uninitialized and we ended up 
taking
a reference on the file struct and never released it.

Signed-off-by: Jan Harkes [EMAIL PROTECTED]
Signed-off-by: Andrew Morton [EMAIL PROTECTED]
Signed-off-by: Linus Torvalds [EMAIL PROTECTED]
---
 fs/coda/file.c   |7 +--
 fs/coda/psdev.c  |3 ++-
 fs/coda/upcall.c |   10 +-
 3 files changed, 12 insertions(+), 8 deletions(-)

diff --git a/fs/coda/file.c b/fs/coda/file.c
index 99dbe86..e7d6227 100644
--- a/fs/coda/file.c
+++ b/fs/coda/file.c
@@ -143,8 +143,11 @@ int coda_open(struct inode *coda_inode, struct file 
*coda_file)
lock_kernel();
 
error = venus_open(coda_inode-i_sb, coda_i2f(coda_inode), coda_flags,
-  host_file); 
-   if (error || !host_file) {
+  host_file);
+   if (!host_file)
+   error = -EIO;
+
+   if (error) {
kfree(cfi);
unlock_kernel();
return error;
diff --git a/fs/coda/psdev.c b/fs/coda/psdev.c
index 803aacf..09382d4 100644
--- a/fs/coda/psdev.c
+++ b/fs/coda/psdev.c
@@ -195,7 +195,8 @@ static ssize_t coda_psdev_write(struct file *file, const 
char __user *buf,
if (req-uc_opcode == CODA_OPEN_BY_FD) {
struct coda_open_by_fd_out *outp =
(struct coda_open_by_fd_out *)req-uc_data;
-   outp-fh = fget(outp-fd);
+   if (!outp-oh.result)
+   outp-fh = fget(outp-fd);
}
 
 wake_up(req-uc_sleep);
diff --git a/fs/coda/upcall.c b/fs/coda/upcall.c
index 5faacdb..1651b91 100644
--- a/fs/coda/upcall.c
+++ b/fs/coda/upcall.c
@@ -251,12 +251,12 @@ int venus_open(struct super_block *sb, struct CodaFid 
*fid,
insize = SIZE(open_by_fd);
UPARG(CODA_OPEN_BY_FD);
 
-inp-coda_open.VFid = *fid;
-inp-coda_open.flags = flags;
+   inp-coda_open_by_fd.VFid = *fid;
+   inp-coda_open_by_fd.flags = flags;
 
-error = coda_upcall(coda_sbp(sb), insize, outsize, inp);
-
-   *fh = outp-coda_open_by_fd.fh;
+   error = coda_upcall(coda_sbp(sb), insize, outsize, inp);
+   if (!error)
+   *fh = outp-coda_open_by_fd.fh;
 
CODA_FREE(inp, insize);
return error;
-
To unsubscribe from this list: send the line unsubscribe git-commits-head in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


drivers/edac: add edac_mc_find API

2007-07-19 Thread Linux Kernel Mailing List
Gitweb: 
http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=5da0831c598f94582bce6bb0a55b8de2f9897cb1
Commit: 5da0831c598f94582bce6bb0a55b8de2f9897cb1
Parent: 8ca47e00690914a9e5e6c734baa37c829a2f2fa1
Author: Douglas Thompson [EMAIL PROTECTED]
AuthorDate: Thu Jul 19 01:49:31 2007 -0700
Committer:  Linus Torvalds [EMAIL PROTECTED]
CommitDate: Thu Jul 19 10:04:53 2007 -0700

drivers/edac: add edac_mc_find API

This simple patch adds an important CORE API for EDAC that EDAC drivers can
use to find their edac_mc control structure by passing a mem_ctl_info
'instance' value

Needed for subsequent patches

Signed-off-by: Douglas Thompson [EMAIL PROTECTED]
Signed-off-by: Andrew Morton [EMAIL PROTECTED]
Signed-off-by: Linus Torvalds [EMAIL PROTECTED]
---
 drivers/edac/edac_mc.c |   28 
 drivers/edac/edac_mc.h |1 +
 2 files changed, 29 insertions(+), 0 deletions(-)

diff --git a/drivers/edac/edac_mc.c b/drivers/edac/edac_mc.c
index 804875d..c1a8bf2 100644
--- a/drivers/edac/edac_mc.c
+++ b/drivers/edac/edac_mc.c
@@ -1457,6 +1457,34 @@ static void del_mc_from_global_list(struct mem_ctl_info 
*mci)
 }
 
 /**
+ * edac_mc_find: Search for a mem_ctl_info structure whose index is 'idx'.
+ *
+ * If found, return a pointer to the structure.
+ * Else return NULL.
+ *
+ * Caller must hold mem_ctls_mutex.
+ */
+struct mem_ctl_info * edac_mc_find(int idx)
+{
+   struct list_head *item;
+   struct mem_ctl_info *mci;
+
+   list_for_each(item, mc_devices) {
+   mci = list_entry(item, struct mem_ctl_info, link);
+
+   if (mci-mc_idx = idx) {
+   if (mci-mc_idx == idx)
+   return mci;
+
+   break;
+   }
+   }
+
+   return NULL;
+}
+EXPORT_SYMBOL(edac_mc_find);
+
+/**
  * edac_mc_add_mc: Insert the 'mci' structure into the mci global list and
  * create sysfs entries associated with mci structure
  * @mci: pointer to the mci structure to be added to the list
diff --git a/drivers/edac/edac_mc.h b/drivers/edac/edac_mc.h
index 713444c..9ad8a20 100644
--- a/drivers/edac/edac_mc.h
+++ b/drivers/edac/edac_mc.h
@@ -430,6 +430,7 @@ void edac_mc_dump_mci(struct mem_ctl_info *mci);
 void edac_mc_dump_csrow(struct csrow_info *csrow);
 #endif  /* CONFIG_EDAC_DEBUG */
 
+extern struct mem_ctl_info * edac_mc_find(int idx);
 extern int edac_mc_add_mc(struct mem_ctl_info *mci,int mc_idx);
 extern struct mem_ctl_info * edac_mc_del_mc(struct device *dev);
 extern int edac_mc_find_csrow_by_page(struct mem_ctl_info *mci,
-
To unsubscribe from this list: send the line unsubscribe git-commits-head in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


PM: disable usermode helper before hibernation and suspend

2007-07-19 Thread Linux Kernel Mailing List
Gitweb: 
http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=8cdd4936c17bd8085cb0dfacc4a37ccf8d0ada7b
Commit: 8cdd4936c17bd8085cb0dfacc4a37ccf8d0ada7b
Parent: b10d911749d37dccfa5873d2088aea3f074b9e45
Author: Rafael J. Wysocki [EMAIL PROTECTED]
AuthorDate: Thu Jul 19 01:47:36 2007 -0700
Committer:  Linus Torvalds [EMAIL PROTECTED]
CommitDate: Thu Jul 19 10:04:42 2007 -0700

PM: disable usermode helper before hibernation and suspend

Use a hibernation and suspend notifier to disable the user mode helper 
before
a hibernation/suspend and enable it after the operation.

[EMAIL PROTECTED]: build fix]
Signed-off-by: Rafael J. Wysocki [EMAIL PROTECTED]
Acked-by: Pavel Machek [EMAIL PROTECTED]
Acked-by: Nigel Cunningham [EMAIL PROTECTED]
Signed-off-by: Andrew Morton [EMAIL PROTECTED]
Signed-off-by: Linus Torvalds [EMAIL PROTECTED]
---
 kernel/kmod.c |   31 ++-
 1 files changed, 30 insertions(+), 1 deletions(-)

diff --git a/kernel/kmod.c b/kernel/kmod.c
index 78d365c..928f367 100644
--- a/kernel/kmod.c
+++ b/kernel/kmod.c
@@ -33,12 +33,22 @@
 #include linux/kernel.h
 #include linux/init.h
 #include linux/resource.h
+#include linux/notifier.h
+#include linux/suspend.h
 #include asm/uaccess.h
 
 extern int max_threads;
 
 static struct workqueue_struct *khelper_wq;
 
+/*
+ * If set, both call_usermodehelper_keys() and call_usermodehelper_pipe() exit
+ * immediately returning -EBUSY.  Used for preventing user land processes from
+ * being created after the user land has been frozen during a system-wide
+ * hibernation or suspend operation.
+ */
+static int usermodehelper_disabled;
+
 #ifdef CONFIG_KMOD
 
 /*
@@ -265,6 +275,24 @@ static void __call_usermodehelper(struct work_struct *work)
}
 }
 
+static int usermodehelper_pm_callback(struct notifier_block *nfb,
+   unsigned long action,
+   void *ignored)
+{
+   switch (action) {
+   case PM_HIBERNATION_PREPARE:
+   case PM_SUSPEND_PREPARE:
+   usermodehelper_disabled = 1;
+   return NOTIFY_OK;
+   case PM_POST_HIBERNATION:
+   case PM_POST_SUSPEND:
+   usermodehelper_disabled = 0;
+   return NOTIFY_OK;
+   }
+
+   return NOTIFY_DONE;
+}
+
 /**
  * call_usermodehelper_setup - prepare to call a usermode helper
  * @path - path to usermode executable
@@ -374,7 +402,7 @@ int call_usermodehelper_exec(struct subprocess_info 
*sub_info,
goto out;
}
 
-   if (!khelper_wq) {
+   if (!khelper_wq || usermodehelper_disabled) {
retval = -EBUSY;
goto out;
}
@@ -431,4 +459,5 @@ void __init usermodehelper_init(void)
 {
khelper_wq = create_singlethread_workqueue(khelper);
BUG_ON(!khelper_wq);
+   pm_notifier(usermodehelper_pm_callback, 0);
 }
-
To unsubscribe from this list: send the line unsubscribe git-commits-head in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


lockdep debugging: give stacktrace for init_error

2007-07-19 Thread Linux Kernel Mailing List
Gitweb: 
http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=c71063c9c9dc232d0d51f936f237f7dc5681e8e3
Commit: c71063c9c9dc232d0d51f936f237f7dc5681e8e3
Parent: d38e1d5aaee384698fcef9455d6e2df1d062a1d0
Author: Johannes Berg [EMAIL PROTECTED]
AuthorDate: Thu Jul 19 01:49:02 2007 -0700
Committer:  Linus Torvalds [EMAIL PROTECTED]
CommitDate: Thu Jul 19 10:04:49 2007 -0700

lockdep debugging: give stacktrace for init_error

When I started adding support for lockdep to 64-bit powerpc, I got a
lockdep_init_error and with this patch was able to pinpoint why and where
to put lockdep_init().  Let's support this generally for others adding
lockdep support to their architecture.

Signed-off-by: Johannes Berg [EMAIL PROTECTED]
Cc: Ingo Molnar [EMAIL PROTECTED]
Cc: Peter Zijlstra [EMAIL PROTECTED]
Cc: Arjan van de Ven [EMAIL PROTECTED]
Signed-off-by: Andrew Morton [EMAIL PROTECTED]
Signed-off-by: Linus Torvalds [EMAIL PROTECTED]
---
 kernel/lockdep.c |   13 +++--
 1 files changed, 11 insertions(+), 2 deletions(-)

diff --git a/kernel/lockdep.c b/kernel/lockdep.c
index 156fce4..734da57 100644
--- a/kernel/lockdep.c
+++ b/kernel/lockdep.c
@@ -375,6 +375,11 @@ unsigned int max_recursion_depth;
  * about it later on, in lockdep_info().
  */
 static int lockdep_init_error;
+static unsigned long lockdep_init_trace_data[20];
+static struct stack_trace lockdep_init_trace = {
+   .max_entries = ARRAY_SIZE(lockdep_init_trace_data),
+   .entries = lockdep_init_trace_data,
+};
 
 /*
  * Various lockdep statistics:
@@ -662,6 +667,7 @@ look_up_lock_class(struct lockdep_map *lock, unsigned int 
subclass)
if (unlikely(!lockdep_initialized)) {
lockdep_init();
lockdep_init_error = 1;
+   save_stack_trace(lockdep_init_trace);
}
 #endif
 
@@ -3040,8 +3046,11 @@ void __init lockdep_info(void)
sizeof(struct held_lock) * MAX_LOCK_DEPTH);
 
 #ifdef CONFIG_DEBUG_LOCKDEP
-   if (lockdep_init_error)
-   printk(WARNING: lockdep init error! Arch code didnt call 
lockdep_init() early enough?\n);
+   if (lockdep_init_error) {
+   printk(WARNING: lockdep init error! Arch code didn't call 
lockdep_init() early enough?\n);
+   printk(Call stack leading to lockdep invocation was:\n);
+   print_stack_trace(lockdep_init_trace, 0);
+   }
 #endif
 }
 
-
To unsubscribe from this list: send the line unsubscribe git-commits-head in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


readahead: MIN_RA_PAGES/MAX_RA_PAGES macros

2007-07-19 Thread Linux Kernel Mailing List
Gitweb: 
http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=f615bfca468c9b80ed2d09be5fdbaf470a32c045
Commit: f615bfca468c9b80ed2d09be5fdbaf470a32c045
Parent: 46fc3e7b4e7233a0ac981ac9084b55217318d04d
Author: Fengguang Wu [EMAIL PROTECTED]
AuthorDate: Thu Jul 19 01:47:58 2007 -0700
Committer:  Linus Torvalds [EMAIL PROTECTED]
CommitDate: Thu Jul 19 10:04:43 2007 -0700

readahead: MIN_RA_PAGES/MAX_RA_PAGES macros

Define two convenient macros for read-ahead:
- MAX_RA_PAGES: rounded down counterpart of VM_MAX_READAHEAD
- MIN_RA_PAGES: rounded _up_ counterpart of VM_MIN_READAHEAD

Note that the rounded up MIN_RA_PAGES will work flawlessly with _large_
page sizes like 64k.

Signed-off-by: Fengguang Wu [EMAIL PROTECTED]
Cc: Steven Pratt [EMAIL PROTECTED]
Cc: Ram Pai [EMAIL PROTECTED]
Cc: Rusty Russell [EMAIL PROTECTED]
Cc: [EMAIL PROTECTED]
Signed-off-by: Andrew Morton [EMAIL PROTECTED]
Signed-off-by: Linus Torvalds [EMAIL PROTECTED]
---
 mm/readahead.c |   12 ++--
 1 files changed, 10 insertions(+), 2 deletions(-)

diff --git a/mm/readahead.c b/mm/readahead.c
index 88ea0f2..7f9bf58 100644
--- a/mm/readahead.c
+++ b/mm/readahead.c
@@ -21,8 +21,16 @@ void default_unplug_io_fn(struct backing_dev_info *bdi, 
struct page *page)
 }
 EXPORT_SYMBOL(default_unplug_io_fn);
 
+/*
+ * Convienent macros for min/max read-ahead pages.
+ * Note that MAX_RA_PAGES is rounded down, while MIN_RA_PAGES is rounded up.
+ * The latter is necessary for systems with large page size(i.e. 64k).
+ */
+#define MAX_RA_PAGES   (VM_MAX_READAHEAD*1024 / PAGE_CACHE_SIZE)
+#define MIN_RA_PAGES   DIV_ROUND_UP(VM_MIN_READAHEAD*1024, PAGE_CACHE_SIZE)
+
 struct backing_dev_info default_backing_dev_info = {
-   .ra_pages   = (VM_MAX_READAHEAD * 1024) / PAGE_CACHE_SIZE,
+   .ra_pages   = MAX_RA_PAGES,
.state  = 0,
.capabilities   = BDI_CAP_MAP_COPY,
.unplug_io_fn   = default_unplug_io_fn,
@@ -51,7 +59,7 @@ static inline unsigned long get_max_readahead(struct 
file_ra_state *ra)
 
 static inline unsigned long get_min_readahead(struct file_ra_state *ra)
 {
-   return (VM_MIN_READAHEAD * 1024) / PAGE_CACHE_SIZE;
+   return MIN_RA_PAGES;
 }
 
 static inline void reset_ahead_window(struct file_ra_state *ra)
-
To unsubscribe from this list: send the line unsubscribe git-commits-head in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


readahead: introduce PG_readahead

2007-07-19 Thread Linux Kernel Mailing List
Gitweb: 
http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=d77c2d7cc5126639a47d73300b40d461f2811a0f
Commit: d77c2d7cc5126639a47d73300b40d461f2811a0f
Parent: 2ba2d00363975242dee9bb22cf798b487e3cd61e
Author: Fengguang Wu [EMAIL PROTECTED]
AuthorDate: Thu Jul 19 01:47:55 2007 -0700
Committer:  Linus Torvalds [EMAIL PROTECTED]
CommitDate: Thu Jul 19 10:04:43 2007 -0700

readahead: introduce PG_readahead

Introduce a new page flag: PG_readahead.

It acts as a look-ahead mark, which tells the page reader: Hey, it's time to
invoke the read-ahead logic.  For the sake of I/O pipelining, don't wait 
until
it runs out of cached pages!

Signed-off-by: Fengguang Wu [EMAIL PROTECTED]
Cc: Steven Pratt [EMAIL PROTECTED]
Cc: Ram Pai [EMAIL PROTECTED]
Cc: Rusty Russell [EMAIL PROTECTED]
Signed-off-by: Andrew Morton [EMAIL PROTECTED]
Signed-off-by: Linus Torvalds [EMAIL PROTECTED]
---
 include/linux/page-flags.h |5 +
 mm/page_alloc.c|2 +-
 2 files changed, 6 insertions(+), 1 deletions(-)

diff --git a/include/linux/page-flags.h b/include/linux/page-flags.h
index 731cd2a..709d92f 100644
--- a/include/linux/page-flags.h
+++ b/include/linux/page-flags.h
@@ -83,6 +83,7 @@
 #define PG_private 11  /* If pagecache, has fs-private data */
 
 #define PG_writeback   12  /* Page is under writeback */
+#define PG_readahead   13  /* Reminder to do async read-ahead */
 #define PG_compound14  /* Part of a compound page */
 #define PG_swapcache   15  /* Swap page: swp_entry_t in private */
 
@@ -226,6 +227,10 @@ static inline void SetPageUptodate(struct page *page)
 #define SetPageMappedToDisk(page) set_bit(PG_mappedtodisk, (page)-flags)
 #define ClearPageMappedToDisk(page) clear_bit(PG_mappedtodisk, (page)-flags)
 
+#define PageReadahead(page)test_bit(PG_readahead, (page)-flags)
+#define SetPageReadahead(page) set_bit(PG_readahead, (page)-flags)
+#define ClearPageReadahead(page) clear_bit(PG_readahead, (page)-flags)
+
 #define PageReclaim(page)  test_bit(PG_reclaim, (page)-flags)
 #define SetPageReclaim(page)   set_bit(PG_reclaim, (page)-flags)
 #define ClearPageReclaim(page) clear_bit(PG_reclaim, (page)-flags)
diff --git a/mm/page_alloc.c b/mm/page_alloc.c
index e2a10b9..2165be9 100644
--- a/mm/page_alloc.c
+++ b/mm/page_alloc.c
@@ -617,7 +617,7 @@ static int prep_new_page(struct page *page, int order, 
gfp_t gfp_flags)
if (PageReserved(page))
return 1;
 
-   page-flags = ~(1  PG_uptodate | 1  PG_error |
+   page-flags = ~(1  PG_uptodate | 1  PG_error | 1  PG_readahead |
1  PG_referenced | 1  PG_arch_1 |
1  PG_owner_priv_1 | 1  PG_mappedtodisk);
set_page_private(page, 0);
-
To unsubscribe from this list: send the line unsubscribe git-commits-head in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


fs: mark link_path_walk static

2007-07-19 Thread Linux Kernel Mailing List
Gitweb: 
http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=c4a7808fc3d7a346d5d12e0d69d76d66d821488b
Commit: c4a7808fc3d7a346d5d12e0d69d76d66d821488b
Parent: 16b6287a5286e872abece4f42a6eb5899157a836
Author: Josef 'Jeff' Sipek [EMAIL PROTECTED]
AuthorDate: Thu Jul 19 01:48:22 2007 -0700
Committer:  Linus Torvalds [EMAIL PROTECTED]
CommitDate: Thu Jul 19 10:04:45 2007 -0700

fs: mark link_path_walk static

Signed-off-by: Josef 'Jeff' Sipek [EMAIL PROTECTED]
Cc: Al Viro [EMAIL PROTECTED]
Acked-by: Christoph Hellwig [EMAIL PROTECTED]
Cc: Trond Myklebust [EMAIL PROTECTED]
Cc: Neil Brown [EMAIL PROTECTED]
Cc: Michael Halcrow [EMAIL PROTECTED]
Signed-off-by: Andrew Morton [EMAIL PROTECTED]
Signed-off-by: Linus Torvalds [EMAIL PROTECTED]
---
 fs/namei.c|4 +++-
 include/linux/namei.h |1 -
 2 files changed, 3 insertions(+), 2 deletions(-)

diff --git a/fs/namei.c b/fs/namei.c
index 3bdb296..b9fdda8 100644
--- a/fs/namei.c
+++ b/fs/namei.c
@@ -107,6 +107,8 @@
  * any extra contention...
  */
 
+static int fastcall link_path_walk(const char *name, struct nameidata *nd);
+
 /* In order to reduce some races, while at the same time doing additional
  * checking and hopefully speeding things up, we copy filenames to the
  * kernel data space before using them..
@@ -998,7 +1000,7 @@ return_err:
  * Retry the whole path once, forcing real lookup requests
  * instead of relying on the dcache.
  */
-int fastcall link_path_walk(const char *name, struct nameidata *nd)
+static int fastcall link_path_walk(const char *name, struct nameidata *nd)
 {
struct nameidata save = *nd;
int result;
diff --git a/include/linux/namei.h b/include/linux/namei.h
index 2e21af0..18ea812 100644
--- a/include/linux/namei.h
+++ b/include/linux/namei.h
@@ -72,7 +72,6 @@ extern int FASTCALL(path_lookup(const char *, unsigned, 
struct nameidata *));
 extern int vfs_path_lookup(struct dentry *, struct vfsmount *,
   const char *, unsigned int, struct nameidata *);
 extern int FASTCALL(path_walk(const char *, struct nameidata *));
-extern int FASTCALL(link_path_walk(const char *, struct nameidata *));
 extern void path_release(struct nameidata *);
 extern void path_release_on_umount(struct nameidata *);
 
-
To unsubscribe from this list: send the line unsubscribe git-commits-head in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


knfsd: move EX_RDONLY out of header

2007-07-19 Thread Linux Kernel Mailing List
Gitweb: 
http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=e22841c637dc8b308b40f59d64a5b6683d458ab7
Commit: e22841c637dc8b308b40f59d64a5b6683d458ab7
Parent: 5d3dbbeaf56d0365ac6b5c0a0da0bd31cc4781e1
Author: J. Bruce Fields [EMAIL PROTECTED]
AuthorDate: Thu Jul 19 01:49:20 2007 -0700
Committer:  Linus Torvalds [EMAIL PROTECTED]
CommitDate: Thu Jul 19 10:04:52 2007 -0700

knfsd: move EX_RDONLY out of header

EX_RDONLY is only called in one place; just put it there.

Signed-off-by: J. Bruce Fields [EMAIL PROTECTED]
Acked-by: Neil Brown [EMAIL PROTECTED]
Signed-off-by: Andrew Morton [EMAIL PROTECTED]
Signed-off-by: Linus Torvalds [EMAIL PROTECTED]
---
 fs/nfsd/vfs.c   |   12 
 include/linux/nfsd/export.h |   12 
 2 files changed, 12 insertions(+), 12 deletions(-)

diff --git a/fs/nfsd/vfs.c b/fs/nfsd/vfs.c
index 5c97d0e..f2684e5 100644
--- a/fs/nfsd/vfs.c
+++ b/fs/nfsd/vfs.c
@@ -1797,6 +1797,18 @@ nfsd_statfs(struct svc_rqst *rqstp, struct svc_fh *fhp, 
struct kstatfs *stat)
return err;
 }
 
+static inline int EX_RDONLY(struct svc_export *exp, struct svc_rqst *rqstp)
+{
+   struct exp_flavor_info *f;
+   struct exp_flavor_info *end = exp-ex_flavors + exp-ex_nflavors;
+
+   for (f = exp-ex_flavors; f  end; f++) {
+   if (f-pseudoflavor == rqstp-rq_flavor)
+   return f-flags  NFSEXP_READONLY;
+   }
+   return exp-ex_flags  NFSEXP_READONLY;
+}
+
 /*
  * Check for a user's access permissions to this inode.
  */
diff --git a/include/linux/nfsd/export.h b/include/linux/nfsd/export.h
index 78feb7b..fb4e930 100644
--- a/include/linux/nfsd/export.h
+++ b/include/linux/nfsd/export.h
@@ -116,18 +116,6 @@ struct svc_expkey {
 #define EX_NOHIDE(exp) ((exp)-ex_flags  NFSEXP_NOHIDE)
 #define EX_WGATHER(exp)((exp)-ex_flags  
NFSEXP_GATHERED_WRITES)
 
-static inline int EX_RDONLY(struct svc_export *exp, struct svc_rqst *rqstp)
-{
-   struct exp_flavor_info *f;
-   struct exp_flavor_info *end = exp-ex_flavors + exp-ex_nflavors;
-
-   for (f = exp-ex_flavors; f  end; f++) {
-   if (f-pseudoflavor == rqstp-rq_flavor)
-   return f-flags  NFSEXP_READONLY;
-   }
-   return exp-ex_flags  NFSEXP_READONLY;
-}
-
 __be32 check_nfsd_access(struct svc_export *exp, struct svc_rqst *rqstp);
 
 /*
-
To unsubscribe from this list: send the line unsubscribe git-commits-head in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


drivers/edac: mod race fix i82875p

2007-07-19 Thread Linux Kernel Mailing List
Gitweb: 
http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=654ede200fe028373852bbca387ab4834ddb7228
Commit: 654ede200fe028373852bbca387ab4834ddb7228
Parent: b113a3f7e85d7f97c8383a88a5bc7c2ea8daeb2f
Author: Jason Uhlenkott [EMAIL PROTECTED]
AuthorDate: Thu Jul 19 01:50:16 2007 -0700
Committer:  Linus Torvalds [EMAIL PROTECTED]
CommitDate: Thu Jul 19 10:04:55 2007 -0700

drivers/edac: mod race fix i82875p

If ERRSTS indicates that there's no error then we don't need to bother 
reading
the other registers.

In addition to making the common case faster, this actually fixes a small 
race
where we don't see an error but we clear the error bits anyway, potentially
wiping away info on an error that happened in the interim (or where a CE
arrives between the first and second read of ERRSTS, causing us to falsely
claim UE overwrote CE).

Signed-off-by: Jason Uhlenkott [EMAIL PROTECTED]
Signed-off-by: Douglas Thompson [EMAIL PROTECTED]
Cc: Alan Cox [EMAIL PROTECTED]
Signed-off-by: Andrew Morton [EMAIL PROTECTED]
Signed-off-by: Linus Torvalds [EMAIL PROTECTED]
---
 drivers/edac/i82875p_edac.c |   13 +++--
 1 files changed, 7 insertions(+), 6 deletions(-)

diff --git a/drivers/edac/i82875p_edac.c b/drivers/edac/i82875p_edac.c
index c9aed70..089ec39 100644
--- a/drivers/edac/i82875p_edac.c
+++ b/drivers/edac/i82875p_edac.c
@@ -198,27 +198,28 @@ static void i82875p_get_error_info(struct mem_ctl_info 
*mci,
 * overwritten by UE.
 */
pci_read_config_word(pdev, I82875P_ERRSTS, info-errsts);
+
+   if (!(info-errsts  0x0081))
+   return;
+
pci_read_config_dword(pdev, I82875P_EAP, info-eap);
pci_read_config_byte(pdev, I82875P_DES, info-des);
pci_read_config_byte(pdev, I82875P_DERRSYN, info-derrsyn);
pci_read_config_word(pdev, I82875P_ERRSTS, info-errsts2);
 
-   pci_write_bits16(pdev, I82875P_ERRSTS, 0x0081, 0x0081);
-
/*
 * If the error is the same then we can for both reads then
 * the first set of reads is valid.  If there is a change then
 * there is a CE no info and the second set of reads is valid
 * and should be UE info.
 */
-   if (!(info-errsts2  0x0081))
-   return;
-
if ((info-errsts ^ info-errsts2)  0x0081) {
pci_read_config_dword(pdev, I82875P_EAP, info-eap);
pci_read_config_byte(pdev, I82875P_DES, info-des);
pci_read_config_byte(pdev, I82875P_DERRSYN, info-derrsyn);
}
+
+   pci_write_bits16(pdev, I82875P_ERRSTS, 0x0081, 0x0081);
 }
 
 static int i82875p_process_error_info(struct mem_ctl_info *mci,
@@ -229,7 +230,7 @@ static int i82875p_process_error_info(struct mem_ctl_info 
*mci,
 
multi_chan = mci-csrows[0].nr_channels - 1;
 
-   if (!(info-errsts2  0x0081))
+   if (!(info-errsts  0x0081))
return 0;
 
if (!handle_errors)
-
To unsubscribe from this list: send the line unsubscribe git-commits-head in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


PM: Do not require dev spew to get PM_DEBUG

2007-07-19 Thread Linux Kernel Mailing List
Gitweb: 
http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=a0349828d6d6f95c445674c2953ee9db75c11f8f
Commit: a0349828d6d6f95c445674c2953ee9db75c11f8f
Parent: 328616e3b76859f1abdd08a8df1ddbb7bb81f807
Author: Ben Collins [EMAIL PROTECTED]
AuthorDate: Thu Jul 19 01:47:27 2007 -0700
Committer:  Linus Torvalds [EMAIL PROTECTED]
CommitDate: Thu Jul 19 10:04:42 2007 -0700

PM: Do not require dev spew to get PM_DEBUG

In order to enable things like PM_TRACE, you're required to enable
PM_DEBUG, which sends a large spew of messages on boot, and often times can
overflow dmesg buffer.

Create new PM_VERBOSE and shift that to be the option that enables
drivers/base/power's messages.

Signed-off-by: Ben Collins [EMAIL PROTECTED]
Cc: Rafael J. Wysocki [EMAIL PROTECTED]
Cc: Pavel Machek [EMAIL PROTECTED]
Cc: Greg KH [EMAIL PROTECTED]
Signed-off-by: Andrew Morton [EMAIL PROTECTED]
Signed-off-by: Linus Torvalds [EMAIL PROTECTED]
---
 drivers/base/power/Makefile |2 +-
 kernel/power/Kconfig|   17 -
 2 files changed, 13 insertions(+), 6 deletions(-)

diff --git a/drivers/base/power/Makefile b/drivers/base/power/Makefile
index fff1780..966a5e2 100644
--- a/drivers/base/power/Makefile
+++ b/drivers/base/power/Makefile
@@ -5,6 +5,6 @@ obj-$(CONFIG_PM_TRACE)  += trace.o
 ifeq ($(CONFIG_DEBUG_DRIVER),y)
 EXTRA_CFLAGS += -DDEBUG
 endif
-ifeq ($(CONFIG_PM_DEBUG),y)
+ifeq ($(CONFIG_PM_VERBOSE),y)
 EXTRA_CFLAGS += -DDEBUG
 endif
diff --git a/kernel/power/Kconfig b/kernel/power/Kconfig
index 7332847..7358609 100644
--- a/kernel/power/Kconfig
+++ b/kernel/power/Kconfig
@@ -33,13 +33,20 @@ config PM_DEBUG
bool Power Management Debug Support
depends on PM
---help---
-   This option enables verbose debugging support in the Power Management
-   code. This is helpful when debugging and reporting various PM bugs, 
-   like suspend support.
+   This option enables various debugging support in the Power Management
+   code. This is helpful when debugging and reporting PM bugs, like
+   suspend support.
+
+config PM_VERBOSE
+   bool Verbose Power Management debugging
+   depends on PM_DEBUG
+   default n
+   ---help---
+   This option enables verbose messages from the Power Management code.
 
 config DISABLE_CONSOLE_SUSPEND
bool Keep console(s) enabled during suspend/resume (DANGEROUS)
-   depends on PM  PM_DEBUG
+   depends on PM_DEBUG
default n
---help---
This option turns off the console suspend mechanism that prevents
@@ -50,7 +57,7 @@ config DISABLE_CONSOLE_SUSPEND
 
 config PM_TRACE
bool Suspend/resume event tracing
-   depends on PM  PM_DEBUG  X86_32  EXPERIMENTAL
+   depends on PM_DEBUG  X86_32  EXPERIMENTAL
default n
---help---
This enables some cheesy code to save the last PM event point in the
-
To unsubscribe from this list: send the line unsubscribe git-commits-head in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


coda: replace upc_alloc/upc_free with kmalloc/kfree

2007-07-19 Thread Linux Kernel Mailing List
Gitweb: 
http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=37461e1957e6262278342a0c1a78e46996b7ff88
Commit: 37461e1957e6262278342a0c1a78e46996b7ff88
Parent: 978752534e94b50c8078b229134a37bad9db88b2
Author: Jan Harkes [EMAIL PROTECTED]
AuthorDate: Thu Jul 19 01:48:48 2007 -0700
Committer:  Linus Torvalds [EMAIL PROTECTED]
CommitDate: Thu Jul 19 10:04:48 2007 -0700

coda: replace upc_alloc/upc_free with kmalloc/kfree

Signed-off-by: Jan Harkes [EMAIL PROTECTED]
Signed-off-by: Andrew Morton [EMAIL PROTECTED]
Signed-off-by: Linus Torvalds [EMAIL PROTECTED]
---
 fs/coda/psdev.c  |6 ++
 fs/coda/upcall.c |   11 ---
 2 files changed, 6 insertions(+), 11 deletions(-)

diff --git a/fs/coda/psdev.c b/fs/coda/psdev.c
index 6818c20..8a09f19 100644
--- a/fs/coda/psdev.c
+++ b/fs/coda/psdev.c
@@ -49,8 +49,6 @@
 
 #include coda_int.h
 
-#define upc_free(r) kfree(r)
-
 /* statistics */
 int   coda_hard; /* allows signals during upcalls */
 unsigned long coda_timeout = 30; /* .. secs, then signals will dequeue */
@@ -264,7 +262,7 @@ static ssize_t coda_psdev_read(struct file * file, char 
__user * buf,
}
 
CODA_FREE(req-uc_data, sizeof(struct coda_in_hdr));
-   upc_free(req);
+   kfree(req);
 out:
unlock_kernel();
return (count ? count : retval);
@@ -320,7 +318,7 @@ static int coda_psdev_release(struct inode * inode, struct 
file * file)
/* Async requests need to be freed here */
if (req-uc_flags  REQ_ASYNC) {
CODA_FREE(req-uc_data, sizeof(struct coda_in_hdr));
-   upc_free(req);
+   kfree(req);
continue;
}
req-uc_flags |= REQ_ABORT;
diff --git a/fs/coda/upcall.c b/fs/coda/upcall.c
index ad65ee0..330de7d 100644
--- a/fs/coda/upcall.c
+++ b/fs/coda/upcall.c
@@ -37,9 +37,6 @@
 #include linux/coda_cache.h
 #include linux/coda_proc.h 
 
-#define upc_alloc() kmalloc(sizeof(struct upc_req), GFP_KERNEL)
-#define upc_free(r) kfree(r)
-
 static int coda_upcall(struct coda_sb_info *mntinfo, int inSize, int *outSize, 
   union inputArgs *buffer);
 
@@ -745,7 +742,7 @@ static int coda_upcall(struct coda_sb_info *sbi,
}
 
/* Format the request message. */
-   req = upc_alloc();
+   req = kmalloc(sizeof(struct upc_req), GFP_KERNEL);
if (!req)
return -ENOMEM;
 
@@ -802,12 +799,12 @@ static int coda_upcall(struct coda_sb_info *sbi,
}
 
error = -ENOMEM;
-   sig_req = upc_alloc();
+   sig_req = kmalloc(sizeof(struct upc_req), GFP_KERNEL);
if (!sig_req) goto exit;
 
CODA_ALLOC((sig_req-uc_data), char *, sizeof(struct coda_in_hdr));
if (!sig_req-uc_data) {
-   upc_free(sig_req);
+   kfree(sig_req);
goto exit;
}
 
@@ -827,7 +824,7 @@ static int coda_upcall(struct coda_sb_info *sbi,
wake_up_interruptible(vcommp-vc_waitq);
 
 exit:
-   upc_free(req);
+   kfree(req);
return error;
 }
 
-
To unsubscribe from this list: send the line unsubscribe git-commits-head in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


kernel/relay.c: make functions static

2007-07-19 Thread Linux Kernel Mailing List
Gitweb: 
http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=01c55ed3260e130f152b7fbab2e18f23980b59a4
Commit: 01c55ed3260e130f152b7fbab2e18f23980b59a4
Parent: bb90110dcb9e93bf79e3c988abc6cbcabd46d57f
Author: Adrian Bunk [EMAIL PROTECTED]
AuthorDate: Thu Jul 19 01:48:32 2007 -0700
Committer:  Linus Torvalds [EMAIL PROTECTED]
CommitDate: Thu Jul 19 10:04:47 2007 -0700

kernel/relay.c: make functions static

Signed-off-by: Adrian Bunk [EMAIL PROTECTED]
Cc: Tom Zanussi [EMAIL PROTECTED]
Signed-off-by: Andrew Morton [EMAIL PROTECTED]
Signed-off-by: Linus Torvalds [EMAIL PROTECTED]
---
 kernel/relay.c |   13 ++---
 1 files changed, 6 insertions(+), 7 deletions(-)

diff --git a/kernel/relay.c b/kernel/relay.c
index a615a8f..510fbbd 100644
--- a/kernel/relay.c
+++ b/kernel/relay.c
@@ -80,7 +80,7 @@ static struct vm_operations_struct relay_file_mmap_ops = {
  *
  * Caller should already have grabbed mmap_sem.
  */
-int relay_mmap_buf(struct rchan_buf *buf, struct vm_area_struct *vma)
+static int relay_mmap_buf(struct rchan_buf *buf, struct vm_area_struct *vma)
 {
unsigned long length = vma-vm_end - vma-vm_start;
struct file *filp = vma-vm_file;
@@ -145,7 +145,7 @@ depopulate:
  *
  * Returns channel buffer if successful, %NULL otherwise.
  */
-struct rchan_buf *relay_create_buf(struct rchan *chan)
+static struct rchan_buf *relay_create_buf(struct rchan *chan)
 {
struct rchan_buf *buf = kzalloc(sizeof(struct rchan_buf), GFP_KERNEL);
if (!buf)
@@ -175,7 +175,7 @@ free_buf:
  *
  * Should only be called from kref_put().
  */
-void relay_destroy_channel(struct kref *kref)
+static void relay_destroy_channel(struct kref *kref)
 {
struct rchan *chan = container_of(kref, struct rchan, kref);
kfree(chan);
@@ -185,7 +185,7 @@ void relay_destroy_channel(struct kref *kref)
  * relay_destroy_buf - destroy an rchan_buf struct and associated buffer
  * @buf: the buffer struct
  */
-void relay_destroy_buf(struct rchan_buf *buf)
+static void relay_destroy_buf(struct rchan_buf *buf)
 {
struct rchan *chan = buf-chan;
unsigned int i;
@@ -210,7 +210,7 @@ void relay_destroy_buf(struct rchan_buf *buf)
  * rchan_buf_struct and the channel buffer.  Should only be called from
  * kref_put().
  */
-void relay_remove_buf(struct kref *kref)
+static void relay_remove_buf(struct kref *kref)
 {
struct rchan_buf *buf = container_of(kref, struct rchan_buf, kref);
buf-chan-cb-remove_buf_file(buf-dentry);
@@ -223,11 +223,10 @@ void relay_remove_buf(struct kref *kref)
  *
  * Returns 1 if the buffer is empty, 0 otherwise.
  */
-int relay_buf_empty(struct rchan_buf *buf)
+static int relay_buf_empty(struct rchan_buf *buf)
 {
return (buf-subbufs_produced - buf-subbufs_consumed) ? 0 : 1;
 }
-EXPORT_SYMBOL_GPL(relay_buf_empty);
 
 /**
  * relay_buf_full - boolean, is the channel buffer full?
-
To unsubscribe from this list: send the line unsubscribe git-commits-head in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


lockdep: fixup sk_callback_lock annotation

2007-07-19 Thread Linux Kernel Mailing List
Gitweb: 
http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=443aef0eddfa44c158d1b94ebb431a70638fcab4
Commit: 443aef0eddfa44c158d1b94ebb431a70638fcab4
Parent: 4b32d0a4e9ec07808a5c406a416c6576c986b047
Author: Peter Zijlstra [EMAIL PROTECTED]
AuthorDate: Thu Jul 19 01:49:00 2007 -0700
Committer:  Linus Torvalds [EMAIL PROTECTED]
CommitDate: Thu Jul 19 10:04:49 2007 -0700

lockdep: fixup sk_callback_lock annotation

the two init sites resulted in inconsistend names for the lock class.

Signed-off-by: Peter Zijlstra [EMAIL PROTECTED]
Acked-by: Ingo Molnar [EMAIL PROTECTED]
Cc: David S. Miller [EMAIL PROTECTED]
Signed-off-by: Andrew Morton [EMAIL PROTECTED]
Signed-off-by: Linus Torvalds [EMAIL PROTECTED]
---
 net/core/sock.c |   23 +++
 1 files changed, 19 insertions(+), 4 deletions(-)

diff --git a/net/core/sock.c b/net/core/sock.c
index 091032a..25d2557 100644
--- a/net/core/sock.c
+++ b/net/core/sock.c
@@ -171,6 +171,19 @@ static const char *af_family_slock_key_strings[AF_MAX+1] = 
{
   slock-AF_TIPC  , slock-AF_BLUETOOTH, slock-AF_IUCV ,
   slock-AF_RXRPC , slock-AF_MAX
 };
+static const char *af_family_clock_key_strings[AF_MAX+1] = {
+  clock-AF_UNSPEC, clock-AF_UNIX , clock-AF_INET ,
+  clock-AF_AX25  , clock-AF_IPX  , clock-AF_APPLETALK,
+  clock-AF_NETROM, clock-AF_BRIDGE   , clock-AF_ATMPVC   ,
+  clock-AF_X25   , clock-AF_INET6, clock-AF_ROSE ,
+  clock-AF_DECnet, clock-AF_NETBEUI  , clock-AF_SECURITY ,
+  clock-AF_KEY   , clock-AF_NETLINK  , clock-AF_PACKET   ,
+  clock-AF_ASH   , clock-AF_ECONET   , clock-AF_ATMSVC   ,
+  clock-21   , clock-AF_SNA  , clock-AF_IRDA ,
+  clock-AF_PPPOX , clock-AF_WANPIPE  , clock-AF_LLC  ,
+  clock-27   , clock-28  , clock-29  ,
+  clock-AF_TIPC  , clock-AF_BLUETOOTH, clock-AF_MAX
+};
 #endif
 
 /*
@@ -941,8 +954,9 @@ struct sock *sk_clone(const struct sock *sk, const gfp_t 
priority)
 
rwlock_init(newsk-sk_dst_lock);
rwlock_init(newsk-sk_callback_lock);
-   lockdep_set_class(newsk-sk_callback_lock,
-  af_callback_keys + newsk-sk_family);
+   lockdep_set_class_and_name(newsk-sk_callback_lock,
+   af_callback_keys + newsk-sk_family,
+   af_family_clock_key_strings[newsk-sk_family]);
 
newsk-sk_dst_cache = NULL;
newsk-sk_wmem_queued   = 0;
@@ -1530,8 +1544,9 @@ void sock_init_data(struct socket *sock, struct sock *sk)
 
rwlock_init(sk-sk_dst_lock);
rwlock_init(sk-sk_callback_lock);
-   lockdep_set_class(sk-sk_callback_lock,
-  af_callback_keys + sk-sk_family);
+   lockdep_set_class_and_name(sk-sk_callback_lock,
+   af_callback_keys + sk-sk_family,
+   af_family_clock_key_strings[sk-sk_family]);
 
sk-sk_state_change =   sock_def_wakeup;
sk-sk_data_ready   =   sock_def_readable;
-
To unsubscribe from this list: send the line unsubscribe git-commits-head in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


isdn/sc: compile breakage re check_reset()

2007-07-19 Thread Linux Kernel Mailing List
Gitweb: 
http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=e3aded3cc289113c7bc729ef4cb75e56d9aa71be
Commit: e3aded3cc289113c7bc729ef4cb75e56d9aa71be
Parent: 7ac674f52778b95450509357435320be1d795248
Author: Alexey Dobriyan [EMAIL PROTECTED]
AuthorDate: Thu Jul 19 01:49:10 2007 -0700
Committer:  Linus Torvalds [EMAIL PROTECTED]
CommitDate: Thu Jul 19 10:04:50 2007 -0700

isdn/sc: compile breakage re check_reset()

There is check_reset() -- global function in drivers/isdn/sc/
There is check_reset -- variable holding module param in aacraid driver.

On allyesconfig they clash with:

  LD  drivers/built-in.o
drivers/isdn/built-in.o: In function `check_reset':
: multiple definition of `check_reset'
drivers/scsi/built-in.o:(.data+0xe458): first defined here
ld: Warning: size of symbol `check_reset' changed from 4 in 
drivers/scsi/built-in.o to 219 in drivers/isdn/built-in.o
ld: Warning: type of symbol `check_reset' changed from 1 to 2 in 
drivers/isdn/built-in.o

Rename the former.

Signed-off-by: Alexey Dobriyan [EMAIL PROTECTED]
Cc: Karsten Keil [EMAIL PROTECTED]
Signed-off-by: Andrew Morton [EMAIL PROTECTED]
Signed-off-by: Linus Torvalds [EMAIL PROTECTED]
---
 drivers/isdn/sc/card.h|2 +-
 drivers/isdn/sc/command.c |2 +-
 drivers/isdn/sc/timer.c   |2 +-
 3 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/drivers/isdn/sc/card.h b/drivers/isdn/sc/card.h
index 4fbfa82..5992f63 100644
--- a/drivers/isdn/sc/card.h
+++ b/drivers/isdn/sc/card.h
@@ -125,7 +125,7 @@ int sendmessage(int card, unsigned int procid, unsigned int 
type,
 int receivemessage(int card, RspMessage *rspmsg);
 int sc_ioctl(int card, scs_ioctl *data);
 int setup_buffers(int card, int c);
-void check_reset(unsigned long data);
+void sc_check_reset(unsigned long data);
 void check_phystat(unsigned long data);
 
 #endif /* CARD_H */
diff --git a/drivers/isdn/sc/command.c b/drivers/isdn/sc/command.c
index b7bb7cb..0e4969c 100644
--- a/drivers/isdn/sc/command.c
+++ b/drivers/isdn/sc/command.c
@@ -344,7 +344,7 @@ int reset(int card)
 
spin_lock_irqsave(sc_adapter[card]-lock, flags);
init_timer(sc_adapter[card]-reset_timer);
-   sc_adapter[card]-reset_timer.function = check_reset;
+   sc_adapter[card]-reset_timer.function = sc_check_reset;
sc_adapter[card]-reset_timer.data = card;
sc_adapter[card]-reset_timer.expires = jiffies + CHECKRESET_TIME;
add_timer(sc_adapter[card]-reset_timer);
diff --git a/drivers/isdn/sc/timer.c b/drivers/isdn/sc/timer.c
index cc1b886..91fbe0d 100644
--- a/drivers/isdn/sc/timer.c
+++ b/drivers/isdn/sc/timer.c
@@ -43,7 +43,7 @@ static void setup_ports(int card)
  * Then, check to see if the signate has been set. Next, set the
  * signature to a known value and issue a startproc if needed.
  */
-void check_reset(unsigned long data)
+void sc_check_reset(unsigned long data)
 {
unsigned long flags;
unsigned long sig;
-
To unsubscribe from this list: send the line unsubscribe git-commits-head in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


readahead: pass real splice size

2007-07-19 Thread Linux Kernel Mailing List
Gitweb: 
http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=d8983910a4045fa21022cfccf76ed13eb40fd7f5
Commit: d8983910a4045fa21022cfccf76ed13eb40fd7f5
Parent: 431a4820bfcdf7ff530e745230bafb06c9bf2d6d
Author: Fengguang Wu [EMAIL PROTECTED]
AuthorDate: Thu Jul 19 01:48:06 2007 -0700
Committer:  Linus Torvalds [EMAIL PROTECTED]
CommitDate: Thu Jul 19 10:04:44 2007 -0700

readahead: pass real splice size

Pass real splice size to page_cache_readahead_ondemand().

The splice code works in chunks of 16 pages internally.  The readahead code
should be told of the overall splice size, instead of the internal chunk 
size.
 Otherwize bad things may happen.  Imagine some 17-page random splice reads.
The code before this patch will result in two readahead calls: 
readahead(16);
readahead(1); That leads to one 16-page I/O and one 32-page I/O: one extra 
I/O
and 31 readahead miss pages.

Signed-off-by: Fengguang Wu [EMAIL PROTECTED]
Cc: Jens Axboe [EMAIL PROTECTED]
Cc: Rusty Russell [EMAIL PROTECTED]
Signed-off-by: Andrew Morton [EMAIL PROTECTED]
Signed-off-by: Linus Torvalds [EMAIL PROTECTED]
---
 fs/splice.c |   12 +---
 1 files changed, 5 insertions(+), 7 deletions(-)

diff --git a/fs/splice.c b/fs/splice.c
index 421b3b8..6ddd032 100644
--- a/fs/splice.c
+++ b/fs/splice.c
@@ -265,7 +265,7 @@ __generic_file_splice_read(struct file *in, loff_t *ppos,
   unsigned int flags)
 {
struct address_space *mapping = in-f_mapping;
-   unsigned int loff, nr_pages;
+   unsigned int loff, nr_pages, req_pages;
struct page *pages[PIPE_BUFFERS];
struct partial_page partial[PIPE_BUFFERS];
struct page *page;
@@ -281,10 +281,8 @@ __generic_file_splice_read(struct file *in, loff_t *ppos,
 
index = *ppos  PAGE_CACHE_SHIFT;
loff = *ppos  ~PAGE_CACHE_MASK;
-   nr_pages = (len + loff + PAGE_CACHE_SIZE - 1)  PAGE_CACHE_SHIFT;
-
-   if (nr_pages  PIPE_BUFFERS)
-   nr_pages = PIPE_BUFFERS;
+   req_pages = (len + loff + PAGE_CACHE_SIZE - 1)  PAGE_CACHE_SHIFT;
+   nr_pages = min(req_pages, (unsigned)PIPE_BUFFERS);
 
/*
 * Lookup the (hopefully) full range of pages we need.
@@ -298,7 +296,7 @@ __generic_file_splice_read(struct file *in, loff_t *ppos,
 */
if (spd.nr_pages  nr_pages)
page_cache_readahead_ondemand(mapping, in-f_ra, in,
-   NULL, index, nr_pages - spd.nr_pages);
+   NULL, index, req_pages - spd.nr_pages);
 
error = 0;
while (spd.nr_pages  nr_pages) {
@@ -355,7 +353,7 @@ __generic_file_splice_read(struct file *in, loff_t *ppos,
 
if (PageReadahead(page))
page_cache_readahead_ondemand(mapping, in-f_ra, in,
-   page, index, nr_pages - page_nr);
+   page, index, req_pages - page_nr);
 
/*
 * If the page isn't uptodate, we may need to start io on it
-
To unsubscribe from this list: send the line unsubscribe git-commits-head in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


readahead: convert ext3/ext4 invocations

2007-07-19 Thread Linux Kernel Mailing List
Gitweb: 
http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=dc7868fcb9a73990e6f30371c1be465c436a7a7f
Commit: dc7868fcb9a73990e6f30371c1be465c436a7a7f
Parent: a08a166fe77d9f9ad88ed6d06b97e73453661f89
Author: Fengguang Wu [EMAIL PROTECTED]
AuthorDate: Thu Jul 19 01:48:04 2007 -0700
Committer:  Linus Torvalds [EMAIL PROTECTED]
CommitDate: Thu Jul 19 10:04:44 2007 -0700

readahead: convert ext3/ext4 invocations

Convert ext3/ext4 dir reads to use on-demand readahead.

Readahead for dirs operates _not_ on file level, but on blockdev level.  
This
makes a difference when the data blocks are not continuous.  And the read
routine is somehow opaque: there's no handy info about the status of current
page.  So a simplified call scheme is employed: to call into readahead
whenever the current page falls out of readahead windows.

Signed-off-by: Fengguang Wu [EMAIL PROTECTED]
Cc: Steven Pratt [EMAIL PROTECTED]
Cc: Ram Pai [EMAIL PROTECTED]
Cc: Rusty Russell [EMAIL PROTECTED]
Signed-off-by: Andrew Morton [EMAIL PROTECTED]
Signed-off-by: Linus Torvalds [EMAIL PROTECTED]
---
 fs/ext3/dir.c |   14 --
 fs/ext4/dir.c |   14 --
 2 files changed, 16 insertions(+), 12 deletions(-)

diff --git a/fs/ext3/dir.c b/fs/ext3/dir.c
index 8528698..3c6d384 100644
--- a/fs/ext3/dir.c
+++ b/fs/ext3/dir.c
@@ -136,12 +136,14 @@ static int ext3_readdir(struct file * filp,
err = ext3_get_blocks_handle(NULL, inode, blk, 1,
map_bh, 0, 0);
if (err  0) {
-   page_cache_readahead(sb-s_bdev-bd_inode-i_mapping,
-   filp-f_ra,
-   filp,
-   map_bh.b_blocknr 
-   (PAGE_CACHE_SHIFT - inode-i_blkbits),
-   1);
+   pgoff_t index = map_bh.b_blocknr 
+   (PAGE_CACHE_SHIFT - inode-i_blkbits);
+   if (!ra_has_index(filp-f_ra, index))
+   page_cache_readahead_ondemand(
+   sb-s_bdev-bd_inode-i_mapping,
+   filp-f_ra, filp,
+   NULL, index, 1);
+   filp-f_ra.prev_index = index;
bh = ext3_bread(NULL, inode, blk, 0, err);
}
 
diff --git a/fs/ext4/dir.c b/fs/ext4/dir.c
index e8ad06e..0a872a0 100644
--- a/fs/ext4/dir.c
+++ b/fs/ext4/dir.c
@@ -135,12 +135,14 @@ static int ext4_readdir(struct file * filp,
map_bh.b_state = 0;
err = ext4_get_blocks_wrap(NULL, inode, blk, 1, map_bh, 0, 0);
if (err  0) {
-   page_cache_readahead(sb-s_bdev-bd_inode-i_mapping,
-   filp-f_ra,
-   filp,
-   map_bh.b_blocknr 
-   (PAGE_CACHE_SHIFT - inode-i_blkbits),
-   1);
+   pgoff_t index = map_bh.b_blocknr 
+   (PAGE_CACHE_SHIFT - inode-i_blkbits);
+   if (!ra_has_index(filp-f_ra, index))
+   page_cache_readahead_ondemand(
+   sb-s_bdev-bd_inode-i_mapping,
+   filp-f_ra, filp,
+   NULL, index, 1);
+   filp-f_ra.prev_index = index;
bh = ext4_bread(NULL, inode, blk, 0, err);
}
 
-
To unsubscribe from this list: send the line unsubscribe git-commits-head in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


coda: cleanup coda_lookup, use dsplice_alias

2007-07-19 Thread Linux Kernel Mailing List
Gitweb: 
http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=ed36f723676b208053d0655cee7e7f1601a2d356
Commit: ed36f723676b208053d0655cee7e7f1601a2d356
Parent: 970648eb03cca7d7405f9a3a5d3fe29929e48aa6
Author: Jan Harkes [EMAIL PROTECTED]
AuthorDate: Thu Jul 19 01:48:49 2007 -0700
Committer:  Linus Torvalds [EMAIL PROTECTED]
CommitDate: Thu Jul 19 10:04:48 2007 -0700

coda: cleanup coda_lookup, use dsplice_alias

Signed-off-by: Jan Harkes [EMAIL PROTECTED]
Signed-off-by: Andrew Morton [EMAIL PROTECTED]
Signed-off-by: Linus Torvalds [EMAIL PROTECTED]
---
 fs/coda/dir.c |   57 ++---
 1 files changed, 22 insertions(+), 35 deletions(-)

diff --git a/fs/coda/dir.c b/fs/coda/dir.c
index 47ac9e2..0c6c48c 100644
--- a/fs/coda/dir.c
+++ b/fs/coda/dir.c
@@ -97,58 +97,45 @@ const struct file_operations coda_dir_operations = {
 /* access routines: lookup, readlink, permission */
 static struct dentry *coda_lookup(struct inode *dir, struct dentry *entry, 
struct nameidata *nd)
 {
-   struct inode *res_inode = NULL;
+   struct inode *inode = NULL;
struct CodaFid resfid = { { 0, } };
-   int dropme = 0; /* to indicate entry should not be cached */
int type = 0;
int error = 0;
const char *name = entry-d_name.name;
size_t length = entry-d_name.len;
-   
-   if ( length  CODA_MAXNAMLEN ) {
-   printk(name too long: lookup, %s (%*s)\n, 
+
+   if (length  CODA_MAXNAMLEN) {
+   printk(KERN_ERR name too long: lookup, %s (%*s)\n,
   coda_i2s(dir), (int)length, name);
return ERR_PTR(-ENAMETOOLONG);
}
 
+   /* control object, create inode on the fly */
+   if (coda_isroot(dir)  coda_iscontrol(name, length)) {
+   error = coda_cnode_makectl(inode, dir-i_sb);
+   type = CODA_NOCACHE;
+   goto exit;
+   }
+
lock_kernel();
-/* control object, create inode on the fly */
-if (coda_isroot(dir)  coda_iscontrol(name, length)) {
-   error = coda_cnode_makectl(res_inode, dir-i_sb);
-   dropme = 1;
-goto exit;
-}
 
-   error = venus_lookup(dir-i_sb, coda_i2f(dir), 
-(const char *)name, length, type, resfid);
+   error = venus_lookup(dir-i_sb, coda_i2f(dir), name, length,
+type, resfid);
+   if (!error)
+   error = coda_cnode_make(inode, resfid, dir-i_sb);
 
-   res_inode = NULL;
-   if (!error) {
-   if (type  CODA_NOCACHE) {
-   type = (~CODA_NOCACHE);
-   dropme = 1;
-   }
+   unlock_kernel();
 
-   error = coda_cnode_make(res_inode, resfid, dir-i_sb);
-   if (error) {
-   unlock_kernel();
-   return ERR_PTR(error);
-   }
-   } else if (error != -ENOENT) {
-   unlock_kernel();
+   if (error  error != -ENOENT)
return ERR_PTR(error);
-   }
 
 exit:
-   entry-d_time = 0;
entry-d_op = coda_dentry_operations;
-   d_add(entry, res_inode);
-   if ( dropme ) {
-   d_drop(entry);
-   coda_flag_inode(res_inode, C_VATTR);
-   }
-   unlock_kernel();
-return NULL;
+
+   if (inode  (type  CODA_NOCACHE))
+   coda_flag_inode(inode, C_VATTR | C_PURGE);
+
+   return d_splice_alias(inode, entry);
 }
 
 
-
To unsubscribe from this list: send the line unsubscribe git-commits-head in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


lguest: the Makefile and Kconfig

2007-07-19 Thread Linux Kernel Mailing List
Gitweb: 
http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=709e89266b60eff444fc512400321eb02d2474eb
Commit: 709e89266b60eff444fc512400321eb02d2474eb
Parent: 6db7016d17b235a24e0c1544c202defa47ae7247
Author: Rusty Russell [EMAIL PROTECTED]
AuthorDate: Thu Jul 19 01:49:27 2007 -0700
Committer:  Linus Torvalds [EMAIL PROTECTED]
CommitDate: Thu Jul 19 10:04:52 2007 -0700

lguest: the Makefile and Kconfig

This is the Kconfig and Makefile to allow lguest to actually be
compiled.

Signed-off-by: Rusty Russell [EMAIL PROTECTED]
Cc: Andi Kleen [EMAIL PROTECTED]
Signed-off-by: Andrew Morton [EMAIL PROTECTED]
Signed-off-by: Linus Torvalds [EMAIL PROTECTED]
---
 drivers/Kconfig |2 ++
 drivers/Makefile|1 +
 drivers/lguest/Kconfig  |   20 
 drivers/lguest/Makefile |7 +++
 4 files changed, 30 insertions(+), 0 deletions(-)

diff --git a/drivers/Kconfig b/drivers/Kconfig
index ae01d86..707650a 100644
--- a/drivers/Kconfig
+++ b/drivers/Kconfig
@@ -85,4 +85,6 @@ source drivers/auxdisplay/Kconfig
 source drivers/kvm/Kconfig
 
 source drivers/uio/Kconfig
+
+source drivers/lguest/Kconfig
 endmenu
diff --git a/drivers/Makefile b/drivers/Makefile
index c34c8ef..0ea8e32 100644
--- a/drivers/Makefile
+++ b/drivers/Makefile
@@ -73,6 +73,7 @@ obj-$(CONFIG_ISDN)+= isdn/
 obj-$(CONFIG_EDAC) += edac/
 obj-$(CONFIG_MCA)  += mca/
 obj-$(CONFIG_EISA) += eisa/
+obj-$(CONFIG_LGUEST_GUEST) += lguest/
 obj-$(CONFIG_CPU_FREQ) += cpufreq/
 obj-$(CONFIG_MMC)  += mmc/
 obj-$(CONFIG_NEW_LEDS) += leds/
diff --git a/drivers/lguest/Kconfig b/drivers/lguest/Kconfig
new file mode 100644
index 000..43d901f
--- /dev/null
+++ b/drivers/lguest/Kconfig
@@ -0,0 +1,20 @@
+config LGUEST
+   tristate Linux hypervisor example code
+   depends on X86  PARAVIRT  NET  EXPERIMENTAL  !X86_PAE
+   select LGUEST_GUEST
+   select HVC_DRIVER
+   ---help---
+ This is a very simple module which allows you to run
+ multiple instances of the same Linux kernel, using the
+ lguest command found in the Documentation/lguest directory.
+ Note that lguest is pronounced to rhyme with fell quest,
+ not rustyvisor.  See Documentation/lguest/lguest.txt.
+
+ If unsure, say N.  If curious, say M.  If masochistic, say Y.
+
+config LGUEST_GUEST
+   bool
+   help
+ The guest needs code built-in, even if the host has lguest
+ support as a module.  The drivers are tiny, so we build them
+ in too.
diff --git a/drivers/lguest/Makefile b/drivers/lguest/Makefile
new file mode 100644
index 000..55382c7
--- /dev/null
+++ b/drivers/lguest/Makefile
@@ -0,0 +1,7 @@
+# Guest requires the paravirt_ops replacement and the bus driver.
+obj-$(CONFIG_LGUEST_GUEST) += lguest.o lguest_asm.o lguest_bus.o
+
+# Host requires the other files, which can be a module.
+obj-$(CONFIG_LGUEST)   += lg.o
+lg-y := core.o hypercalls.o page_tables.o interrupts_and_traps.o \
+   segments.o io.o lguest_user.o switcher.o
-
To unsubscribe from this list: send the line unsubscribe git-commits-head in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


drivers/edac: change from semaphore to mutex operation

2007-07-19 Thread Linux Kernel Mailing List
Gitweb: 
http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=63b7df9101895d1f0a259c567b3bab949a23075f
Commit: 63b7df9101895d1f0a259c567b3bab949a23075f
Parent: 1a9b85e6b36cdd046b0a354c38af20a7155272b8
Author: Matthias Kaehlcke [EMAIL PROTECTED]
AuthorDate: Thu Jul 19 01:49:38 2007 -0700
Committer:  Linus Torvalds [EMAIL PROTECTED]
CommitDate: Thu Jul 19 10:04:53 2007 -0700

drivers/edac: change from semaphore to mutex operation

The EDAC core code uses a semaphore as mutex. use the mutex API
instead of the (binary) semaphore.

Matthaias wrote this, but since I had some patches ahead of it,
I need to modify it to follow my patches.

Signed-off-by: Matthias Kaehlcke [EMAIL PROTECTED]
Signed-off-by: Douglas Thompson [EMAIL PROTECTED]
Signed-off-by: Andrew Morton [EMAIL PROTECTED]
Signed-off-by: Linus Torvalds [EMAIL PROTECTED]
---
 drivers/edac/edac_mc.c |   18 +-
 1 files changed, 9 insertions(+), 9 deletions(-)

diff --git a/drivers/edac/edac_mc.c b/drivers/edac/edac_mc.c
index 1f22d8c..eae1ca1 100644
--- a/drivers/edac/edac_mc.c
+++ b/drivers/edac/edac_mc.c
@@ -35,7 +35,7 @@
 
 
 /* lock to memory controller's control array */
-static DECLARE_MUTEX(mem_ctls_mutex);
+static DEFINE_MUTEX(mem_ctls_mutex);
 static struct list_head mc_devices = LIST_HEAD_INIT(mc_devices);
 
 #ifdef CONFIG_EDAC_DEBUG
@@ -334,7 +334,7 @@ int edac_mc_add_mc(struct mem_ctl_info *mci, int mc_idx)
}
}
 #endif
-   down(mem_ctls_mutex);
+   mutex_lock(mem_ctls_mutex);
 
if (add_mc_to_global_list(mci))
goto fail0;
@@ -352,14 +352,14 @@ int edac_mc_add_mc(struct mem_ctl_info *mci, int mc_idx)
edac_mc_printk(mci, KERN_INFO, Giving out device to %s %s: DEV %s\n,
mci-mod_name, mci-ctl_name, dev_name(mci-dev));
 
-   up(mem_ctls_mutex);
+   mutex_unlock(mem_ctls_mutex);
return 0;
 
 fail1:
del_mc_from_global_list(mci);
 
 fail0:
-   up(mem_ctls_mutex);
+   mutex_unlock(mem_ctls_mutex);
return 1;
 }
 EXPORT_SYMBOL_GPL(edac_mc_add_mc);
@@ -376,16 +376,16 @@ struct mem_ctl_info * edac_mc_del_mc(struct device *dev)
struct mem_ctl_info *mci;
 
debugf0(MC: %s()\n, __func__);
-   down(mem_ctls_mutex);
+   mutex_lock(mem_ctls_mutex);
 
if ((mci = find_mci_by_dev(dev)) == NULL) {
-   up(mem_ctls_mutex);
+   mutex_unlock(mem_ctls_mutex);
return NULL;
}
 
edac_remove_sysfs_mci_device(mci);
del_mc_from_global_list(mci);
-   up(mem_ctls_mutex);
+   mutex_unlock(mem_ctls_mutex);
edac_printk(KERN_INFO, EDAC_MC,
Removed device %d for %s %s: DEV %s\n, mci-mc_idx,
mci-mod_name, mci-ctl_name, dev_name(mci-dev));
@@ -722,7 +722,7 @@ void edac_check_mc_devices(void)
struct mem_ctl_info *mci;
 
debugf3(%s()\n, __func__);
-   down(mem_ctls_mutex);
+   mutex_lock(mem_ctls_mutex);
 
list_for_each(item, mc_devices) {
mci = list_entry(item, struct mem_ctl_info, link);
@@ -731,5 +731,5 @@ void edac_check_mc_devices(void)
mci-edac_check(mci);
}
 
-   up(mem_ctls_mutex);
+   mutex_unlock(mem_ctls_mutex);
 }
-
To unsubscribe from this list: send the line unsubscribe git-commits-head in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


mm: fix clear_page_dirty_for_io vs fault race

2007-07-19 Thread Linux Kernel Mailing List
Gitweb: 
http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=79352894b28550ee0eee919149f57626ec1b3572
Commit: 79352894b28550ee0eee919149f57626ec1b3572
Parent: 83c54070ee1a2d05c89793884bea1a03f2851ed4
Author: Nick Piggin [EMAIL PROTECTED]
AuthorDate: Thu Jul 19 01:47:22 2007 -0700
Committer:  Linus Torvalds [EMAIL PROTECTED]
CommitDate: Thu Jul 19 10:04:41 2007 -0700

mm: fix clear_page_dirty_for_io vs fault race

Fix msync data loss and (less importantly) dirty page accounting
inaccuracies due to the race remaining in clear_page_dirty_for_io().

The deleted comment explains what the race was, and the added comments
explain how it is fixed.

Signed-off-by: Nick Piggin [EMAIL PROTECTED]
Acked-by: Linus Torvalds [EMAIL PROTECTED]
Cc: Miklos Szeredi [EMAIL PROTECTED]
Signed-off-by: Andrew Morton [EMAIL PROTECTED]
Signed-off-by: Linus Torvalds [EMAIL PROTECTED]
---
 mm/memory.c |9 +
 mm/page-writeback.c |   17 -
 2 files changed, 21 insertions(+), 5 deletions(-)

diff --git a/mm/memory.c b/mm/memory.c
index 61d51da..50dd3d1 100644
--- a/mm/memory.c
+++ b/mm/memory.c
@@ -1765,6 +1765,15 @@ gotten:
 unlock:
pte_unmap_unlock(page_table, ptl);
if (dirty_page) {
+   /*
+* Yes, Virginia, this is actually required to prevent a race
+* with clear_page_dirty_for_io() from clearing the page dirty
+* bit after it clear all dirty ptes, but before a racing
+* do_wp_page installs a dirty pte.
+*
+* do_no_page is protected similarly.
+*/
+   wait_on_page_locked(dirty_page);
set_page_dirty_balance(dirty_page);
put_page(dirty_page);
}
diff --git a/mm/page-writeback.c b/mm/page-writeback.c
index 886ea0d..e624827 100644
--- a/mm/page-writeback.c
+++ b/mm/page-writeback.c
@@ -918,6 +918,8 @@ int clear_page_dirty_for_io(struct page *page)
 {
struct address_space *mapping = page_mapping(page);
 
+   BUG_ON(!PageLocked(page));
+
if (mapping  mapping_cap_account_dirty(mapping)) {
/*
 * Yes, Virginia, this is indeed insane.
@@ -943,14 +945,19 @@ int clear_page_dirty_for_io(struct page *page)
 * We basically use the page master dirty bit
 * as a serialization point for all the different
 * threads doing their things.
-*
-* FIXME! We still have a race here: if somebody
-* adds the page back to the page tables in
-* between the page_mkclean() and the TestClearPageDirty(),
-* we might have it mapped without the dirty bit set.
 */
if (page_mkclean(page))
set_page_dirty(page);
+   /*
+* We carefully synchronise fault handlers against
+* installing a dirty pte and marking the page dirty
+* at this point. We do this by having them hold the
+* page lock at some point after installing their
+* pte, but before marking the page dirty.
+* Pages are always locked coming in here, so we get
+* the desired exclusion. See mm/memory.c:do_wp_page()
+* for more comments.
+*/
if (TestClearPageDirty(page)) {
dec_zone_page_state(page, NR_FILE_DIRTY);
return 1;
-
To unsubscribe from this list: send the line unsubscribe git-commits-head in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


knfsd: clean up EX_RDONLY

2007-07-19 Thread Linux Kernel Mailing List
Gitweb: 
http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=c7d51402d2a64c5b96531f9900bb368020eb
Commit: c7d51402d2a64c5b96531f9900bb368020eb
Parent: e22841c637dc8b308b40f59d64a5b6683d458ab7
Author: J. Bruce Fields [EMAIL PROTECTED]
AuthorDate: Thu Jul 19 01:49:20 2007 -0700
Committer:  Linus Torvalds [EMAIL PROTECTED]
CommitDate: Thu Jul 19 10:04:52 2007 -0700

knfsd: clean up EX_RDONLY

Share a little common code, reverse the arguments for consistency, drop the
unnecessary inline, and lowercase the name.

Signed-off-by: J. Bruce Fields [EMAIL PROTECTED]
Acked-by: Neil Brown [EMAIL PROTECTED]
Signed-off-by: Andrew Morton [EMAIL PROTECTED]
Signed-off-by: Linus Torvalds [EMAIL PROTECTED]
---
 fs/nfsd/auth.c  |3 ++-
 fs/nfsd/vfs.c   |   13 +++--
 include/linux/nfsd/export.h |1 +
 3 files changed, 6 insertions(+), 11 deletions(-)

diff --git a/fs/nfsd/auth.c b/fs/nfsd/auth.c
index cf61dc8..2192805 100644
--- a/fs/nfsd/auth.c
+++ b/fs/nfsd/auth.c
@@ -9,10 +9,11 @@
 #include linux/sunrpc/svc.h
 #include linux/sunrpc/svcauth.h
 #include linux/nfsd/nfsd.h
+#include linux/nfsd/export.h
 
 #defineCAP_NFSD_MASK (CAP_FS_MASK|CAP_TO_MASK(CAP_SYS_RESOURCE))
 
-static int nfsexp_flags(struct svc_rqst *rqstp, struct svc_export *exp)
+int nfsexp_flags(struct svc_rqst *rqstp, struct svc_export *exp)
 {
struct exp_flavor_info *f;
struct exp_flavor_info *end = exp-ex_flavors + exp-ex_nflavors;
diff --git a/fs/nfsd/vfs.c b/fs/nfsd/vfs.c
index f2684e5..ee96a89 100644
--- a/fs/nfsd/vfs.c
+++ b/fs/nfsd/vfs.c
@@ -1797,16 +1797,9 @@ nfsd_statfs(struct svc_rqst *rqstp, struct svc_fh *fhp, 
struct kstatfs *stat)
return err;
 }
 
-static inline int EX_RDONLY(struct svc_export *exp, struct svc_rqst *rqstp)
+static int exp_rdonly(struct svc_rqst *rqstp, struct svc_export *exp)
 {
-   struct exp_flavor_info *f;
-   struct exp_flavor_info *end = exp-ex_flavors + exp-ex_nflavors;
-
-   for (f = exp-ex_flavors; f  end; f++) {
-   if (f-pseudoflavor == rqstp-rq_flavor)
-   return f-flags  NFSEXP_READONLY;
-   }
-   return exp-ex_flags  NFSEXP_READONLY;
+   return nfsexp_flags(rqstp, exp)  NFSEXP_READONLY;
 }
 
 /*
@@ -1845,7 +1838,7 @@ nfsd_permission(struct svc_rqst *rqstp, struct svc_export 
*exp,
 */
if (!(acc  MAY_LOCAL_ACCESS))
if (acc  (MAY_WRITE | MAY_SATTR | MAY_TRUNC)) {
-   if (EX_RDONLY(exp, rqstp) || IS_RDONLY(inode))
+   if (exp_rdonly(rqstp, exp) || IS_RDONLY(inode))
return nfserr_rofs;
if (/* (acc  MAY_WRITE)  */ IS_IMMUTABLE(inode))
return nfserr_perm;
diff --git a/include/linux/nfsd/export.h b/include/linux/nfsd/export.h
index fb4e930..5cd1924 100644
--- a/include/linux/nfsd/export.h
+++ b/include/linux/nfsd/export.h
@@ -116,6 +116,7 @@ struct svc_expkey {
 #define EX_NOHIDE(exp) ((exp)-ex_flags  NFSEXP_NOHIDE)
 #define EX_WGATHER(exp)((exp)-ex_flags  
NFSEXP_GATHERED_WRITES)
 
+int nfsexp_flags(struct svc_rqst *rqstp, struct svc_export *exp);
 __be32 check_nfsd_access(struct svc_export *exp, struct svc_rqst *rqstp);
 
 /*
-
To unsubscribe from this list: send the line unsubscribe git-commits-head in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Avoid too many remote cpu references due to /proc/stat

2007-07-19 Thread Linux Kernel Mailing List
Gitweb: 
http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=4004c69ad68dd03733179277280ea2946990ba36
Commit: 4004c69ad68dd03733179277280ea2946990ba36
Parent: a0a9983509f45b2225ca87fdcf7b40ea916834ed
Author: Ravikiran G Thirumalai [EMAIL PROTECTED]
AuthorDate: Thu Jul 19 01:47:53 2007 -0700
Committer:  Linus Torvalds [EMAIL PROTECTED]
CommitDate: Thu Jul 19 10:04:43 2007 -0700

Avoid too many remote cpu references due to /proc/stat

Optimize show_stat to collect per-irq information just once.

On x86_64, with newer kernel versions, kstat_irqs is a bit of a problem.
On every call to kstat_irqs, the process brings in per-cpu data from all
online cpus.  Doing this for NR_IRQS, which is now 256 + 32 * NR_CPUS
results in (256+32*63) * 63 remote cpu references on a 64 cpu config.
Considering the fact that we already compute this value per-cpu, we can
save on the remote references as below.

Signed-off-by: Alok N Kataria [EMAIL PROTECTED]
Signed-off-by: Ravikiran Thirumalai [EMAIL PROTECTED]
Signed-off-by: Andrew Morton [EMAIL PROTECTED]
Signed-off-by: Linus Torvalds [EMAIL PROTECTED]
---
 fs/proc/proc_misc.c |   15 ---
 1 files changed, 12 insertions(+), 3 deletions(-)

diff --git a/fs/proc/proc_misc.c b/fs/proc/proc_misc.c
index d24b8d4..f133afe 100644
--- a/fs/proc/proc_misc.c
+++ b/fs/proc/proc_misc.c
@@ -445,6 +445,11 @@ static int show_stat(struct seq_file *p, void *v)
cputime64_t user, nice, system, idle, iowait, irq, softirq, steal;
u64 sum = 0;
struct timespec boottime;
+   unsigned int *per_irq_sum;
+
+   per_irq_sum = kzalloc(sizeof(unsigned int)*NR_IRQS, GFP_KERNEL);
+   if (!per_irq_sum)
+   return -ENOMEM;
 
user = nice = system = idle = iowait =
irq = softirq = steal = cputime64_zero;
@@ -462,8 +467,11 @@ static int show_stat(struct seq_file *p, void *v)
irq = cputime64_add(irq, kstat_cpu(i).cpustat.irq);
softirq = cputime64_add(softirq, kstat_cpu(i).cpustat.softirq);
steal = cputime64_add(steal, kstat_cpu(i).cpustat.steal);
-   for (j = 0 ; j  NR_IRQS ; j++)
-   sum += kstat_cpu(i).irqs[j];
+   for (j = 0; j  NR_IRQS; j++) {
+   unsigned int temp = kstat_cpu(i).irqs[j];
+   sum += temp;
+   per_irq_sum[j] += temp;
+   }
}
 
seq_printf(p, cpu  %llu %llu %llu %llu %llu %llu %llu %llu\n,
@@ -501,7 +509,7 @@ static int show_stat(struct seq_file *p, void *v)
 
 #if !defined(CONFIG_PPC64)  !defined(CONFIG_ALPHA)  !defined(CONFIG_IA64)
for (i = 0; i  NR_IRQS; i++)
-   seq_printf(p,  %u, kstat_irqs(i));
+   seq_printf(p,  %u, per_irq_sum[i]);
 #endif
 
seq_printf(p,
@@ -516,6 +524,7 @@ static int show_stat(struct seq_file *p, void *v)
nr_running(),
nr_iowait());
 
+   kfree(per_irq_sum);
return 0;
 }
 
-
To unsubscribe from this list: send the line unsubscribe git-commits-head in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


kernel-doc: fix unnamed struct/union warning

2007-07-19 Thread Linux Kernel Mailing List
Gitweb: 
http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=5f8c7c98ae3888cf0a2cf320f514f75cc92f00be
Commit: 5f8c7c98ae3888cf0a2cf320f514f75cc92f00be
Parent: 2ac534bc127bcf31f8cb76f65b1b0b7cba5e81ac
Author: Randy Dunlap [EMAIL PROTECTED]
AuthorDate: Thu Jul 19 01:48:24 2007 -0700
Committer:  Linus Torvalds [EMAIL PROTECTED]
CommitDate: Thu Jul 19 10:04:45 2007 -0700

kernel-doc: fix unnamed struct/union warning

Fix kernel-doc warning:
Warning(linux-2.6.22-rc2-git2/include/linux/skbuff.h:316): No description 
found for parameter '}'

which is caused by nested anonymous structs/unions ending with:
  };
};

Signed-off-by: Randy Dunlap [EMAIL PROTECTED]
Signed-off-by: Andrew Morton [EMAIL PROTECTED]
Signed-off-by: Linus Torvalds [EMAIL PROTECTED]
---
 scripts/kernel-doc |   14 ++
 1 files changed, 10 insertions(+), 4 deletions(-)

diff --git a/scripts/kernel-doc b/scripts/kernel-doc
index e5bf649..08894f4 100755
--- a/scripts/kernel-doc
+++ b/scripts/kernel-doc
@@ -154,6 +154,7 @@ use strict;
 
 my $errors = 0;
 my $warnings = 0;
+my $anon_struct_union = 0;
 
 # match expressions used to find embedded type information
 my $type_constant = '\%([-_\w]+)';
@@ -1510,8 +1511,13 @@ sub push_parameter($$$) {
my $param = shift;
my $type = shift;
my $file = shift;
-   my $anon = 0;
 
+   if (($anon_struct_union == 1)  ($type eq ) 
+   ($param eq })) {
+   return; # ignore the ending }; from anon. struct/union
+   }
+
+   $anon_struct_union = 0;
my $param_name = $param;
$param_name =~ s/\[.*//;
 
@@ -1530,16 +1536,16 @@ sub push_parameter($$$) {
# handle unnamed (anonymous) union or struct:
{
$type = $param;
-   $param = {unnamed_ . $param. };
+   $param = {unnamed_ . $param . };
$parameterdescs{$param} = anonymous\n;
-   $anon = 1;
+   $anon_struct_union = 1;
}
 
# warn if parameter has no description
# (but ignore ones starting with # as these are not parameters
# but inline preprocessor statements);
# also ignore unnamed structs/unions;
-   if (!$anon) {
+   if (!$anon_struct_union) {
if (!defined $parameterdescs{$param_name}  $param_name !~ /^#/) {
 
$parameterdescs{$param_name} = $undescribed;
-
To unsubscribe from this list: send the line unsubscribe git-commits-head in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


drivers/edac: add to maintainers new info

2007-07-19 Thread Linux Kernel Mailing List
Gitweb: 
http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=ba9a5918c86762fa7fae353c635bb6ed5221dfb8
Commit: ba9a5918c86762fa7fae353c635bb6ed5221dfb8
Parent: 420390f06a5afd3e130b960ef99bc4bd4286e535
Author: Douglas Thompson [EMAIL PROTECTED]
AuthorDate: Thu Jul 19 01:50:32 2007 -0700
Committer:  Linus Torvalds [EMAIL PROTECTED]
CommitDate: Thu Jul 19 10:04:57 2007 -0700

drivers/edac: add to maintainers new info

Update maintainer information on edac components

Signed-off-by: Doug Thompson [EMAIL PROTECTED]
Cc: Greg KH [EMAIL PROTECTED]
Cc: Alan Cox [EMAIL PROTECTED]
Signed-off-by: Andrew Morton [EMAIL PROTECTED]
Signed-off-by: Linus Torvalds [EMAIL PROTECTED]
---
 MAINTAINERS |   24 +---
 1 files changed, 21 insertions(+), 3 deletions(-)

diff --git a/MAINTAINERS b/MAINTAINERS
index 6b51ed6..0c83823 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -1352,21 +1352,23 @@ S:  Supported
 
 EDAC-CORE
 P: Doug Thompson
-M: [EMAIL PROTECTED]
+M: [EMAIL PROTECTED]
 L: [EMAIL PROTECTED]
 W: bluesmoke.sourceforge.net
 S: Supported
 
 EDAC-E752X
 P: Mark Gross
+P: Doug Thompson
 M: [EMAIL PROTECTED]
+M: [EMAIL PROTECTED]
 L: [EMAIL PROTECTED]
 W: bluesmoke.sourceforge.net
 S: Maintained
 
 EDAC-E7XXX
 P: Doug Thompson
-M: [EMAIL PROTECTED]
+M: [EMAIL PROTECTED]
 L: [EMAIL PROTECTED]
 W: bluesmoke.sourceforge.net
 S: Maintained
@@ -1387,7 +1389,23 @@ S:   Maintained
 
 EDAC-I5000
 P: Doug Thompson
-M: [EMAIL PROTECTED]
+M: [EMAIL PROTECTED]
+L: [EMAIL PROTECTED]
+W: bluesmoke.sourceforge.net
+S: Maintained
+
+EDAC-I82975X
+P: Ranganathan Desikan
+P: Arvind R.
+M: [EMAIL PROTECTED]
+M: [EMAIL PROTECTED]
+L: [EMAIL PROTECTED]
+W: bluesmoke.sourceforge.net
+S: Maintained
+
+EDAC-PASEMI
+P: Egor Martovetsky
+M: [EMAIL PROTECTED]
 L: [EMAIL PROTECTED]
 W: bluesmoke.sourceforge.net
 S: Maintained
-
To unsubscribe from this list: send the line unsubscribe git-commits-head in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


lguest: export symbols for lguest as a module

2007-07-19 Thread Linux Kernel Mailing List
Gitweb: 
http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=5992b6dac0d23a2b51a1ccbaf8f1a2e62097b12b
Commit: 5992b6dac0d23a2b51a1ccbaf8f1a2e62097b12b
Parent: 57deb52622f3700d154e32662f36cd5f4053f6ed
Author: Rusty Russell [EMAIL PROTECTED]
AuthorDate: Thu Jul 19 01:49:21 2007 -0700
Committer:  Linus Torvalds [EMAIL PROTECTED]
CommitDate: Thu Jul 19 10:04:52 2007 -0700

lguest: export symbols for lguest as a module

lguest does some fairly lowlevel things to support a host, which
normal modules don't need:

math_state_restore:
When the guest triggers a Device Not Available fault, we need
to be able to restore the FPU

__put_task_struct:
We need to hold a reference to another task for inter-guest
I/O, and put_task_struct() is an inline function which calls
__put_task_struct.

access_process_vm:
We need to access another task for inter-guest I/O.

map_vm_area  __get_vm_area:
We need to map the switcher shim (ie. monitor) at 0xFFC01000.

Signed-off-by: Rusty Russell [EMAIL PROTECTED]
Signed-off-by: Andrew Morton [EMAIL PROTECTED]
Signed-off-by: Linus Torvalds [EMAIL PROTECTED]
---
 arch/i386/kernel/traps.c |1 +
 kernel/fork.c|1 +
 mm/memory.c  |1 +
 mm/vmalloc.c |2 ++
 4 files changed, 5 insertions(+), 0 deletions(-)

diff --git a/arch/i386/kernel/traps.c b/arch/i386/kernel/traps.c
index d32fd4b..109ebbc 100644
--- a/arch/i386/kernel/traps.c
+++ b/arch/i386/kernel/traps.c
@@ -1056,6 +1056,7 @@ asmlinkage void math_state_restore(void)
thread-status |= TS_USEDFPU;   /* So we fnsave on switch_to() */
tsk-fpu_counter++;
 }
+EXPORT_SYMBOL_GPL(math_state_restore);
 
 #ifndef CONFIG_MATH_EMULATION
 
diff --git a/kernel/fork.c b/kernel/fork.c
index 4698389..e7a2d99 100644
--- a/kernel/fork.c
+++ b/kernel/fork.c
@@ -127,6 +127,7 @@ void __put_task_struct(struct task_struct *tsk)
if (!profile_handoff_task(tsk))
free_task(tsk);
 }
+EXPORT_SYMBOL_GPL(__put_task_struct);
 
 void __init fork_init(unsigned long mempages)
 {
diff --git a/mm/memory.c b/mm/memory.c
index 50dd3d1..8aace3d 100644
--- a/mm/memory.c
+++ b/mm/memory.c
@@ -2865,3 +2865,4 @@ int access_process_vm(struct task_struct *tsk, unsigned 
long addr, void *buf, in
 
return buf - old_buf;
 }
+EXPORT_SYMBOL_GPL(access_process_vm);
diff --git a/mm/vmalloc.c b/mm/vmalloc.c
index 213d5e5..3cee76a 100644
--- a/mm/vmalloc.c
+++ b/mm/vmalloc.c
@@ -164,6 +164,7 @@ int map_vm_area(struct vm_struct *area, pgprot_t prot, 
struct page ***pages)
flush_cache_vmap((unsigned long) area-addr, end);
return err;
 }
+EXPORT_SYMBOL_GPL(map_vm_area);
 
 static struct vm_struct *__get_vm_area_node(unsigned long size, unsigned long 
flags,
unsigned long start, unsigned long 
end,
@@ -242,6 +243,7 @@ struct vm_struct *__get_vm_area(unsigned long size, 
unsigned long flags,
 {
return __get_vm_area_node(size, flags, start, end, -1, GFP_KERNEL);
 }
+EXPORT_SYMBOL_GPL(__get_vm_area);
 
 /**
  * get_vm_area  -  reserve a contingous kernel virtual area
-
To unsubscribe from this list: send the line unsubscribe git-commits-head in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Document -page_mkwrite() locking

2007-07-19 Thread Linux Kernel Mailing List
Gitweb: 
http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=ed2f2f9b3ff8debdf512f7687b232c3c1d7d60d7
Commit: ed2f2f9b3ff8debdf512f7687b232c3c1d7d60d7
Parent: 6967614761fd305b3414d9485d89dc2e0a407410
Author: Mark Fasheh [EMAIL PROTECTED]
AuthorDate: Thu Jul 19 01:47:01 2007 -0700
Committer:  Linus Torvalds [EMAIL PROTECTED]
CommitDate: Thu Jul 19 10:04:41 2007 -0700

Document -page_mkwrite() locking

There seems to be very little documentation about this callback in general.
The locking in particular is a bit tricky, so it's worth having this in
writing.

Signed-off-by: Mark Fasheh [EMAIL PROTECTED]
Cc: Nick Piggin [EMAIL PROTECTED]
Cc: David Howells [EMAIL PROTECTED]
Signed-off-by: Andrew Morton [EMAIL PROTECTED]
Signed-off-by: Linus Torvalds [EMAIL PROTECTED]
---
 Documentation/filesystems/Locking |   11 ++-
 1 files changed, 10 insertions(+), 1 deletions(-)

diff --git a/Documentation/filesystems/Locking 
b/Documentation/filesystems/Locking
index 970c8ec..91ec4b4 100644
--- a/Documentation/filesystems/Locking
+++ b/Documentation/filesystems/Locking
@@ -512,13 +512,22 @@ prototypes:
void (*close)(struct vm_area_struct*);
struct page *(*fault)(struct vm_area_struct*, struct fault_data *);
struct page *(*nopage)(struct vm_area_struct*, unsigned long, int *);
+   int (*page_mkwrite)(struct vm_area_struct *, struct page *);
 
 locking rules:
-   BKL mmap_sem
+   BKL mmap_semPageLocked(page)
 open:  no  yes
 close: no  yes
 fault: no  yes
 nopage:no  yes
+page_mkwrite:  no  yes no
+
+   -page_mkwrite() is called when a previously read-only page is
+about to become writeable. The file system is responsible for
+protecting against truncate races. Once appropriate action has been
+taking to lock out truncate, the page range should be verified to be
+within i_size. The page mapping should also be checked that it is not
+NULL.
 
 

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


fix raw_spinlock_t vs lockdep

2007-07-19 Thread Linux Kernel Mailing List
Gitweb: 
http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=21f8ca3bf6198bd21e3c4cc820af2ccf753a6ec8
Commit: 21f8ca3bf6198bd21e3c4cc820af2ccf753a6ec8
Parent: 5b7f13bd26a0c1d394a1a1f2bb6de5130c3a3843
Author: Peter Zijlstra [EMAIL PROTECTED]
AuthorDate: Thu Jul 19 01:48:53 2007 -0700
Committer:  Linus Torvalds [EMAIL PROTECTED]
CommitDate: Thu Jul 19 10:04:49 2007 -0700

fix raw_spinlock_t vs lockdep

Use the lockdep infrastructure to track lock contention and other lock
statistics.

It tracks lock contention events, and the first four unique call-sites that
encountered contention.

It also measures lock wait-time and hold-time in nanoseconds. The minimum 
and
maximum times are tracked, as well as a total (which together with the 
number
of event can give the avg).

All statistics are done per lock class, per write (exclusive state) and per 
read
(shared state).

The statistics are collected per-cpu, so that the collection overhead is
minimized via having no global cachemisses.

This new lock statistics feature is independent of the lock dependency 
checking
traditionally done by lockdep; it just shares the lock tracking code. It is
also possible to enable both and runtime disabled either component - thereby
avoiding the O(n^2) lock chain walks for instance.

This patch:

raw_spinlock_t should not use lockdep (and doesn't) since lockdep itself
relies on it.

Signed-off-by: Peter Zijlstra [EMAIL PROTECTED]
Acked-by: Ingo Molnar [EMAIL PROTECTED]
Signed-off-by: Andrew Morton [EMAIL PROTECTED]
Signed-off-by: Linus Torvalds [EMAIL PROTECTED]
---
 include/linux/spinlock_types.h|4 ++--
 include/linux/spinlock_types_up.h |9 +
 2 files changed, 3 insertions(+), 10 deletions(-)

diff --git a/include/linux/spinlock_types.h b/include/linux/spinlock_types.h
index 210549b..f6a3a95 100644
--- a/include/linux/spinlock_types.h
+++ b/include/linux/spinlock_types.h
@@ -9,14 +9,14 @@
  * Released under the General Public License (GPL).
  */
 
-#include linux/lockdep.h
-
 #if defined(CONFIG_SMP)
 # include asm/spinlock_types.h
 #else
 # include linux/spinlock_types_up.h
 #endif
 
+#include linux/lockdep.h
+
 typedef struct {
raw_spinlock_t raw_lock;
 #if defined(CONFIG_PREEMPT)  defined(CONFIG_SMP)
diff --git a/include/linux/spinlock_types_up.h 
b/include/linux/spinlock_types_up.h
index 27644af..04135b0 100644
--- a/include/linux/spinlock_types_up.h
+++ b/include/linux/spinlock_types_up.h
@@ -12,14 +12,10 @@
  * Released under the General Public License (GPL).
  */
 
-#if defined(CONFIG_DEBUG_SPINLOCK) || \
-   defined(CONFIG_DEBUG_LOCK_ALLOC)
+#ifdef CONFIG_DEBUG_SPINLOCK
 
 typedef struct {
volatile unsigned int slock;
-#ifdef CONFIG_DEBUG_LOCK_ALLOC
-   struct lockdep_map dep_map;
-#endif
 } raw_spinlock_t;
 
 #define __RAW_SPIN_LOCK_UNLOCKED { 1 }
@@ -34,9 +30,6 @@ typedef struct { } raw_spinlock_t;
 
 typedef struct {
/* no debug version on UP */
-#ifdef CONFIG_DEBUG_LOCK_ALLOC
-   struct lockdep_map dep_map;
-#endif
 } raw_rwlock_t;
 
 #define __RAW_RW_LOCK_UNLOCKED { }
-
To unsubscribe from this list: send the line unsubscribe git-commits-head in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


sunrpc: use vfs_path_lookup

2007-07-19 Thread Linux Kernel Mailing List
Gitweb: 
http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=4ac4efc1f5575a268417f80ef4059aee383f8331
Commit: 4ac4efc1f5575a268417f80ef4059aee383f8331
Parent: 16f1820028d660d9da9c03b2ae7e98253c11795b
Author: Josef 'Jeff' Sipek [EMAIL PROTECTED]
AuthorDate: Thu Jul 19 01:48:20 2007 -0700
Committer:  Linus Torvalds [EMAIL PROTECTED]
CommitDate: Thu Jul 19 10:04:45 2007 -0700

sunrpc: use vfs_path_lookup

use vfs_path_lookup instead of open-coding the necessary functionality.

Signed-off-by: Josef 'Jeff' Sipek [EMAIL PROTECTED]
Acked-by: Trond Myklebust [EMAIL PROTECTED]
Cc: Al Viro [EMAIL PROTECTED]
Acked-by: Christoph Hellwig [EMAIL PROTECTED]
Cc: Neil Brown [EMAIL PROTECTED]
Cc: Michael Halcrow [EMAIL PROTECTED]
Signed-off-by: Andrew Morton [EMAIL PROTECTED]
Signed-off-by: Linus Torvalds [EMAIL PROTECTED]
---
 net/sunrpc/rpc_pipe.c |   16 +++-
 1 files changed, 7 insertions(+), 9 deletions(-)

diff --git a/net/sunrpc/rpc_pipe.c b/net/sunrpc/rpc_pipe.c
index e787b6a..5b2b6fb 100644
--- a/net/sunrpc/rpc_pipe.c
+++ b/net/sunrpc/rpc_pipe.c
@@ -460,21 +460,19 @@ static struct dentry_operations rpc_dentry_operations = {
 static int
 rpc_lookup_parent(char *path, struct nameidata *nd)
 {
+   struct vfsmount *mnt;
+
if (path[0] == '\0')
return -ENOENT;
-   nd-mnt = rpc_get_mount();
-   if (IS_ERR(nd-mnt)) {
+
+   mnt = rpc_get_mount();
+   if (IS_ERR(mnt)) {
printk(KERN_WARNING %s: %s failed to mount 
   pseudofilesystem \n, __FILE__, __FUNCTION__);
-   return PTR_ERR(nd-mnt);
+   return PTR_ERR(mnt);
}
-   mntget(nd-mnt);
-   nd-dentry = dget(rpc_mount-mnt_root);
-   nd-last_type = LAST_ROOT;
-   nd-flags = LOOKUP_PARENT;
-   nd-depth = 0;
 
-   if (path_walk(path, nd)) {
+   if (vfs_path_lookup(mnt-mnt_root, mnt, path, LOOKUP_PARENT, nd)) {
printk(KERN_WARNING %s: %s failed to find path %s\n,
__FILE__, __FUNCTION__, path);
rpc_put_mount();
-
To unsubscribe from this list: send the line unsubscribe git-commits-head in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


drivers/edac: code tidying on export-gpl

2007-07-19 Thread Linux Kernel Mailing List
Gitweb: 
http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=fb3fb2068775a1363265edc00870aa5e2f0e3631
Commit: fb3fb2068775a1363265edc00870aa5e2f0e3631
Parent: 1c3631ff1f805cb72644fcde02b7c58950f21cd5
Author: Doug Thompson [EMAIL PROTECTED]
AuthorDate: Thu Jul 19 01:50:30 2007 -0700
Committer:  Linus Torvalds [EMAIL PROTECTED]
CommitDate: Thu Jul 19 10:04:57 2007 -0700

drivers/edac: code tidying on export-gpl

Change EXPORT_SYMBOLs to EXPORT_SYMBOLS_GPL
Tidy changes: blank lines, inline removal, add comment

Signed-off-by: Doug Thompson [EMAIL PROTECTED]
Cc: Greg KH [EMAIL PROTECTED]
Cc: Alan Cox [EMAIL PROTECTED]
Signed-off-by: Andrew Morton [EMAIL PROTECTED]
Signed-off-by: Linus Torvalds [EMAIL PROTECTED]
---
 drivers/edac/edac_module.c |9 +
 drivers/edac/edac_stub.c   |   20 +++-
 2 files changed, 16 insertions(+), 13 deletions(-)

diff --git a/drivers/edac/edac_module.c b/drivers/edac/edac_module.c
index fc32bbb..e0c4a40 100644
--- a/drivers/edac/edac_module.c
+++ b/drivers/edac/edac_module.c
@@ -1,12 +1,13 @@
 /*
  * edac_module.c
  *
- * (C) 2007 www.douglaskthompson.com
+ * (C) 2007 www.softwarebitmaker.com
+ *
  * This file is licensed under the terms of the GNU General Public
  * License version 2. This program is licensed as is without any
  * warranty of any kind, whether express or implied.
  *
- * Author: Doug Thompson [EMAIL PROTECTED]
+ * Author: Doug Thompson [EMAIL PROTECTED]
  *
  */
 #include linux/edac.h
@@ -14,7 +15,7 @@
 #include edac_core.h
 #include edac_module.h
 
-#define EDAC_MC_VERSION Ver: 2.0.5  __DATE__
+#define EDAC_VERSION Ver: 2.1.0  __DATE__
 
 #ifdef CONFIG_EDAC_DEBUG
 /* Values of 0 to 4 will generate output */
@@ -141,7 +142,7 @@ static int __init edac_init(void)
 {
int err = 0;
 
-   edac_printk(KERN_INFO, EDAC_MC, EDAC_MC_VERSION \n);
+   edac_printk(KERN_INFO, EDAC_MC, EDAC_VERSION \n);
 
/*
 * Harvest and clear any boot/initialization PCI parity errors
diff --git a/drivers/edac/edac_stub.c b/drivers/edac/edac_stub.c
index 77b98dd..20b428a 100644
--- a/drivers/edac/edac_stub.c
+++ b/drivers/edac/edac_stub.c
@@ -15,30 +15,32 @@
 #include asm/edac.h
 
 int edac_op_state = EDAC_OPSTATE_INVAL;
-EXPORT_SYMBOL(edac_op_state);
+EXPORT_SYMBOL_GPL(edac_op_state);
 
 atomic_t edac_handlers = ATOMIC_INIT(0);
-EXPORT_SYMBOL(edac_handlers);
+EXPORT_SYMBOL_GPL(edac_handlers);
 
 int edac_err_assert = 0;
-EXPORT_SYMBOL(edac_err_assert);
+EXPORT_SYMBOL_GPL(edac_err_assert);
 
-inline int edac_handler_set(void)
+/*
+ * called to determine if there is an EDAC driver interested in
+ * knowing an event (such as NMI) occurred
+ */
+int edac_handler_set(void)
 {
if (edac_op_state == EDAC_OPSTATE_POLL)
return 0;
 
return atomic_read(edac_handlers);
 }
-
-EXPORT_SYMBOL(edac_handler_set);
+EXPORT_SYMBOL_GPL(edac_handler_set);
 
 /*
  * handler for NMI type of interrupts to assert error
  */
-inline void edac_atomic_assert_error(void)
+void edac_atomic_assert_error(void)
 {
edac_err_assert++;
 }
-
-EXPORT_SYMBOL(edac_atomic_assert_error);
+EXPORT_SYMBOL_GPL(edac_atomic_assert_error);
-
To unsubscribe from this list: send the line unsubscribe git-commits-head in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


swsusp: remove incorrect code from user.c

2007-07-19 Thread Linux Kernel Mailing List
Gitweb: 
http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=127067a9c994dff16b280f409cc7b18a54a63719
Commit: 127067a9c994dff16b280f409cc7b18a54a63719
Parent: a0349828d6d6f95c445674c2953ee9db75c11f8f
Author: Rafael J. Wysocki [EMAIL PROTECTED]
AuthorDate: Thu Jul 19 01:47:28 2007 -0700
Committer:  Linus Torvalds [EMAIL PROTECTED]
CommitDate: Thu Jul 19 10:04:42 2007 -0700

swsusp: remove incorrect code from user.c

In the face of the recent change of suspend code ordering (cf.
http://marc.info/?l=linux-acpim=117938245931603w=2) we should also modify
the code ordering in swsusp so that hibernation_ops-prepare() is executed
after device_suspend().

However, for this purpose it seems reasonable to eliminate the code
duplication between kernel/power/disk.c and kernel/power/user.c first.  By
eliminating it we can reduce the size of user.c quite substantially and 
remove
the maintenance difficulty with making essentially the same changes in two
different places.

Moreover, we should also remove the calls to platform functions from the
restore code path, since it doesn't carry out any power transition of the
system, but we generally need to disable the GPEs before the restore if the
'platform' hibernation mode has been used.  To do this, we can introduce two
new hibernation_ops to be used in the restore code.

This patch:

Make the code hibernation code in kernel/power/user.c be functionally
equivalent to the corresponding code in kernel/power/disk.c , as it should 
be.

The calls to the platform functions removed by this patch are incorrect.  
They
should be replaced with some other platform invocations that will be
introduced in one of the subsequent patches.

Signed-off-by: Rafael J. Wysocki [EMAIL PROTECTED]
Acked-by: Pavel Machek [EMAIL PROTECTED]
Cc: Nigel Cunningham [EMAIL PROTECTED]
Signed-off-by: Andrew Morton [EMAIL PROTECTED]
Signed-off-by: Linus Torvalds [EMAIL PROTECTED]
---
 kernel/power/user.c |   17 -
 1 files changed, 4 insertions(+), 13 deletions(-)

diff --git a/kernel/power/user.c b/kernel/power/user.c
index d65305b..09468ec 100644
--- a/kernel/power/user.c
+++ b/kernel/power/user.c
@@ -181,34 +181,25 @@ static inline int snapshot_suspend(int platform_suspend)
return error;
 }
 
-static inline int snapshot_restore(int platform_suspend)
+static inline int snapshot_restore(void)
 {
int error;
 
mutex_lock(pm_mutex);
pm_prepare_console();
-   if (platform_suspend) {
-   error = platform_prepare();
-   if (error)
-   goto Finish;
-   }
suspend_console();
error = device_suspend(PMSG_PRETHAW);
if (error)
-   goto Resume_devices;
+   goto Finish;
 
error = disable_nonboot_cpus();
if (!error)
error = swsusp_resume();
 
enable_nonboot_cpus();
- Resume_devices:
-   if (platform_suspend)
-   platform_finish();
-
+ Finish:
device_resume();
resume_console();
- Finish:
pm_restore_console();
mutex_unlock(pm_mutex);
return error;
@@ -274,7 +265,7 @@ static int snapshot_ioctl(struct inode *inode, struct file 
*filp,
error = -EPERM;
break;
}
-   error = snapshot_restore(data-platform_suspend);
+   error = snapshot_restore();
break;
 
case SNAPSHOT_FREE:
-
To unsubscribe from this list: send the line unsubscribe git-commits-head in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


move page writeback acounting out of macros

2007-07-19 Thread Linux Kernel Mailing List
Gitweb: 
http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=d688abf50bd5a30d2c44dea2a72dd59052cd3cce
Commit: d688abf50bd5a30d2c44dea2a72dd59052cd3cce
Parent: 6819457d2cb7fe4fdb0fc3655b6b6dc71a86bee9
Author: Andrew Morton [EMAIL PROTECTED]
AuthorDate: Thu Jul 19 01:49:17 2007 -0700
Committer:  Linus Torvalds [EMAIL PROTECTED]
CommitDate: Thu Jul 19 10:04:52 2007 -0700

move page writeback acounting out of macros

page-writeback accounting is presently performed in the page-flags macros.
This is inconsistent and a bit ugly and makes it awkward to implement
per-backing_dev under-writeback page accounting.

So move this accounting down to the callsite(s).

Acked-by: Peter Zijlstra [EMAIL PROTECTED]
Signed-off-by: Andrew Morton [EMAIL PROTECTED]
Signed-off-by: Linus Torvalds [EMAIL PROTECTED]
---
 include/linux/page-flags.h |   38 --
 mm/page-writeback.c|4 
 2 files changed, 12 insertions(+), 30 deletions(-)

diff --git a/include/linux/page-flags.h b/include/linux/page-flags.h
index a454176..209d3a4 100644
--- a/include/linux/page-flags.h
+++ b/include/linux/page-flags.h
@@ -189,37 +189,15 @@ static inline void SetPageUptodate(struct page *page)
 #define __SetPagePrivate(page)  __set_bit(PG_private, (page)-flags)
 #define __ClearPagePrivate(page) __clear_bit(PG_private, (page)-flags)
 
+/*
+ * Only test-and-set exist for PG_writeback.  The unconditional operators are
+ * risky: they bypass page accounting.
+ */
 #define PageWriteback(page)test_bit(PG_writeback, (page)-flags)
-#define SetPageWriteback(page) \
-   do {\
-   if (!test_and_set_bit(PG_writeback, \
-   (page)-flags))\
-   inc_zone_page_state(page, NR_WRITEBACK);\
-   } while (0)
-#define TestSetPageWriteback(page) \
-   ({  \
-   int ret;\
-   ret = test_and_set_bit(PG_writeback,\
-   (page)-flags);\
-   if (!ret)   \
-   inc_zone_page_state(page, NR_WRITEBACK);\
-   ret;\
-   })
-#define ClearPageWriteback(page)   \
-   do {\
-   if (test_and_clear_bit(PG_writeback,\
-   (page)-flags))\
-   dec_zone_page_state(page, NR_WRITEBACK);\
-   } while (0)
-#define TestClearPageWriteback(page)   \
-   ({  \
-   int ret;\
-   ret = test_and_clear_bit(PG_writeback,  \
-   (page)-flags);\
-   if (ret)\
-   dec_zone_page_state(page, NR_WRITEBACK);\
-   ret;\
-   })
+#define TestSetPageWriteback(page) test_and_set_bit(PG_writeback,  \
+   (page)-flags)
+#define TestClearPageWriteback(page) test_and_clear_bit(PG_writeback,  \
+   (page)-flags)
 
 #define PageBuddy(page)test_bit(PG_buddy, (page)-flags)
 #define __SetPageBuddy(page)   __set_bit(PG_buddy, (page)-flags)
diff --git a/mm/page-writeback.c b/mm/page-writeback.c
index 51b3eb6..63512a9 100644
--- a/mm/page-writeback.c
+++ b/mm/page-writeback.c
@@ -987,6 +987,8 @@ int test_clear_page_writeback(struct page *page)
} else {
ret = TestClearPageWriteback(page);
}
+   if (ret)
+   dec_zone_page_state(page, NR_WRITEBACK);
return ret;
 }
 
@@ -1012,6 +1014,8 @@ int test_set_page_writeback(struct page *page)
} else {
ret = TestSetPageWriteback(page);
}
+   if (!ret)
+   inc_zone_page_state(page, NR_WRITEBACK);
return ret;
 
 }
-
To unsubscribe from this list: send the line unsubscribe git-commits-head in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


coredump masking: bound suid_dumpable sysctl

2007-07-19 Thread Linux Kernel Mailing List
Gitweb: 
http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=76fdbb25f963de5dc1e308325f0578a2f92b1c2d
Commit: 76fdbb25f963de5dc1e308325f0578a2f92b1c2d
Parent: 86fd6dfc0990d81123dca19541554426c9e9de3e
Author: Kawai, Hidehiro [EMAIL PROTECTED]
AuthorDate: Thu Jul 19 01:48:26 2007 -0700
Committer:  Linus Torvalds [EMAIL PROTECTED]
CommitDate: Thu Jul 19 10:04:46 2007 -0700

coredump masking: bound suid_dumpable sysctl

This patch series is version 5 of the core dump masking feature, which
controls which VMAs should be dumped based on their memory types and
per-process flags.

I adopted most of Andrew's suggestion at the previous version.  He also
suggested using system call instead of /proc/pid/ interface, I decided to
use the latter continuously because adding new system call with pid argument
will give a big impact on the kernel.

You can access the per-process flags via /proc/pid/coredump_filter
interface.  coredump_filter represents a bitmask of memory types, and if a 
bit
is set, VMAs of corresponding memory type are written into a core file when
the process is dumped.  The bitmask is inherited from the parent process 
when
a process is created.

The original purpose is to avoid longtime system slowdown when a number of
processes which share a huge shared memory are dumped at the same time.  To
achieve this purpose, this patch series adds an ability to suppress dumping
anonymous shared memory for specified processes.  In this version, three 
other
memory types are also supported.

Here are the coredump_filter bits:
  bit 0: anonymous private memory
  bit 1: anonymous shared memory
  bit 2: file-backed private memory
  bit 3: file-backed shared memory

The default value of coredump_filter is 0x3.  This means the new core dump
routine has the same behavior as conventional behavior by default.

In this version, coredump_filter bits and mm.dumpable are merged into
mm.flags, and it is accessed by atomic bitops.

The supported core file formats are ELF and ELF-FDPIC.  ELF has been tested,
but ELF-FDPIC has not been built and tested because I don't have the test
environment.

This patch limits a value of suid_dumpable sysctl to the range of 0 to 2.

Signed-off-by: Hidehiro Kawai [EMAIL PROTECTED]
Cc: Alan Cox [EMAIL PROTECTED]
Cc: David Howells [EMAIL PROTECTED]
Cc: Hugh Dickins [EMAIL PROTECTED]
Cc: Nick Piggin [EMAIL PROTECTED]
Signed-off-by: Andrew Morton [EMAIL PROTECTED]
Signed-off-by: Linus Torvalds [EMAIL PROTECTED]
---
 kernel/sysctl.c |6 +-
 1 files changed, 5 insertions(+), 1 deletions(-)

diff --git a/kernel/sysctl.c b/kernel/sysctl.c
index 8db4176..2aaa3f9 100644
--- a/kernel/sysctl.c
+++ b/kernel/sysctl.c
@@ -733,6 +733,7 @@ static ctl_table kern_table[] = {
 /* Constants for minimum and maximum testing in vm_table.
We use these as one-element integer vectors. */
 static int zero;
+static int two = 2;
 static int one_hundred = 100;
 
 
@@ -1123,7 +1124,10 @@ static ctl_table fs_table[] = {
.data   = lease_break_time,
.maxlen = sizeof(int),
.mode   = 0644,
-   .proc_handler   = proc_dointvec,
+   .proc_handler   = proc_dointvec_minmax,
+   .strategy   = sysctl_intvec,
+   .extra1 = zero,
+   .extra2 = two,
},
{
.ctl_name   = FS_AIO_NR,
-
To unsubscribe from this list: send the line unsubscribe git-commits-head in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


coredump masking: documentation for /proc/pid/coredump_filter

2007-07-19 Thread Linux Kernel Mailing List
Gitweb: 
http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=bb90110dcb9e93bf79e3c988abc6cbcabd46d57f
Commit: bb90110dcb9e93bf79e3c988abc6cbcabd46d57f
Parent: ee78b0a61f0514ffc3d59257fbe6863b43477829
Author: Kawai, Hidehiro [EMAIL PROTECTED]
AuthorDate: Thu Jul 19 01:48:31 2007 -0700
Committer:  Linus Torvalds [EMAIL PROTECTED]
CommitDate: Thu Jul 19 10:04:47 2007 -0700

coredump masking: documentation for /proc/pid/coredump_filter

This patch adds the documentation for /proc/pid/coredump_filter.

Signed-off-by: Hidehiro Kawai [EMAIL PROTECTED]
Cc: Alan Cox [EMAIL PROTECTED]
Cc: David Howells [EMAIL PROTECTED]
Cc: Hugh Dickins [EMAIL PROTECTED]
Cc: Nick Piggin [EMAIL PROTECTED]
Cc: Randy.Dunlap [EMAIL PROTECTED]
Signed-off-by: Andrew Morton [EMAIL PROTECTED]
Signed-off-by: Linus Torvalds [EMAIL PROTECTED]
---
 Documentation/filesystems/proc.txt |   38 
 1 files changed, 38 insertions(+), 0 deletions(-)

diff --git a/Documentation/filesystems/proc.txt 
b/Documentation/filesystems/proc.txt
index 72e247e..4a37e25 100644
--- a/Documentation/filesystems/proc.txt
+++ b/Documentation/filesystems/proc.txt
@@ -42,6 +42,7 @@ Table of Contents
   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
+  2.15 /proc/pid/coredump_filter - Core dump filtering settings
 
 --
 Preface
@@ -2184,4 +2185,41 @@ 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.
 
+2.15 /proc/pid/coredump_filter - Core dump filtering settings
+---
+When a process is dumped, all anonymous memory is written to a core file as
+long as the size of the core file isn't limited. But sometimes we don't want
+to dump some memory segments, for example, huge shared memory. Conversely,
+sometimes we want to save file-backed memory segments into a core file, not
+only the individual files.
+
+/proc/pid/coredump_filter allows you to customize which memory segments
+will be dumped when the pid process is dumped. coredump_filter is a bitmask
+of memory types. If a bit of the bitmask is set, memory segments of the
+corresponding memory type are dumped, otherwise they are not dumped.
+
+The following 4 memory types are supported:
+  - (bit 0) anonymous private memory
+  - (bit 1) anonymous shared memory
+  - (bit 2) file-backed private memory
+  - (bit 3) file-backed shared memory
+
+  Note that MMIO pages such as frame buffer are never dumped and vDSO pages
+  are always dumped regardless of the bitmask status.
+
+Default value of coredump_filter is 0x3; this means all anonymous memory
+segments are dumped.
+
+If you don't want to dump all shared memory segments attached to pid 1234,
+write 1 to the process's proc file.
+
+  $ echo 0x1  /proc/1234/coredump_filter
+
+When a new process is created, the process inherits the bitmask status from its
+parent. It is useful to set up coredump_filter before the program runs.
+For example:
+
+  $ echo 0x7  /proc/self/coredump_filter
+  $ ./some_program
+
 --
-
To unsubscribe from this list: send the line unsubscribe git-commits-head in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


readahead: convert filemap invocations

2007-07-19 Thread Linux Kernel Mailing List
Gitweb: 
http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=3ea89ee86a82e9fbde37018d9b9e92a552e5fd13
Commit: 3ea89ee86a82e9fbde37018d9b9e92a552e5fd13
Parent: 122a21d11cbfda6d1e33cbc8ae9e4c4ee2f1886e
Author: Fengguang Wu [EMAIL PROTECTED]
AuthorDate: Thu Jul 19 01:48:02 2007 -0700
Committer:  Linus Torvalds [EMAIL PROTECTED]
CommitDate: Thu Jul 19 10:04:44 2007 -0700

readahead: convert filemap invocations

Convert filemap reads to use on-demand readahead.

The new call scheme is to
- call readahead on non-cached page
- call readahead on look-ahead page
- update prev_index when finished with the read request

Signed-off-by: Fengguang Wu [EMAIL PROTECTED]
Cc: Steven Pratt [EMAIL PROTECTED]
Cc: Ram Pai [EMAIL PROTECTED]
Cc: Rusty Russell [EMAIL PROTECTED]
Signed-off-by: Andrew Morton [EMAIL PROTECTED]
Signed-off-by: Linus Torvalds [EMAIL PROTECTED]
---
 mm/filemap.c |   51 +++
 1 files changed, 31 insertions(+), 20 deletions(-)

diff --git a/mm/filemap.c b/mm/filemap.c
index 4fd9e3f..5eb0a6b 100644
--- a/mm/filemap.c
+++ b/mm/filemap.c
@@ -891,15 +891,20 @@ void do_generic_mapping_read(struct address_space 
*mapping,
unsigned long nr, ret;
 
cond_resched();
-   if (index == next_index)
-   next_index = page_cache_readahead(mapping, ra, filp,
-   index, last_index - index);
-
 find_page:
page = find_get_page(mapping, index);
-   if (unlikely(page == NULL)) {
-   handle_ra_miss(mapping, ra, index);
-   goto no_cached_page;
+   if (!page) {
+   page_cache_readahead_ondemand(mapping,
+   ra, filp, page,
+   index, last_index - index);
+   page = find_get_page(mapping, index);
+   if (unlikely(page == NULL))
+   goto no_cached_page;
+   }
+   if (PageReadahead(page)) {
+   page_cache_readahead_ondemand(mapping,
+   ra, filp, page,
+   index, last_index - index);
}
if (!PageUptodate(page))
goto page_not_up_to_date;
@@ -1051,6 +1056,7 @@ no_cached_page:
 
 out:
*_ra = ra;
+   _ra-prev_index = prev_index;
 
*ppos = ((loff_t) index  PAGE_CACHE_SHIFT) + offset;
if (cached_page)
@@ -1333,26 +1339,30 @@ int filemap_fault(struct vm_area_struct *vma, struct 
vm_fault *vmf)
goto no_cached_page;
 
/*
-* The readahead code wants to be told about each and every page
-* so it can build and shrink its windows appropriately
-*
-* For sequential accesses, we use the generic readahead logic.
-*/
-   if (VM_SequentialReadHint(vma))
-   page_cache_readahead(mapping, ra, file, vmf-pgoff, 1);
-
-   /*
 * Do we have something in the page cache already?
 */
 retry_find:
page = find_lock_page(mapping, vmf-pgoff);
+   /*
+* For sequential accesses, we use the generic readahead logic.
+*/
+   if (VM_SequentialReadHint(vma)) {
+   if (!page) {
+   page_cache_readahead_ondemand(mapping, ra, file, page,
+  vmf-pgoff, 1);
+   page = find_lock_page(mapping, vmf-pgoff);
+   if (!page)
+   goto no_cached_page;
+   }
+   if (PageReadahead(page)) {
+   page_cache_readahead_ondemand(mapping, ra, file, page,
+  vmf-pgoff, 1);
+   }
+   }
+
if (!page) {
unsigned long ra_pages;
 
-   if (VM_SequentialReadHint(vma)) {
-   handle_ra_miss(mapping, ra, vmf-pgoff);
-   goto no_cached_page;
-   }
ra-mmap_miss++;
 
/*
@@ -1405,6 +1415,7 @@ retry_find:
 * Found the page and have a reference on it.
 */
mark_page_accessed(page);
+   ra-prev_index = page-index;
vmf-page = page;
return ret | VM_FAULT_LOCKED;
 
-
To unsubscribe from this list: send the line unsubscribe git-commits-head in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


timer.c: cleanup recently introduced whitespace damage

2007-07-19 Thread Linux Kernel Mailing List
Gitweb: 
http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=6819457d2cb7fe4fdb0fc3655b6b6dc71a86bee9
Commit: 6819457d2cb7fe4fdb0fc3655b6b6dc71a86bee9
Parent: 71120f183bff04ba4f7ba3cc554202061912d548
Author: Thomas Gleixner [EMAIL PROTECTED]
AuthorDate: Thu Jul 19 01:49:16 2007 -0700
Committer:  Linus Torvalds [EMAIL PROTECTED]
CommitDate: Thu Jul 19 10:04:52 2007 -0700

timer.c: cleanup recently introduced whitespace damage

Signed-off-by: Thomas Gleixner [EMAIL PROTECTED]
Signed-off-by: Andrew Morton [EMAIL PROTECTED]
Signed-off-by: Linus Torvalds [EMAIL PROTECTED]
---
 kernel/timer.c |   24 
 1 files changed, 12 insertions(+), 12 deletions(-)

diff --git a/kernel/timer.c b/kernel/timer.c
index b7792fb..d1e8b97 100644
--- a/kernel/timer.c
+++ b/kernel/timer.c
@@ -103,14 +103,14 @@ static inline tvec_base_t *tbase_get_base(tvec_base_t 
*base)
 static inline void timer_set_deferrable(struct timer_list *timer)
 {
timer-base = ((tvec_base_t *)((unsigned long)(timer-base) |
-  TBASE_DEFERRABLE_FLAG));
+  TBASE_DEFERRABLE_FLAG));
 }
 
 static inline void
 timer_set_base(struct timer_list *timer, tvec_base_t *new_base)
 {
timer-base = (tvec_base_t *)((unsigned long)(new_base) |
- tbase_get_deferrable(timer-base));
+ tbase_get_deferrable(timer-base));
 }
 
 /**
@@ -445,10 +445,10 @@ EXPORT_SYMBOL(__mod_timer);
 void add_timer_on(struct timer_list *timer, int cpu)
 {
tvec_base_t *base = per_cpu(tvec_bases, cpu);
-   unsigned long flags;
+   unsigned long flags;
 
timer_stats_timer_set_start_info(timer);
-   BUG_ON(timer_pending(timer) || !timer-function);
+   BUG_ON(timer_pending(timer) || !timer-function);
spin_lock_irqsave(base-lock, flags);
timer_set_base(timer, base);
internal_add_timer(base, timer);
@@ -627,7 +627,7 @@ static inline void __run_timers(tvec_base_t *base)
while (time_after_eq(jiffies, base-timer_jiffies)) {
struct list_head work_list;
struct list_head *head = work_list;
-   int index = base-timer_jiffies  TVR_MASK;
+   int index = base-timer_jiffies  TVR_MASK;
 
/*
 * Cascade timers:
@@ -644,8 +644,8 @@ static inline void __run_timers(tvec_base_t *base)
unsigned long data;
 
timer = list_first_entry(head, struct timer_list,entry);
-   fn = timer-function;
-   data = timer-data;
+   fn = timer-function;
+   data = timer-data;
 
timer_stats_account_timer(timer);
 
@@ -689,8 +689,8 @@ static unsigned long __next_timer_interrupt(tvec_base_t 
*base)
index = slot = timer_jiffies  TVR_MASK;
do {
list_for_each_entry(nte, base-tv1.vec + slot, entry) {
-   if (tbase_get_deferrable(nte-base))
-   continue;
+   if (tbase_get_deferrable(nte-base))
+   continue;
 
found = 1;
expires = nte-expires;
@@ -834,7 +834,7 @@ void update_process_times(int user_tick)
if (rcu_pending(cpu))
rcu_check_callbacks(cpu, user_tick);
scheduler_tick();
-   run_posix_cpu_timers(p);
+   run_posix_cpu_timers(p);
 }
 
 /*
@@ -909,7 +909,7 @@ static inline void update_times(unsigned long ticks)
update_wall_time();
calc_load(ticks);
 }
-  
+
 /*
  * The 64-bit jiffies value is not atomic - you MUST NOT read it
  * without sampling the sequence number in xtime_lock.
@@ -1105,7 +1105,7 @@ asmlinkage long sys_gettid(void)
 /**
  * do_sysinfo - fill in sysinfo struct
  * @info: pointer to buffer to fill
- */ 
+ */
 int do_sysinfo(struct sysinfo *info)
 {
unsigned long mem_total, sav_total;
-
To unsubscribe from this list: send the line unsubscribe git-commits-head in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


m68knommu: remove is_in_rom() function

2007-07-19 Thread Linux Kernel Mailing List
Gitweb: 
http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=10146801e8b960d7473e350b60458d9d5a2be1cf
Commit: 10146801e8b960d7473e350b60458d9d5a2be1cf
Parent: a4c8b915918b0c641b844795a4de4e954582
Author: Greg Ungerer [EMAIL PROTECTED]
AuthorDate: Thu Jul 19 01:49:15 2007 -0700
Committer:  Linus Torvalds [EMAIL PROTECTED]
CommitDate: Thu Jul 19 10:04:51 2007 -0700

m68knommu: remove is_in_rom() function

Remove is_in_rom() function.  It doesn't actually serve the purpose it was
intended to.  If you look at the use of it _access_ok() (which is the only 
use
of it) then it is obvious that most of memory is marked as access_ok.  No
point having is_in_rom() then, so remove it.

Signed-off-by: Greg Ungerer [EMAIL PROTECTED]
Signed-off-by: Andrew Morton [EMAIL PROTECTED]
Signed-off-by: Linus Torvalds [EMAIL PROTECTED]
---
 arch/m68knommu/kernel/m68k_ksyms.c |2 --
 arch/m68knommu/mm/memory.c |   20 
 include/asm-m68knommu/pgtable.h|1 -
 include/asm-m68knommu/uaccess.h|   11 +++
 4 files changed, 7 insertions(+), 27 deletions(-)

diff --git a/arch/m68knommu/kernel/m68k_ksyms.c 
b/arch/m68knommu/kernel/m68k_ksyms.c
index 25327c9..f795062 100644
--- a/arch/m68knommu/kernel/m68k_ksyms.c
+++ b/arch/m68knommu/kernel/m68k_ksyms.c
@@ -81,8 +81,6 @@ EXPORT_SYMBOL(__mulsi3);
 EXPORT_SYMBOL(__udivsi3);
 EXPORT_SYMBOL(__umodsi3);
 
-EXPORT_SYMBOL(is_in_rom);
-
 #ifdef CONFIG_COLDFIRE
 extern unsigned int *dma_device_address;
 extern unsigned long dma_base_addr, _ramend;
diff --git a/arch/m68knommu/mm/memory.c b/arch/m68knommu/mm/memory.c
index 1a66b71..f93b88b 100644
--- a/arch/m68knommu/mm/memory.c
+++ b/arch/m68knommu/mm/memory.c
@@ -33,23 +33,3 @@ unsigned long kernel_map(unsigned long paddr, unsigned long 
size,
return paddr;
 }
 
-
-int is_in_rom(unsigned long addr)
-{
-   extern unsigned long _ramstart, _ramend;
-
-   /*
-*  What we are really trying to do is determine if addr is
-*  in an allocated kernel memory region. If not then assume
-*  we cannot free it or otherwise de-allocate it. Ideally
-*  we could restrict this to really being in a ROM or flash,
-*  but that would need to be done on a board by board basis,
-*  not globally.
-*/
-   if ((addr  _ramstart) || (addr = _ramend))
-   return(1);
-
-   /* Default case, not in ROM */
-   return(0);
-}
-
diff --git a/include/asm-m68knommu/pgtable.h b/include/asm-m68knommu/pgtable.h
index 9dfbbc2..e1e6a1d 100644
--- a/include/asm-m68knommu/pgtable.h
+++ b/include/asm-m68knommu/pgtable.h
@@ -49,7 +49,6 @@ static inline int pte_file(pte_t pte) { return 0; }
  * These would be in other places but having them here reduces the diffs.
  */
 extern unsigned int kobjsize(const void *objp);
-extern int is_in_rom(unsigned long);
 
 /*
  * No page table caches to initialise.
diff --git a/include/asm-m68knommu/uaccess.h b/include/asm-m68knommu/uaccess.h
index 62b29b1..9ed9169 100644
--- a/include/asm-m68knommu/uaccess.h
+++ b/include/asm-m68knommu/uaccess.h
@@ -15,12 +15,15 @@
 
 #define access_ok(type,addr,size)  _access_ok((unsigned long)(addr),(size))
 
+/*
+ * It is not enough to just have access_ok check for a real RAM address.
+ * This would disallow the case of code/ro-data running XIP in flash/rom.
+ * Ideally we would check the possible flash ranges too, but that is
+ * currently not so easy.
+ */
 static inline int _access_ok(unsigned long addr, unsigned long size)
 {
-   extern unsigned long memory_start, memory_end;
-
-   return (((addr = memory_start)  (addr+size  memory_end)) ||
-   (is_in_rom(addr)  is_in_rom(addr+size)));
+   return 1;
 }
 
 /*
-
To unsubscribe from this list: send the line unsubscribe git-commits-head in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


  1   2   3   4   >