From: kernel test robot <lkp@intel.com>
To: "Matthew Wilcox (Oracle)" <willy@infradead.org>,
akpm@linux-foundation.org, hughd@google.com,
markhemm@googlemail.com, rientjes@google.com, surenb@google.com,
shakeelb@google.com, mhocko@suse.com, vbabka@suse.cz,
quic_pkondeti@quicinc.com
Cc: llvm@lists.linux.dev, oe-kbuild-all@lists.linux.dev,
linux-mm@kvack.org, linux-kernel@vger.kernel.org,
Charan Teja Kalla <quic_charante@quicinc.com>
Subject: Re: [PATCH 2/2] shmem: Add shmem_read_folio() and shmem_read_folio_gfp()
Date: Tue, 7 Feb 2023 05:19:28 +0800 [thread overview]
Message-ID: <202302070525.Ho0cFITJ-lkp@intel.com> (raw)
In-Reply-To: <20230206162520.4029022-2-willy@infradead.org>
Hi Matthew,
I love your patch! Perhaps something to improve:
[auto build test WARNING on akpm-mm/mm-everything]
[also build test WARNING on linus/master v6.2-rc7]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch#_base_tree_information]
url: https://github.com/intel-lab-lkp/linux/commits/Matthew-Wilcox-Oracle/shmem-Add-shmem_read_folio-and-shmem_read_folio_gfp/20230207-002746
base: https://git.kernel.org/pub/scm/linux/kernel/git/akpm/mm.git mm-everything
patch link: https://lore.kernel.org/r/20230206162520.4029022-2-willy%40infradead.org
patch subject: [PATCH 2/2] shmem: Add shmem_read_folio() and shmem_read_folio_gfp()
config: riscv-randconfig-r023-20230205 (https://download.01.org/0day-ci/archive/20230207/202302070525.Ho0cFITJ-lkp@intel.com/config)
compiler: clang version 16.0.0 (https://github.com/llvm/llvm-project 4196ca3278f78c6e19246e54ab0ecb364e37d66a)
reproduce (this is a W=1 build):
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# install riscv cross compiling tool for clang build
# apt-get install binutils-riscv64-linux-gnu
# https://github.com/intel-lab-lkp/linux/commit/ceb56c1ceea709ec0b10ed07e327bb4ae566bba5
git remote add linux-review https://github.com/intel-lab-lkp/linux
git fetch --no-tags linux-review Matthew-Wilcox-Oracle/shmem-Add-shmem_read_folio-and-shmem_read_folio_gfp/20230207-002746
git checkout ceb56c1ceea709ec0b10ed07e327bb4ae566bba5
# save the config file
mkdir build_dir && cp config build_dir/.config
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross W=1 O=build_dir ARCH=riscv olddefconfig
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross W=1 O=build_dir ARCH=riscv SHELL=/bin/bash
If you fix the issue, kindly add following tag where applicable
| Reported-by: kernel test robot <lkp@intel.com>
All warnings (new ones prefixed by >>):
mm/shmem.c:4164:13: warning: no previous prototype for function 'shmem_init' [-Wmissing-prototypes]
void __init shmem_init(void)
^
mm/shmem.c:4164:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
void __init shmem_init(void)
^
static
mm/shmem.c:4172:5: warning: no previous prototype for function 'shmem_unuse' [-Wmissing-prototypes]
int shmem_unuse(unsigned int type)
^
mm/shmem.c:4172:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
int shmem_unuse(unsigned int type)
^
static
mm/shmem.c:4177:5: warning: no previous prototype for function 'shmem_lock' [-Wmissing-prototypes]
int shmem_lock(struct file *file, int lock, struct ucounts *ucounts)
^
mm/shmem.c:4177:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
int shmem_lock(struct file *file, int lock, struct ucounts *ucounts)
^
static
mm/shmem.c:4182:6: warning: no previous prototype for function 'shmem_unlock_mapping' [-Wmissing-prototypes]
void shmem_unlock_mapping(struct address_space *mapping)
^
mm/shmem.c:4182:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
void shmem_unlock_mapping(struct address_space *mapping)
^
static
mm/shmem.c:4187:15: warning: no previous prototype for function 'shmem_get_unmapped_area' [-Wmissing-prototypes]
unsigned long shmem_get_unmapped_area(struct file *file,
^
mm/shmem.c:4187:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
unsigned long shmem_get_unmapped_area(struct file *file,
^
static
mm/shmem.c:4195:6: warning: no previous prototype for function 'shmem_truncate_range' [-Wmissing-prototypes]
void shmem_truncate_range(struct inode *inode, loff_t lstart, loff_t lend)
^
mm/shmem.c:4195:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
void shmem_truncate_range(struct inode *inode, loff_t lstart, loff_t lend)
^
static
mm/shmem.c:4255:14: warning: no previous prototype for function 'shmem_kernel_file_setup' [-Wmissing-prototypes]
struct file *shmem_kernel_file_setup(const char *name, loff_t size, unsigned long flags)
^
mm/shmem.c:4255:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
struct file *shmem_kernel_file_setup(const char *name, loff_t size, unsigned long flags)
^
static
mm/shmem.c:4266:14: warning: no previous prototype for function 'shmem_file_setup' [-Wmissing-prototypes]
struct file *shmem_file_setup(const char *name, loff_t size, unsigned long flags)
^
mm/shmem.c:4266:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
struct file *shmem_file_setup(const char *name, loff_t size, unsigned long flags)
^
static
mm/shmem.c:4279:14: warning: no previous prototype for function 'shmem_file_setup_with_mnt' [-Wmissing-prototypes]
struct file *shmem_file_setup_with_mnt(struct vfsmount *mnt, const char *name,
^
mm/shmem.c:4279:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
struct file *shmem_file_setup_with_mnt(struct vfsmount *mnt, const char *name,
^
static
mm/shmem.c:4290:5: warning: no previous prototype for function 'shmem_zero_setup' [-Wmissing-prototypes]
int shmem_zero_setup(struct vm_area_struct *vma)
^
mm/shmem.c:4290:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
int shmem_zero_setup(struct vm_area_struct *vma)
^
static
>> mm/shmem.c:4328:15: warning: no previous prototype for function 'shmem_read_folio_gfp' [-Wmissing-prototypes]
struct folio *shmem_read_folio_gfp(struct address_space *mapping,
^
mm/shmem.c:4328:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
struct folio *shmem_read_folio_gfp(struct address_space *mapping,
^
static
mm/shmem.c:4353:14: warning: no previous prototype for function 'shmem_read_mapping_page_gfp' [-Wmissing-prototypes]
struct page *shmem_read_mapping_page_gfp(struct address_space *mapping,
^
mm/shmem.c:4353:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
struct page *shmem_read_mapping_page_gfp(struct address_space *mapping,
^
static
12 warnings generated.
vim +/shmem_read_folio_gfp +4328 mm/shmem.c
4312
4313 /**
4314 * shmem_read_folio_gfp - read into page cache, using specified page allocation flags.
4315 * @mapping: the folio's address_space
4316 * @index: the folio index
4317 * @gfp: the page allocator flags to use if allocating
4318 *
4319 * This behaves as a tmpfs "read_cache_page_gfp(mapping, index, gfp)",
4320 * with any new page allocations done using the specified allocation flags.
4321 * But read_cache_page_gfp() uses the ->read_folio() method: which does not
4322 * suit tmpfs, since it may have pages in swapcache, and needs to find those
4323 * for itself; although drivers/gpu/drm i915 and ttm rely upon this support.
4324 *
4325 * i915_gem_object_get_pages_gtt() mixes __GFP_NORETRY | __GFP_NOWARN in
4326 * with the mapping_gfp_mask(), to avoid OOMing the machine unnecessarily.
4327 */
> 4328 struct folio *shmem_read_folio_gfp(struct address_space *mapping,
4329 pgoff_t index, gfp_t gfp)
4330 {
4331 #ifdef CONFIG_SHMEM
4332 struct inode *inode = mapping->host;
4333 struct folio *folio;
4334 int error;
4335
4336 BUG_ON(!shmem_mapping(mapping));
4337 error = shmem_get_folio_gfp(inode, index, &folio, SGP_CACHE,
4338 gfp, NULL, NULL, NULL);
4339 if (error)
4340 return ERR_PTR(error);
4341
4342 folio_unlock(folio);
4343 return folio;
4344 #else
4345 /*
4346 * The tiny !SHMEM case uses ramfs without swap
4347 */
4348 return mapping_read_folio_gfp(mapping, index, gfp);
4349 #endif
4350 }
4351 EXPORT_SYMBOL_GPL(shmem_read_folio_gfp);
4352
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests
prev parent reply other threads:[~2023-02-06 21:20 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-02-06 16:25 [PATCH 1/2] filemap: Add mapping_read_folio_gfp() Matthew Wilcox (Oracle)
2023-02-06 16:25 ` [PATCH 2/2] shmem: Add shmem_read_folio() and shmem_read_folio_gfp() Matthew Wilcox (Oracle)
2023-02-06 18:56 ` kernel test robot
2023-02-06 21:19 ` kernel test robot [this message]
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=202302070525.Ho0cFITJ-lkp@intel.com \
--to=lkp@intel.com \
--cc=akpm@linux-foundation.org \
--cc=hughd@google.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mm@kvack.org \
--cc=llvm@lists.linux.dev \
--cc=markhemm@googlemail.com \
--cc=mhocko@suse.com \
--cc=oe-kbuild-all@lists.linux.dev \
--cc=quic_charante@quicinc.com \
--cc=quic_pkondeti@quicinc.com \
--cc=rientjes@google.com \
--cc=shakeelb@google.com \
--cc=surenb@google.com \
--cc=vbabka@suse.cz \
--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.