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 2/3] mm: Allow large pages to be added to the page cache
Date: Fri, 6 Sep 2019 04:56:15 +0800 [thread overview]
Message-ID: <201909060430.ZRV06fap%lkp@intel.com> (raw)
In-Reply-To: <20190905182348.5319-3-willy@infradead.org>
[-- Attachment #1: Type: text/plain, Size: 3651 bytes --]
Hi Matthew,
Thank you for the patch! Yet something to improve:
[auto build test ERROR 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: i386-tinyconfig (attached as .config)
compiler: gcc-7 (Debian 7.4.0-11) 7.4.0
reproduce:
# save the attached .config to linux build tree
make ARCH=i386
If you fix the issue, kindly add following tag
Reported-by: kbuild test robot <lkp@intel.com>
All errors (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
cc1: some warnings being treated as errors
vim +863 mm/filemap.c
840
841 static int __add_to_page_cache_locked(struct page *page,
842 struct address_space *mapping,
843 pgoff_t offset, gfp_t gfp_mask,
844 void **shadowp)
845 {
846 XA_STATE(xas, &mapping->i_pages, offset);
847 int huge = PageHuge(page);
848 struct mem_cgroup *memcg;
849 int error;
850 unsigned int nr = 1;
851 void *old;
852
853 VM_BUG_ON_PAGE(!PageLocked(page), page);
854 VM_BUG_ON_PAGE(PageSwapBacked(page), page);
855 mapping_set_update(&xas, mapping);
856
857 if (!huge) {
858 error = mem_cgroup_try_charge(page, current->mm,
859 gfp_mask, &memcg, false);
860 if (error)
861 return error;
862 xas_set_order(&xas, offset, compound_order(page));
> 863 nr = compound_nr(page);
864 }
865
866 page_ref_add(page, nr);
867 page->mapping = mapping;
868 page->index = offset;
869
870 do {
871 unsigned long exceptional = 0;
872 unsigned int i = 0;
873
874 xas_lock_irq(&xas);
875 xas_for_each_conflict(&xas, old) {
876 if (!xa_is_value(old))
877 break;
878 exceptional++;
879 if (shadowp)
880 *shadowp = old;
881 }
882 if (old) {
883 xas_set_err(&xas, -EEXIST);
884 break;
885 }
886 xas_create_range(&xas);
887 if (xas_error(&xas))
888 goto unlock;
889
890 next:
891 xas_store(&xas, page);
892 if (++i < nr) {
893 xas_next(&xas);
894 goto next;
895 }
896 mapping->nrexceptional -= exceptional;
897 mapping->nrpages += nr;
898
899 /* hugetlb pages do not participate in page cache accounting */
900 if (!huge)
901 __mod_node_page_state(page_pgdat(page), NR_FILE_PAGES,
902 nr);
903 unlock:
904 xas_unlock_irq(&xas);
905 } while (xas_nomem(&xas, gfp_mask & GFP_RECLAIM_MASK));
906
907 if (xas_error(&xas))
908 goto error;
909
910 if (!huge)
911 mem_cgroup_commit_charge(page, memcg, false, false);
912 trace_mm_filemap_add_to_page_cache(page);
913 return 0;
914 error:
915 page->mapping = NULL;
916 /* Leave page->index set: truncation relies upon it */
917 if (!huge)
918 mem_cgroup_cancel_charge(page, memcg, false);
919 page_ref_sub(page, nr);
920 return xas_error(&xas);
921 }
922 ALLOW_ERROR_INJECTION(__add_to_page_cache_locked, ERRNO);
923
---
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: 7185 bytes --]
next prev parent reply other threads:[~2019-09-05 20:57 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 [this message]
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
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=201909060430.ZRV06fap%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.