[PATCH] fix ksm.h breakage of nommu build

From: Hugh Dickins
Date: Wed Dec 16 2009 - 03:57:25 EST


Commit 5ad6468801d28c4d4ac9f48ec19297817c915f6a "ksm: let shared pages
be swappable" breaks the build on m68knommu and I suspect on any nommu:

In file included from kernel/fork.c:52:
include/linux/ksm.h:129: warning: 'enum ttu_flags' declared inside parameter
list
include/linux/ksm.h:129: warning: its scope is only this definition or
declaration, which is probably not what you want
include/linux/ksm.h:129: error: parameter 2 ('flags') has incomplete type
make[1]: *** [kernel/fork.o] Error 1
make[1]: *** Waiting for unfinished jobs....

Let's fix that with CONFIG_MMU around most of the !CONFIG_KSM declarations.

Reported-by: Steven King <sfking@xxxxxxxxx>
Signed-off-by: Hugh Dickins <hugh.dickins@xxxxxxxxxxxxx>
Tested-by: Steven King <sfking@xxxxxxxxx>
---

include/linux/ksm.h | 14 ++++++++------
1 file changed, 8 insertions(+), 6 deletions(-)

--- 2.6.32-git/include/linux/ksm.h.0 2009-12-16 04:59:25.000000000 +0000
+++ linux/include/linux/ksm.h 2009-12-16 05:14:40.000000000 +0000
@@ -94,12 +94,6 @@ void ksm_migrate_page(struct page *newpa

#else /* !CONFIG_KSM */

-static inline int ksm_madvise(struct vm_area_struct *vma, unsigned long start,
- unsigned long end, int advice, unsigned long *vm_flags)
-{
- return 0;
-}
-
static inline int ksm_fork(struct mm_struct *mm, struct mm_struct *oldmm)
{
return 0;
@@ -114,6 +108,13 @@ static inline int PageKsm(struct page *p
return 0;
}

+#ifdef CONFIG_MMU
+static inline int ksm_madvise(struct vm_area_struct *vma, unsigned long start,
+ unsigned long end, int advice, unsigned long *vm_flags)
+{
+ return 0;
+}
+
static inline struct page *ksm_might_need_to_copy(struct page *page,
struct vm_area_struct *vma, unsigned long address)
{
@@ -140,6 +141,7 @@ static inline int rmap_walk_ksm(struct p
static inline void ksm_migrate_page(struct page *newpage, struct page *oldpage)
{
}
+#endif /* CONFIG_MMU */
#endif /* !CONFIG_KSM */

#endif /* __LINUX_KSM_H */
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/