From: kbuild test robot <lkp@intel.com>
To: Matthew Wilcox <willy@infradead.org>
Cc: kbuild-all@01.org, linux-mm@kvack.org,
linux-fsdevel@vger.kernel.org,
"Matthew Wilcox (Oracle)" <willy@infradead.org>,
Kirill Shutemov <kirill@shutemov.name>,
Song Liu <songliubraving@fb.com>,
William Kucharski <william.kucharski@oracle.com>,
Johannes Weiner <jweiner@fb.com>
Subject: Re: [PATCH 3/3] mm: Allow find_get_page to be used for large pages
Date: Fri, 6 Sep 2019 05:41:49 +0800 [thread overview]
Message-ID: <201909060527.K1gpuVX9%lkp@intel.com> (raw)
In-Reply-To: <20190905182348.5319-4-willy@infradead.org>
[-- Attachment #1: Type: text/plain, Size: 3847 bytes --]
Hi Matthew,
Thank you for the patch! Perhaps something to improve:
[auto build test WARNING on linus/master]
[cannot apply to v5.3-rc7 next-20190904]
[if your patch is applied to the wrong git tree, please drop us a note to help improve the system]
url: https://github.com/0day-ci/linux/commits/Matthew-Wilcox/mm-Add-__page_cache_alloc_order/20190906-034745
config: nds32-defconfig (attached as .config)
compiler: nds32le-linux-gcc (GCC) 8.1.0
reproduce:
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# save the attached .config to linux build tree
GCC_VERSION=8.1.0 make.cross ARCH=nds32
If you fix the issue, kindly add following tag
Reported-by: kbuild test robot <lkp@intel.com>
All warnings (new ones prefixed by >>):
mm/filemap.c: In function '__add_to_page_cache_locked':
mm/filemap.c:863:8: error: implicit declaration of function 'compound_nr'; did you mean 'compound_order'? [-Werror=implicit-function-declaration]
nr = compound_nr(page);
^~~~~~~~~~~
compound_order
mm/filemap.c: In function '__find_get_page':
mm/filemap.c:1637:9: error: implicit declaration of function 'find_subpage'; did you mean 'find_get_page'? [-Werror=implicit-function-declaration]
page = find_subpage(page, offset);
^~~~~~~~~~~~
find_get_page
>> mm/filemap.c:1637:7: warning: assignment to 'struct page *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
page = find_subpage(page, offset);
^
cc1: some warnings being treated as errors
vim +1637 mm/filemap.c
1583
1584 /**
1585 * __find_get_page - Find and get a page cache entry.
1586 * @mapping: The address_space to search.
1587 * @offset: The page cache index.
1588 * @order: The minimum order of the entry to return.
1589 *
1590 * Looks up the page cache entries at @mapping between @offset and
1591 * @offset + 2^@order. If there is a page cache page, it is returned with
1592 * an increased refcount unless it is smaller than @order.
1593 *
1594 * If the slot holds a shadow entry of a previously evicted page, or a
1595 * swap entry from shmem/tmpfs, it is returned.
1596 *
1597 * Return: the found page, a value indicating a conflicting page or %NULL if
1598 * there are no pages in this range.
1599 */
1600 static struct page *__find_get_page(struct address_space *mapping,
1601 unsigned long offset, unsigned int order)
1602 {
1603 XA_STATE(xas, &mapping->i_pages, offset);
1604 struct page *page;
1605
1606 rcu_read_lock();
1607 repeat:
1608 xas_reset(&xas);
1609 page = xas_find(&xas, offset | ((1UL << order) - 1));
1610 if (xas_retry(&xas, page))
1611 goto repeat;
1612 /*
1613 * A shadow entry of a recently evicted page, or a swap entry from
1614 * shmem/tmpfs. Skip it; keep looking for pages.
1615 */
1616 if (xa_is_value(page))
1617 goto repeat;
1618 if (!page)
1619 goto out;
1620 if (compound_order(page) < order) {
1621 page = XA_RETRY_ENTRY;
1622 goto out;
1623 }
1624
1625 if (!page_cache_get_speculative(page))
1626 goto repeat;
1627
1628 /*
1629 * Has the page moved or been split?
1630 * This is part of the lockless pagecache protocol. See
1631 * include/linux/pagemap.h for details.
1632 */
1633 if (unlikely(page != xas_reload(&xas))) {
1634 put_page(page);
1635 goto repeat;
1636 }
> 1637 page = find_subpage(page, offset);
1638 out:
1639 rcu_read_unlock();
1640
1641 return page;
1642 }
1643
---
0-DAY kernel test infrastructure Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all Intel Corporation
[-- Attachment #2: .config.gz --]
[-- Type: application/gzip, Size: 10587 bytes --]
next prev parent reply other threads:[~2019-09-05 21:42 UTC|newest]
Thread overview: 21+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-09-05 18:23 [PATCH 0/3] Large pages in the page cache Matthew Wilcox
2019-09-05 18:23 ` [PATCH 1/3] mm: Add __page_cache_alloc_order Matthew Wilcox
2019-09-05 18:58 ` Song Liu
2019-09-05 19:02 ` Matthew Wilcox
2019-09-05 19:06 ` Song Liu
2019-09-05 18:23 ` [PATCH 2/3] mm: Allow large pages to be added to the page cache Matthew Wilcox
2019-09-05 18:28 ` Matthew Wilcox
2019-09-05 20:56 ` kbuild test robot
2019-09-06 12:09 ` Kirill A. Shutemov
2019-09-06 13:31 ` Matthew Wilcox
2019-09-05 18:23 ` [PATCH 3/3] mm: Allow find_get_page to be used for large pages Matthew Wilcox
2019-09-05 21:41 ` kbuild test robot [this message]
2019-09-05 22:04 ` kbuild test robot
2019-09-05 22:12 ` Matthew Wilcox
2019-09-09 0:42 ` [kbuild-all] " Rong Chen
2019-09-09 1:12 ` Matthew Wilcox
2019-09-06 12:59 ` Kirill A. Shutemov
2019-09-06 13:41 ` Matthew Wilcox
2019-09-06 13:52 ` Kirill A. Shutemov
2019-09-06 15:22 ` Matthew Wilcox
2019-09-06 15:59 ` [PATCH 4/3] Prepare transhuge pages properly Matthew Wilcox
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=201909060527.K1gpuVX9%lkp@intel.com \
--to=lkp@intel.com \
--cc=jweiner@fb.com \
--cc=kbuild-all@01.org \
--cc=kirill@shutemov.name \
--cc=linux-fsdevel@vger.kernel.org \
--cc=linux-mm@kvack.org \
--cc=songliubraving@fb.com \
--cc=william.kucharski@oracle.com \
--cc=willy@infradead.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.