mm/hugetlb: add missing annotation for gather_surplus_pages()
[linux-2.6-microblaze.git] / mm / swapfile.c
index 6d63bd9..273a923 100644 (file)
@@ -2132,7 +2132,7 @@ int try_to_unuse(unsigned int type, bool frontswap,
        swp_entry_t entry;
        unsigned int i;
 
-       if (!si->inuse_pages)
+       if (!READ_ONCE(si->inuse_pages))
                return 0;
 
        if (!frontswap)
@@ -2148,7 +2148,7 @@ retry:
 
        spin_lock(&mmlist_lock);
        p = &init_mm.mmlist;
-       while (si->inuse_pages &&
+       while (READ_ONCE(si->inuse_pages) &&
               !signal_pending(current) &&
               (p = p->next) != &init_mm.mmlist) {
 
@@ -2177,7 +2177,7 @@ retry:
        mmput(prev_mm);
 
        i = 0;
-       while (si->inuse_pages &&
+       while (READ_ONCE(si->inuse_pages) &&
               !signal_pending(current) &&
               (i = find_next_to_unuse(si, i, frontswap)) != 0) {
 
@@ -2219,7 +2219,7 @@ retry:
         * been preempted after get_swap_page(), temporarily hiding that swap.
         * It's easy and robust (though cpu-intensive) just to keep retrying.
         */
-       if (si->inuse_pages) {
+       if (READ_ONCE(si->inuse_pages)) {
                if (!signal_pending(current))
                        goto retry;
                retval = -EINTR;