> > > > 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 <[EMAIL PROTECTED]> 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 <[EMAIL PROTECTED]> --- 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 [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/