From: kernel test robot <lkp@intel.com>
To: kbuild-all@lists.01.org
Subject: Re: [PATCH v9 74/96] mm/workingset: Convert workingset_refault to take a folio
Date: Thu, 06 May 2021 04:17:27 +0800 [thread overview]
Message-ID: <202105060454.QWwnGhDV-lkp@intel.com> (raw)
In-Reply-To: <20210505150628.111735-75-willy@infradead.org>
[-- Attachment #1: Type: text/plain, Size: 7867 bytes --]
Hi "Matthew,
Thank you for the patch! Yet something to improve:
[auto build test ERROR on next-20210505]
[cannot apply to hnaz-linux-mm/master xfs-linux/for-next tip/perf/core shaggy/jfs-next block/for-next linus/master asm-generic/master v5.12 v5.12-rc8 v5.12-rc7 v5.12]
[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]
url: https://github.com/0day-ci/linux/commits/Matthew-Wilcox-Oracle/Memory-folios/20210506-014108
base: 29955e0289b3255c5f609a7564a0f0bb4ae35c7a
config: nds32-defconfig (attached as .config)
compiler: nds32le-linux-gcc (GCC) 9.3.0
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
# https://github.com/0day-ci/linux/commit/b1883a3797e1623bf783141c25482fee16e1031c
git remote add linux-review https://github.com/0day-ci/linux
git fetch --no-tags linux-review Matthew-Wilcox-Oracle/Memory-folios/20210506-014108
git checkout b1883a3797e1623bf783141c25482fee16e1031c
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross W=1 ARCH=nds32
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@intel.com>
All error/warnings (new ones prefixed by >>):
In file included from mm/workingset.c:8:
include/linux/memcontrol.h: In function 'folio_uncharge_cgroup':
include/linux/memcontrol.h:1213:42: error: parameter name omitted
1213 | static inline void folio_uncharge_cgroup(struct folio *)
| ^~~~~~~~~~~~~~
mm/workingset.c: In function 'unpack_shadow':
mm/workingset.c:201:15: warning: variable 'nid' set but not used [-Wunused-but-set-variable]
201 | int memcgid, nid;
| ^~~
mm/workingset.c: In function 'workingset_refault':
>> mm/workingset.c:348:10: error: implicit declaration of function 'folio_memcg' [-Werror=implicit-function-declaration]
348 | memcg = folio_memcg(folio);
| ^~~~~~~~~~~
>> mm/workingset.c:348:8: warning: assignment to 'struct mem_cgroup *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
348 | memcg = folio_memcg(folio);
| ^
cc1: some warnings being treated as errors
vim +/folio_memcg +348 mm/workingset.c
272
273 /**
274 * workingset_refault - evaluate the refault of a previously evicted folio
275 * @page: the freshly allocated replacement folio
276 * @shadow: shadow entry of the evicted folio
277 *
278 * Calculates and evaluates the refault distance of the previously
279 * evicted folio in the context of the node and the memcg whose memory
280 * pressure caused the eviction.
281 */
282 void workingset_refault(struct folio *folio, void *shadow)
283 {
284 bool file = folio_is_file_lru(folio);
285 struct mem_cgroup *eviction_memcg;
286 struct lruvec *eviction_lruvec;
287 unsigned long refault_distance;
288 unsigned long workingset_size;
289 struct pglist_data *pgdat;
290 struct mem_cgroup *memcg;
291 unsigned long eviction;
292 struct lruvec *lruvec;
293 unsigned long refault;
294 bool workingset;
295 int memcgid;
296
297 unpack_shadow(shadow, &memcgid, &pgdat, &eviction, &workingset);
298
299 rcu_read_lock();
300 /*
301 * Look up the memcg associated with the stored ID. It might
302 * have been deleted since the folio's eviction.
303 *
304 * Note that in rare events the ID could have been recycled
305 * for a new cgroup that refaults a shared folio. This is
306 * impossible to tell from the available data. However, this
307 * should be a rare and limited disturbance, and activations
308 * are always speculative anyway. Ultimately, it's the aging
309 * algorithm's job to shake out the minimum access frequency
310 * for the active cache.
311 *
312 * XXX: On !CONFIG_MEMCG, this will always return NULL; it
313 * would be better if the root_mem_cgroup existed in all
314 * configurations instead.
315 */
316 eviction_memcg = mem_cgroup_from_id(memcgid);
317 if (!mem_cgroup_disabled() && !eviction_memcg)
318 goto out;
319 eviction_lruvec = mem_cgroup_lruvec(eviction_memcg, pgdat);
320 refault = atomic_long_read(&eviction_lruvec->nonresident_age);
321
322 /*
323 * Calculate the refault distance
324 *
325 * The unsigned subtraction here gives an accurate distance
326 * across nonresident_age overflows in most cases. There is a
327 * special case: usually, shadow entries have a short lifetime
328 * and are either refaulted or reclaimed along with the inode
329 * before they get too old. But it is not impossible for the
330 * nonresident_age to lap a shadow entry in the field, which
331 * can then result in a false small refault distance, leading
332 * to a false activation should this old entry actually
333 * refault again. However, earlier kernels used to deactivate
334 * unconditionally with *every* reclaim invocation for the
335 * longest time, so the occasional inappropriate activation
336 * leading to pressure on the active list is not a problem.
337 */
338 refault_distance = (refault - eviction) & EVICTION_MASK;
339
340 /*
341 * The activation decision for this folio is made at the level
342 * where the eviction occurred, as that is where the LRU order
343 * during folio reclaim is being determined.
344 *
345 * However, the cgroup that will own the folio is the one that
346 * is actually experiencing the refault event.
347 */
> 348 memcg = folio_memcg(folio);
349 lruvec = mem_cgroup_lruvec(memcg, pgdat);
350
351 inc_lruvec_state(lruvec, WORKINGSET_REFAULT_BASE + file);
352
353 /*
354 * Compare the distance to the existing workingset size. We
355 * don't activate pages that couldn't stay resident even if
356 * all the memory was available to the workingset. Whether
357 * workingset competition needs to consider anon or not depends
358 * on having swap.
359 */
360 workingset_size = lruvec_page_state(eviction_lruvec, NR_ACTIVE_FILE);
361 if (!file) {
362 workingset_size += lruvec_page_state(eviction_lruvec,
363 NR_INACTIVE_FILE);
364 }
365 if (mem_cgroup_get_nr_swap_pages(memcg) > 0) {
366 workingset_size += lruvec_page_state(eviction_lruvec,
367 NR_ACTIVE_ANON);
368 if (file) {
369 workingset_size += lruvec_page_state(eviction_lruvec,
370 NR_INACTIVE_ANON);
371 }
372 }
373 if (refault_distance > workingset_size)
374 goto out;
375
376 folio_set_active_flag(folio);
377 workingset_age_nonresident(lruvec, folio_nr_pages(folio));
378 inc_lruvec_state(lruvec, WORKINGSET_ACTIVATE_BASE + file);
379
380 /* Folio was active prior to eviction */
381 if (workingset) {
382 folio_set_workingset_flag(folio);
383 /* XXX: Move to lru_cache_add() when it supports new vs putback */
384 lru_note_cost_folio(folio);
385 inc_lruvec_state(lruvec, WORKINGSET_RESTORE_BASE + file);
386 }
387 out:
388 rcu_read_unlock();
389 }
390
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all(a)lists.01.org
[-- Attachment #2: config.gz --]
[-- Type: application/gzip, Size: 10847 bytes --]
WARNING: multiple messages have this Message-ID (diff)
From: kernel test robot <lkp@intel.com>
To: "Matthew Wilcox (Oracle)" <willy@infradead.org>,
linux-fsdevel@vger.kernel.org, linux-mm@kvack.org
Cc: kbuild-all@lists.01.org,
"Matthew Wilcox (Oracle)" <willy@infradead.org>,
linux-kernel@vger.kernel.org
Subject: Re: [PATCH v9 74/96] mm/workingset: Convert workingset_refault to take a folio
Date: Thu, 6 May 2021 04:17:27 +0800 [thread overview]
Message-ID: <202105060454.QWwnGhDV-lkp@intel.com> (raw)
In-Reply-To: <20210505150628.111735-75-willy@infradead.org>
[-- Attachment #1: Type: text/plain, Size: 7692 bytes --]
Hi "Matthew,
Thank you for the patch! Yet something to improve:
[auto build test ERROR on next-20210505]
[cannot apply to hnaz-linux-mm/master xfs-linux/for-next tip/perf/core shaggy/jfs-next block/for-next linus/master asm-generic/master v5.12 v5.12-rc8 v5.12-rc7 v5.12]
[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]
url: https://github.com/0day-ci/linux/commits/Matthew-Wilcox-Oracle/Memory-folios/20210506-014108
base: 29955e0289b3255c5f609a7564a0f0bb4ae35c7a
config: nds32-defconfig (attached as .config)
compiler: nds32le-linux-gcc (GCC) 9.3.0
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
# https://github.com/0day-ci/linux/commit/b1883a3797e1623bf783141c25482fee16e1031c
git remote add linux-review https://github.com/0day-ci/linux
git fetch --no-tags linux-review Matthew-Wilcox-Oracle/Memory-folios/20210506-014108
git checkout b1883a3797e1623bf783141c25482fee16e1031c
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross W=1 ARCH=nds32
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@intel.com>
All error/warnings (new ones prefixed by >>):
In file included from mm/workingset.c:8:
include/linux/memcontrol.h: In function 'folio_uncharge_cgroup':
include/linux/memcontrol.h:1213:42: error: parameter name omitted
1213 | static inline void folio_uncharge_cgroup(struct folio *)
| ^~~~~~~~~~~~~~
mm/workingset.c: In function 'unpack_shadow':
mm/workingset.c:201:15: warning: variable 'nid' set but not used [-Wunused-but-set-variable]
201 | int memcgid, nid;
| ^~~
mm/workingset.c: In function 'workingset_refault':
>> mm/workingset.c:348:10: error: implicit declaration of function 'folio_memcg' [-Werror=implicit-function-declaration]
348 | memcg = folio_memcg(folio);
| ^~~~~~~~~~~
>> mm/workingset.c:348:8: warning: assignment to 'struct mem_cgroup *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
348 | memcg = folio_memcg(folio);
| ^
cc1: some warnings being treated as errors
vim +/folio_memcg +348 mm/workingset.c
272
273 /**
274 * workingset_refault - evaluate the refault of a previously evicted folio
275 * @page: the freshly allocated replacement folio
276 * @shadow: shadow entry of the evicted folio
277 *
278 * Calculates and evaluates the refault distance of the previously
279 * evicted folio in the context of the node and the memcg whose memory
280 * pressure caused the eviction.
281 */
282 void workingset_refault(struct folio *folio, void *shadow)
283 {
284 bool file = folio_is_file_lru(folio);
285 struct mem_cgroup *eviction_memcg;
286 struct lruvec *eviction_lruvec;
287 unsigned long refault_distance;
288 unsigned long workingset_size;
289 struct pglist_data *pgdat;
290 struct mem_cgroup *memcg;
291 unsigned long eviction;
292 struct lruvec *lruvec;
293 unsigned long refault;
294 bool workingset;
295 int memcgid;
296
297 unpack_shadow(shadow, &memcgid, &pgdat, &eviction, &workingset);
298
299 rcu_read_lock();
300 /*
301 * Look up the memcg associated with the stored ID. It might
302 * have been deleted since the folio's eviction.
303 *
304 * Note that in rare events the ID could have been recycled
305 * for a new cgroup that refaults a shared folio. This is
306 * impossible to tell from the available data. However, this
307 * should be a rare and limited disturbance, and activations
308 * are always speculative anyway. Ultimately, it's the aging
309 * algorithm's job to shake out the minimum access frequency
310 * for the active cache.
311 *
312 * XXX: On !CONFIG_MEMCG, this will always return NULL; it
313 * would be better if the root_mem_cgroup existed in all
314 * configurations instead.
315 */
316 eviction_memcg = mem_cgroup_from_id(memcgid);
317 if (!mem_cgroup_disabled() && !eviction_memcg)
318 goto out;
319 eviction_lruvec = mem_cgroup_lruvec(eviction_memcg, pgdat);
320 refault = atomic_long_read(&eviction_lruvec->nonresident_age);
321
322 /*
323 * Calculate the refault distance
324 *
325 * The unsigned subtraction here gives an accurate distance
326 * across nonresident_age overflows in most cases. There is a
327 * special case: usually, shadow entries have a short lifetime
328 * and are either refaulted or reclaimed along with the inode
329 * before they get too old. But it is not impossible for the
330 * nonresident_age to lap a shadow entry in the field, which
331 * can then result in a false small refault distance, leading
332 * to a false activation should this old entry actually
333 * refault again. However, earlier kernels used to deactivate
334 * unconditionally with *every* reclaim invocation for the
335 * longest time, so the occasional inappropriate activation
336 * leading to pressure on the active list is not a problem.
337 */
338 refault_distance = (refault - eviction) & EVICTION_MASK;
339
340 /*
341 * The activation decision for this folio is made at the level
342 * where the eviction occurred, as that is where the LRU order
343 * during folio reclaim is being determined.
344 *
345 * However, the cgroup that will own the folio is the one that
346 * is actually experiencing the refault event.
347 */
> 348 memcg = folio_memcg(folio);
349 lruvec = mem_cgroup_lruvec(memcg, pgdat);
350
351 inc_lruvec_state(lruvec, WORKINGSET_REFAULT_BASE + file);
352
353 /*
354 * Compare the distance to the existing workingset size. We
355 * don't activate pages that couldn't stay resident even if
356 * all the memory was available to the workingset. Whether
357 * workingset competition needs to consider anon or not depends
358 * on having swap.
359 */
360 workingset_size = lruvec_page_state(eviction_lruvec, NR_ACTIVE_FILE);
361 if (!file) {
362 workingset_size += lruvec_page_state(eviction_lruvec,
363 NR_INACTIVE_FILE);
364 }
365 if (mem_cgroup_get_nr_swap_pages(memcg) > 0) {
366 workingset_size += lruvec_page_state(eviction_lruvec,
367 NR_ACTIVE_ANON);
368 if (file) {
369 workingset_size += lruvec_page_state(eviction_lruvec,
370 NR_INACTIVE_ANON);
371 }
372 }
373 if (refault_distance > workingset_size)
374 goto out;
375
376 folio_set_active_flag(folio);
377 workingset_age_nonresident(lruvec, folio_nr_pages(folio));
378 inc_lruvec_state(lruvec, WORKINGSET_ACTIVATE_BASE + file);
379
380 /* Folio was active prior to eviction */
381 if (workingset) {
382 folio_set_workingset_flag(folio);
383 /* XXX: Move to lru_cache_add() when it supports new vs putback */
384 lru_note_cost_folio(folio);
385 inc_lruvec_state(lruvec, WORKINGSET_RESTORE_BASE + file);
386 }
387 out:
388 rcu_read_unlock();
389 }
390
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
[-- Attachment #2: .config.gz --]
[-- Type: application/gzip, Size: 10847 bytes --]
next prev parent reply other threads:[~2021-05-05 20:17 UTC|newest]
Thread overview: 117+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-05-05 15:04 [PATCH v9 00/96] Memory folios Matthew Wilcox (Oracle)
2021-05-05 15:04 ` [PATCH v9 01/96] mm: Optimise nth_page for contiguous memmap Matthew Wilcox (Oracle)
2021-05-05 17:24 ` Vlastimil Babka
2021-05-05 15:04 ` [PATCH v9 02/96] mm: Make __dump_page static Matthew Wilcox (Oracle)
2021-05-05 15:04 ` [PATCH v9 03/96] mm/debug: Factor PagePoisoned out of __dump_page Matthew Wilcox (Oracle)
2021-05-05 15:04 ` [PATCH v9 04/96] mm/page_owner: Constify dump_page_owner Matthew Wilcox (Oracle)
2021-05-05 15:04 ` [PATCH v9 05/96] mm: Make compound_head const-preserving Matthew Wilcox (Oracle)
2021-05-05 15:04 ` [PATCH v9 06/96] mm: Constify get_pfnblock_flags_mask and get_pfnblock_migratetype Matthew Wilcox (Oracle)
2021-05-05 15:04 ` [PATCH v9 07/96] mm: Constify page_count and page_ref_count Matthew Wilcox (Oracle)
2021-05-05 15:05 ` [PATCH v9 08/96] mm: Fix struct page layout on 32-bit systems Matthew Wilcox (Oracle)
2021-05-05 17:33 ` Vlastimil Babka
2021-05-05 15:05 ` [PATCH v9 09/96] mm: Introduce struct folio Matthew Wilcox (Oracle)
2021-05-05 15:05 ` [PATCH v9 10/96] mm: Add folio_pgdat and folio_zone Matthew Wilcox (Oracle)
2021-05-05 15:05 ` [PATCH v9 11/96] mm/vmstat: Add functions to account folio statistics Matthew Wilcox (Oracle)
2021-05-05 15:05 ` [PATCH v9 12/96] mm/debug: Add VM_BUG_ON_FOLIO and VM_WARN_ON_ONCE_FOLIO Matthew Wilcox (Oracle)
2021-05-05 15:05 ` [PATCH v9 13/96] mm: Add folio reference count functions Matthew Wilcox (Oracle)
2021-05-05 15:05 ` [PATCH v9 14/96] mm: Add folio_put Matthew Wilcox (Oracle)
2021-05-05 15:05 ` [PATCH v9 15/96] mm: Add folio_get Matthew Wilcox (Oracle)
2021-05-05 15:05 ` [PATCH v9 16/96] mm: Add folio flag manipulation functions Matthew Wilcox (Oracle)
2021-05-05 15:05 ` [PATCH v9 17/96] mm: Add folio_young() and folio_idle() Matthew Wilcox (Oracle)
2021-05-05 15:05 ` [PATCH v9 18/96] mm: Handle per-folio private data Matthew Wilcox (Oracle)
2021-05-05 15:05 ` [PATCH v9 19/96] mm/filemap: Add folio_index, folio_file_page and folio_contains Matthew Wilcox (Oracle)
2021-05-05 15:05 ` [PATCH v9 20/96] mm/filemap: Add folio_next_index Matthew Wilcox (Oracle)
2021-05-05 15:05 ` [PATCH v9 21/96] mm/filemap: Add folio_offset and folio_file_offset Matthew Wilcox (Oracle)
2021-05-05 15:05 ` [PATCH v9 22/96] mm/util: Add folio_mapping and folio_file_mapping Matthew Wilcox (Oracle)
2021-05-05 15:05 ` [PATCH v9 23/96] mm: Add folio_mapcount Matthew Wilcox (Oracle)
2021-05-05 15:05 ` [PATCH v9 24/96] mm/memcg: Add folio wrappers for various functions Matthew Wilcox (Oracle)
2021-05-05 15:05 ` [PATCH v9 25/96] mm/filemap: Add folio_unlock Matthew Wilcox (Oracle)
2021-05-05 15:05 ` [PATCH v9 26/96] mm/filemap: Add folio_lock Matthew Wilcox (Oracle)
2021-05-05 15:05 ` [PATCH v9 27/96] mm/filemap: Add folio_lock_killable Matthew Wilcox (Oracle)
2021-05-05 15:05 ` [PATCH v9 28/96] mm/filemap: Add __folio_lock_async Matthew Wilcox (Oracle)
2021-05-05 15:05 ` [PATCH v9 29/96] mm/filemap: Add __folio_lock_or_retry Matthew Wilcox (Oracle)
2021-05-05 15:05 ` [PATCH v9 30/96] mm/filemap: Add folio_wait_locked Matthew Wilcox (Oracle)
2021-05-05 15:05 ` [PATCH v9 31/96] mm/swap: Add folio_rotate_reclaimable Matthew Wilcox (Oracle)
2021-05-05 15:05 ` [PATCH v9 32/96] mm/filemap: Add folio_end_writeback Matthew Wilcox (Oracle)
2021-05-05 15:05 ` [PATCH v9 33/96] mm/writeback: Add folio_wait_writeback Matthew Wilcox (Oracle)
2021-05-05 15:05 ` [PATCH v9 34/96] mm/writeback: Add folio_wait_stable Matthew Wilcox (Oracle)
2021-05-05 15:05 ` [PATCH v9 35/96] mm/filemap: Add folio_wait_bit Matthew Wilcox (Oracle)
2021-05-05 15:05 ` [PATCH v9 36/96] mm/filemap: Add folio_wake_bit Matthew Wilcox (Oracle)
2021-05-05 15:05 ` [PATCH v9 37/96] mm/filemap: Convert page wait queues to be folios Matthew Wilcox (Oracle)
2021-05-05 15:05 ` [PATCH v9 38/96] mm/filemap: Add folio private_2 functions Matthew Wilcox (Oracle)
2021-05-05 15:05 ` [PATCH v9 39/96] fs/netfs: Add folio fscache functions Matthew Wilcox (Oracle)
2021-05-05 15:05 ` [PATCH v9 40/96] mm: Add folio_mapped Matthew Wilcox (Oracle)
2021-05-05 15:05 ` [PATCH v9 41/96] mm/workingset: Convert workingset_activation to take a folio Matthew Wilcox (Oracle)
2021-05-05 15:05 ` [PATCH v9 42/96] mm/swap: Add folio_activate Matthew Wilcox (Oracle)
2021-05-05 15:05 ` [PATCH v9 43/96] mm/swap: Add folio_mark_accessed Matthew Wilcox (Oracle)
2021-05-05 15:05 ` [PATCH v9 44/96] mm/rmap: Add folio_mkclean Matthew Wilcox (Oracle)
2021-05-05 15:05 ` [PATCH v9 45/96] mm: Add kmap_local_folio Matthew Wilcox (Oracle)
2021-05-05 15:05 ` [PATCH v9 46/96] mm: Add flush_dcache_folio Matthew Wilcox (Oracle)
2021-05-05 23:35 ` kernel test robot
2021-05-05 23:35 ` kernel test robot
2021-05-06 2:33 ` Matthew Wilcox
2021-05-06 2:33 ` Matthew Wilcox
2021-05-05 15:05 ` [PATCH v9 47/96] mm: Add arch_make_folio_accessible Matthew Wilcox (Oracle)
2021-05-05 15:05 ` [PATCH v9 48/96] mm/memcg: Remove 'page' parameter to mem_cgroup_charge_statistics Matthew Wilcox (Oracle)
2021-05-05 15:05 ` [PATCH v9 49/96] mm/memcg: Use the node id in mem_cgroup_update_tree Matthew Wilcox (Oracle)
2021-05-05 15:05 ` [PATCH v9 50/96] mm/memcg: Convert commit_charge to take a folio Matthew Wilcox (Oracle)
2021-05-05 15:05 ` [PATCH v9 51/96] mm/memcg: Add folio_charge_cgroup Matthew Wilcox (Oracle)
2021-05-05 15:05 ` [PATCH v9 52/96] mm/memcg: Add folio_uncharge_cgroup Matthew Wilcox (Oracle)
2021-05-05 20:24 ` kernel test robot
2021-05-05 20:24 ` kernel test robot
2021-05-05 15:05 ` [PATCH v9 53/96] mm/memcg: Convert mem_cgroup_track_foreign_dirty_slowpath to folio Matthew Wilcox (Oracle)
2021-05-05 15:05 ` [PATCH v9 54/96] mm/writeback: Rename __add_wb_stat to wb_stat_mod Matthew Wilcox (Oracle)
2021-05-05 15:05 ` [PATCH v9 55/96] flex_proportions: Allow N events instead of 1 Matthew Wilcox (Oracle)
2021-05-05 15:05 ` [PATCH v9 56/96] mm/writeback: Change __wb_writeout_inc to __wb_writeout_add Matthew Wilcox (Oracle)
2021-05-05 15:05 ` [PATCH v9 57/96] mm/writeback: Convert test_clear_page_writeback to __folio_end_writeback Matthew Wilcox (Oracle)
2021-05-05 15:05 ` [PATCH v9 58/96] mm/writeback: Add folio_start_writeback Matthew Wilcox (Oracle)
2021-05-05 15:05 ` [PATCH v9 59/96] mm/writeback: Add folio_mark_dirty Matthew Wilcox (Oracle)
2021-05-05 15:05 ` [PATCH v9 60/96] mm/writeback: Use __set_page_dirty in __set_page_dirty_nobuffers Matthew Wilcox (Oracle)
2021-05-05 15:05 ` [PATCH v9 61/96] mm/writeback: Add __folio_mark_dirty Matthew Wilcox (Oracle)
2021-05-05 15:05 ` [PATCH v9 62/96] mm/writeback: Add filemap_dirty_folio Matthew Wilcox (Oracle)
2021-05-05 15:05 ` [PATCH v9 63/96] mm/writeback: Add folio_account_cleaned Matthew Wilcox (Oracle)
2021-05-05 15:05 ` [PATCH v9 64/96] mm/writeback: Add folio_cancel_dirty Matthew Wilcox (Oracle)
2021-05-05 15:05 ` [PATCH v9 65/96] mm/writeback: Add folio_clear_dirty_for_io Matthew Wilcox (Oracle)
2021-05-05 15:05 ` [PATCH v9 66/96] mm/writeback: Add folio_account_redirty Matthew Wilcox (Oracle)
2021-05-05 15:05 ` [PATCH v9 67/96] mm/writeback: Add folio_redirty_for_writepage Matthew Wilcox (Oracle)
2021-05-05 15:06 ` [PATCH v9 68/96] mm/filemap: Add i_blocks_per_folio Matthew Wilcox (Oracle)
2021-05-05 15:06 ` [PATCH v9 69/96] mm/filemap: Add folio_mkwrite_check_truncate Matthew Wilcox (Oracle)
2021-05-05 15:06 ` [PATCH v9 70/96] mm/filemap: Add readahead_folio Matthew Wilcox (Oracle)
2021-05-05 15:06 ` [PATCH v9 71/96] block: Add bio_add_folio Matthew Wilcox (Oracle)
2021-05-05 15:06 ` [PATCH v9 72/96] block: Add bio_for_each_folio_all Matthew Wilcox (Oracle)
2021-05-05 15:06 ` [PATCH v9 73/96] mm/lru: Add folio_lru and folio_is_file_lru Matthew Wilcox (Oracle)
2021-05-05 15:06 ` [PATCH v9 74/96] mm/workingset: Convert workingset_refault to take a folio Matthew Wilcox (Oracle)
2021-05-05 20:17 ` kernel test robot [this message]
2021-05-05 20:17 ` kernel test robot
2021-05-05 20:57 ` Matthew Wilcox
2021-05-05 20:57 ` Matthew Wilcox
2021-05-05 15:06 ` [PATCH v9 75/96] mm/lru: Add folio_add_lru Matthew Wilcox (Oracle)
2021-05-05 15:06 ` [PATCH v9 76/96] mm/page_alloc: Add __alloc_folio, __alloc_folio_node and alloc_folio Matthew Wilcox (Oracle)
2021-05-05 15:06 ` [PATCH v9 77/96] mm/filemap: Add filemap_alloc_folio Matthew Wilcox (Oracle)
2021-05-06 0:00 ` kernel test robot
2021-05-06 0:00 ` kernel test robot
2021-05-06 2:28 ` Matthew Wilcox
2021-05-06 2:28 ` Matthew Wilcox
2021-05-05 15:06 ` [PATCH v9 78/96] mm/filemap: Add folio_add_to_page_cache Matthew Wilcox (Oracle)
2021-05-05 15:06 ` [PATCH v9 79/96] mm/filemap: Convert mapping_get_entry to return a folio Matthew Wilcox (Oracle)
2021-05-05 15:06 ` [PATCH v9 80/96] mm/filemap: Add filemap_get_folio and find_get_folio Matthew Wilcox (Oracle)
2021-05-05 15:06 ` [PATCH v9 81/96] mm/filemap: Add filemap_get_stable_folio Matthew Wilcox (Oracle)
2021-05-05 15:06 ` [PATCH v9 82/96] iomap: Convert to_iomap_page to take a folio Matthew Wilcox (Oracle)
2021-05-05 15:06 ` [PATCH v9 83/96] iomap: Convert iomap_page_create " Matthew Wilcox (Oracle)
2021-05-05 15:06 ` [PATCH v9 84/96] iomap: Convert iomap_page_release " Matthew Wilcox (Oracle)
2021-05-05 15:06 ` [PATCH v9 85/96] iomap: Convert iomap_releasepage to use " Matthew Wilcox (Oracle)
2021-05-05 15:06 ` [PATCH v9 86/96] iomap: Convert iomap_invalidatepage " Matthew Wilcox (Oracle)
2021-05-05 15:06 ` [PATCH v9 87/96] iomap: Pass the iomap_page into iomap_set_range_uptodate Matthew Wilcox (Oracle)
2021-05-05 15:06 ` [PATCH v9 88/96] iomap: Use folio offsets instead of page offsets Matthew Wilcox (Oracle)
2021-05-05 15:06 ` [PATCH v9 89/96] iomap: Convert bio completions to use folios Matthew Wilcox (Oracle)
2021-05-05 15:06 ` [PATCH v9 90/96] iomap: Convert readahead and readpage to use a folio Matthew Wilcox (Oracle)
2021-05-05 15:06 ` [PATCH v9 91/96] iomap: Convert iomap_page_mkwrite " Matthew Wilcox (Oracle)
2021-05-05 15:06 ` [PATCH v9 92/96] iomap: Convert iomap_write_begin and iomap_write_end to folios Matthew Wilcox (Oracle)
2021-05-05 21:36 ` kernel test robot
2021-05-05 21:36 ` kernel test robot
2021-05-05 22:10 ` Matthew Wilcox
2021-05-05 22:10 ` Matthew Wilcox
2021-05-05 15:06 ` [PATCH v9 93/96] iomap: Convert iomap_read_inline_data to take a folio Matthew Wilcox (Oracle)
2021-05-05 15:06 ` [PATCH v9 94/96] iomap: Convert iomap_write_end_inline " Matthew Wilcox (Oracle)
2021-05-05 15:06 ` [PATCH v9 95/96] iomap: Convert iomap_add_to_ioend " Matthew Wilcox (Oracle)
2021-05-05 15:06 ` [PATCH v9 96/96] iomap: Convert iomap_do_writepage to use " Matthew Wilcox (Oracle)
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=202105060454.QWwnGhDV-lkp@intel.com \
--to=lkp@intel.com \
--cc=kbuild-all@lists.01.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.