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

Reply via email to