Re: [patch] build error: allnoconfig fails on mincore/swapper_space

From: Randy Dunlap
Date: Tue Feb 13 2007 - 17:54:38 EST



> > > > oops. CONFIG_SWAP=n, I assume?
>
> Sorry for being so slow to respond on this. Yes, I'm inclined to
> your ifdeffery fix - one can go cleverer, but I'd say it's the
> appropriate fix now.
>
> But, please change your "present = 0;" to "present = 1;" -
> if CONFIG_SWAP isn't on, it has to be a migration entry,
> which always counts as present.
>
> >
> > BUT: what is <present> used for in that loop? or is it used?
>
> Well spotted! Something has gone missing: there needs to be a
> vec[i] = present;
> at the bottom of that loop.


From: Randy Dunlap <randy.dunlap@xxxxxxxxxx>

Don't check for pte swap entries when CONFIG_SWAP=n.
And save 'present' in the vec array.

mm/built-in.o: In function `sys_mincore':
(.text+0xe584): undefined reference to `swapper_space'

Signed-off-by: Randy Dunlap <randy.dunlap@xxxxxxxxxx>
---
mm/mincore.c | 5 +++++
1 file changed, 5 insertions(+)

--- linux-2.6.20-git9.orig/mm/mincore.c
+++ linux-2.6.20-git9/mm/mincore.c
@@ -111,6 +111,7 @@ static long do_mincore(unsigned long add
present = mincore_page(vma->vm_file->f_mapping, pgoff);

} else { /* pte is a swap entry */
+#ifdef CONFIG_SWAP
swp_entry_t entry = pte_to_swp_entry(pte);
if (is_migration_entry(entry)) {
/* migration entries are always uptodate */
@@ -119,7 +120,11 @@ static long do_mincore(unsigned long add
pgoff = entry.val;
present = mincore_page(&swapper_space, pgoff);
}
+#else
+ present = 1;
+#endif
}
+ vec[i] = present;
}
pte_unmap_unlock(ptep-1, ptl);

-
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/