Merge tag 'mm-stable-2024-03-13-20-04' of git://git.kernel.org/pub/scm/linux/kernel...
[linux-2.6-microblaze.git] / mm / readahead.c
index 2648ec4..130c0e7 100644 (file)
@@ -500,10 +500,8 @@ void page_cache_ra_order(struct readahead_control *ractl,
 
        if (new_order < MAX_PAGECACHE_ORDER) {
                new_order += 2;
-               if (new_order > MAX_PAGECACHE_ORDER)
-                       new_order = MAX_PAGECACHE_ORDER;
-               while ((1 << new_order) > ra->size)
-                       new_order--;
+               new_order = min_t(unsigned int, MAX_PAGECACHE_ORDER, new_order);
+               new_order = min_t(unsigned int, new_order, ilog2(ra->size));
        }
 
        filemap_invalidate_lock_shared(mapping);
@@ -516,9 +514,6 @@ void page_cache_ra_order(struct readahead_control *ractl,
                /* Don't allocate pages past EOF */
                while (index + (1UL << order) - 1 > limit)
                        order--;
-               /* THP machinery does not support order-1 */
-               if (order == 1)
-                       order = 0;
                err = ra_alloc_folio(ractl, index, mark, order, gfp);
                if (err)
                        break;