linux-next.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* linux-next: manual merge of the akpm-current tree with the btrfs-kdave tree
@ 2018-12-06  7:29 Stephen Rothwell
  0 siblings, 0 replies; 3+ messages in thread
From: Stephen Rothwell @ 2018-12-06  7:29 UTC (permalink / raw)
  To: Andrew Morton, David Sterba
  Cc: Linux Next Mailing List, Linux Kernel Mailing List, Nikolay Borisov

[-- Attachment #1: Type: text/plain, Size: 2149 bytes --]

Hi all,

Today's linux-next merge of the akpm-current tree got a conflict in:

  fs/btrfs/extent_io.c

between commit:

  e42c38c80535 ("btrfs: Refactor main loop in extent_readpages")

from the btrfs-kdave tree and commit:

  "fs: don't open code lru_to_page()"

from the akpm-current tree.

I fixed it up (see below) and can carry the fix as necessary. This
is now fixed as far as linux-next is concerned, but any non trivial
conflicts should be mentioned to your upstream maintainer when your tree
is submitted for merging.  You may also want to consider cooperating
with the maintainer of the conflicting tree to minimise any particularly
complex conflicts.

-- 
Cheers,
Stephen Rothwell

diff --cc fs/btrfs/extent_io.c
index 5104714212b4,3707c95a6598..000000000000
--- a/fs/btrfs/extent_io.c
+++ b/fs/btrfs/extent_io.c
@@@ -4103,24 -4103,28 +4103,24 @@@ int extent_readpages(struct address_spa
  	int nr = 0;
  	u64 prev_em_start = (u64)-1;
  
 -	for (page_idx = 0; page_idx < nr_pages; page_idx++) {
 -		page = lru_to_page(pages);
 +	while (!list_empty(pages)) {
 +		for (nr = 0; nr < BTRFS_PAGES_BATCH && !list_empty(pages);) {
- 			struct page *page = list_entry(pages->prev, struct page, lru);
++			struct page *page = lru_to_page(pages);
  
 -		prefetchw(&page->flags);
 -		list_del(&page->lru);
 -		if (add_to_page_cache_lru(page, mapping,
 -					page->index,
 -					readahead_gfp_mask(mapping))) {
 -			put_page(page);
 -			continue;
 +			prefetchw(&page->flags);
 +			list_del(&page->lru);
 +			if (add_to_page_cache_lru(page, mapping, page->index,
 +						readahead_gfp_mask(mapping))) {
 +				put_page(page);
 +				continue;
 +			}
 +
 +			pagepool[nr++] = page;
  		}
  
 -		pagepool[nr++] = page;
 -		if (nr < ARRAY_SIZE(pagepool))
 -			continue;
  		__extent_readpages(tree, pagepool, nr, &em_cached, &bio,
 -				&bio_flags, &prev_em_start);
 -		nr = 0;
 +				   &bio_flags, &prev_em_start);
  	}
 -	if (nr)
 -		__extent_readpages(tree, pagepool, nr, &em_cached, &bio,
 -				&bio_flags, &prev_em_start);
  
  	if (em_cached)
  		free_extent_map(em_cached);

[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 488 bytes --]

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: linux-next: manual merge of the akpm-current tree with the btrfs-kdave tree
  2018-10-05  5:47 Stephen Rothwell
@ 2018-10-05 18:29 ` Omar Sandoval
  0 siblings, 0 replies; 3+ messages in thread
From: Omar Sandoval @ 2018-10-05 18:29 UTC (permalink / raw)
  To: Stephen Rothwell
  Cc: Andrew Morton, David Sterba, Linux-Next Mailing List,
	Linux Kernel Mailing List, Omar Sandoval, Huang Ying

On Fri, Oct 05, 2018 at 03:47:21PM +1000, Stephen Rothwell wrote:
> Hi all,
> 
> Today's linux-next merge of the akpm-current tree got a conflict in:
> 
>   include/linux/swap.h
> 
> between commit:
> 
>   0f83d16b8f1f ("mm: split SWP_FILE into SWP_ACTIVATED and SWP_FS")
> 
> from the btrfs-kdave tree and commit:
> 
>   26833300651e ("mm, swap: fix race between swapoff and some swap operations")
> 
> from the akpm-current tree.
> 
> I fixed it up (see below) and can carry the fix as necessary. This
> is now fixed as far as linux-next is concerned, but any non trivial
> conflicts should be mentioned to your upstream maintainer when your tree
> is submitted for merging.  You may also want to consider cooperating
> with the maintainer of the conflicting tree to minimise any particularly
> complex conflicts.
> 
> -- 
> Cheers,
> Stephen Rothwell

Thanks, Stephen, that looks good.

This reminds that Dave suggested that we chould route the two mm patches
in my series through Andrew's mm tree for 4.20 and get the Btrfs bits in
for 4.21. Would that make things harder for linux-next? If not, I can
resend "mm: split SWP_FILE into SWP_ACTIVATED and SWP_FS" and "mm:
export add_swap_extent()" rebased on mmotm.

^ permalink raw reply	[flat|nested] 3+ messages in thread

* linux-next: manual merge of the akpm-current tree with the btrfs-kdave tree
@ 2018-10-05  5:47 Stephen Rothwell
  2018-10-05 18:29 ` Omar Sandoval
  0 siblings, 1 reply; 3+ messages in thread
From: Stephen Rothwell @ 2018-10-05  5:47 UTC (permalink / raw)
  To: Andrew Morton, David Sterba
  Cc: Linux-Next Mailing List, Linux Kernel Mailing List,
	Omar Sandoval, Huang Ying

[-- Attachment #1: Type: text/plain, Size: 3370 bytes --]

Hi all,

Today's linux-next merge of the akpm-current tree got a conflict in:

  include/linux/swap.h

between commit:

  0f83d16b8f1f ("mm: split SWP_FILE into SWP_ACTIVATED and SWP_FS")

from the btrfs-kdave tree and commit:

  26833300651e ("mm, swap: fix race between swapoff and some swap operations")

from the akpm-current tree.

I fixed it up (see below) and can carry the fix as necessary. This
is now fixed as far as linux-next is concerned, but any non trivial
conflicts should be mentioned to your upstream maintainer when your tree
is submitted for merging.  You may also want to consider cooperating
with the maintainer of the conflicting tree to minimise any particularly
complex conflicts.

-- 
Cheers,
Stephen Rothwell

diff --cc include/linux/swap.h
index 4fff094dbd53,f32f94639b13..000000000000
--- a/include/linux/swap.h
+++ b/include/linux/swap.h
@@@ -167,14 -167,14 +167,15 @@@ enum 
  	SWP_SOLIDSTATE	= (1 << 4),	/* blkdev seeks are cheap */
  	SWP_CONTINUED	= (1 << 5),	/* swap_map has count continuation */
  	SWP_BLKDEV	= (1 << 6),	/* its a block device */
 -	SWP_FILE	= (1 << 7),	/* set after swap_activate success */
 -	SWP_AREA_DISCARD = (1 << 8),	/* single-time swap area discards */
 -	SWP_PAGE_DISCARD = (1 << 9),	/* freed swap page-cluster discards */
 -	SWP_STABLE_WRITES = (1 << 10),	/* no overwrite PG_writeback pages */
 -	SWP_SYNCHRONOUS_IO = (1 << 11),	/* synchronous IO is efficient */
 -	SWP_VALID	= (1 << 12),	/* swap is valid to be operated on? */
 +	SWP_ACTIVATED	= (1 << 7),	/* set after swap_activate success */
 +	SWP_FS		= (1 << 8),	/* swap file goes through fs */
 +	SWP_AREA_DISCARD = (1 << 9),	/* single-time swap area discards */
 +	SWP_PAGE_DISCARD = (1 << 10),	/* freed swap page-cluster discards */
 +	SWP_STABLE_WRITES = (1 << 11),	/* no overwrite PG_writeback pages */
 +	SWP_SYNCHRONOUS_IO = (1 << 12),	/* synchronous IO is efficient */
++	SWP_VALID	= (1 << 13),	/* swap is valid to be operated on? */
  					/* add others here before... */
--	SWP_SCANNING	= (1 << 13),	/* refcount in scan_swap_map */
++	SWP_SCANNING	= (1 << 14),	/* refcount in scan_swap_map */
  };
  
  #define SWAP_CLUSTER_MAX 32UL
@@@ -297,15 -297,20 +298,15 @@@ struct vma_swap_readahead 
  
  /* linux/mm/workingset.c */
  void *workingset_eviction(struct address_space *mapping, struct page *page);
- bool workingset_refault(void *shadow);
+ void workingset_refault(struct page *page, void *shadow);
  void workingset_activation(struct page *page);
  
 -/* Do not use directly, use workingset_lookup_update */
 -void workingset_update_node(struct radix_tree_node *node);
 -
 -/* Returns workingset_update_node() if the mapping has shadow entries. */
 -#define workingset_lookup_update(mapping)				\
 -({									\
 -	radix_tree_update_node_t __helper = workingset_update_node;	\
 -	if (dax_mapping(mapping) || shmem_mapping(mapping))		\
 -		__helper = NULL;					\
 -	__helper;							\
 -})
 +/* Only track the nodes of mappings with shadow entries */
 +void workingset_update_node(struct xa_node *node);
 +#define mapping_set_update(xas, mapping) do {				\
 +	if (!dax_mapping(mapping) && !shmem_mapping(mapping))		\
 +		xas_set_update(xas, workingset_update_node);		\
 +} while (0)
  
  /* linux/mm/page_alloc.c */
  extern unsigned long totalram_pages;

[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 488 bytes --]

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2018-12-06  7:29 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-12-06  7:29 linux-next: manual merge of the akpm-current tree with the btrfs-kdave tree Stephen Rothwell
  -- strict thread matches above, loose matches on Subject: below --
2018-10-05  5:47 Stephen Rothwell
2018-10-05 18:29 ` Omar Sandoval

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).