All of lore.kernel.org
 help / color / mirror / Atom feed
From: Ross Zwisler <ross.zwisler@linux.intel.com>
To: Andrew Morton <akpm@linux-foundation.org>
Cc: Ross Zwisler <ross.zwisler@linux.intel.com>,
	linux-kernel@vger.kernel.org, "H. Peter Anvin" <hpa@zytor.com>,
	"J. Bruce Fields" <bfields@fieldses.org>,
	"Theodore Ts'o" <tytso@mit.edu>,
	Alexander Viro <viro@zeniv.linux.org.uk>,
	Andreas Dilger <adilger.kernel@dilger.ca>,
	Dave Chinner <david@fromorbit.com>,
	Ingo Molnar <mingo@redhat.com>, Jan Kara <jack@suse.com>,
	Jeff Layton <jlayton@poochiereds.net>,
	Matthew Wilcox <willy@linux.intel.com>,
	Thomas Gleixner <tglx@linutronix.de>,
	linux-ext4@vger.kernel.org, linux-fsdevel@vger.kernel.org,
	linux-mm@kvack.org, linux-nvdimm@ml01.01.org, x86@kernel.org,
	xfs@oss.sgi.com, Dan Williams <dan.j.williams@intel.com>,
	Matthew Wilcox <matthew.r.wilcox@intel.com>,
	Dave Hansen <dave.hansen@linux.intel.com>
Subject: Re: [PATCH v5 1/7] pmem: add wb_cache_pmem() to the PMEM API
Date: Tue, 22 Dec 2015 17:00:10 -0700	[thread overview]
Message-ID: <20151223000010.GB24124@linux.intel.com> (raw)
In-Reply-To: <20151222144440.1ad9e076464f4751f3de6a1f@linux-foundation.org>

On Tue, Dec 22, 2015 at 02:44:40PM -0800, Andrew Morton wrote:
> On Fri, 18 Dec 2015 22:22:14 -0700 Ross Zwisler <ross.zwisler@linux.intel.com> wrote:
> 
> > The function __arch_wb_cache_pmem() was already an internal implementation
> > detail of the x86 PMEM API, but this functionality needs to be exported as
> > part of the general PMEM API to handle the fsync/msync case for DAX mmaps.
> > 
> > One thing worth noting is that we really do want this to be part of the
> > PMEM API as opposed to a stand-alone function like clflush_cache_range()
> > because of ordering restrictions.  By having wb_cache_pmem() as part of the
> > PMEM API we can leave it unordered, call it multiple times to write back
> > large amounts of memory, and then order the multiple calls with a single
> > wmb_pmem().
> > 
> > @@ -138,7 +139,7 @@ static inline void arch_clear_pmem(void __pmem *addr, size_t size)
> >  	else
> >  		memset(vaddr, 0, size);
> >  
> > -	__arch_wb_cache_pmem(vaddr, size);
> > +	arch_wb_cache_pmem(addr, size);
> >  }
> >  
> 
> reject.  I made this
> 
> 	arch_wb_cache_pmem(vaddr, size);
> 
> due to Dan's
> http://www.ozlabs.org/~akpm/mmots/broken-out/pmem-dax-clean-up-clear_pmem.patch

The first argument seems wrong to me - in arch_clear_pmem() 'addr' and 'vaddr'
are the same address, with the only difference being 'addr' has the __pmem
annotation.

As of this patch arch_wb_cache_pmem() follows the lead of the rest of the
exported PMEM API functions and takes an argument that has the __pmem
annotation, so I believe it should be:

arch_wb_cache_pmem(addr, size);

Without this I think you'll get a sparse warning.

This will be fixed up in the next version of my series which build upon Dan's
patches.

WARNING: multiple messages have this Message-ID (diff)
From: Ross Zwisler <ross.zwisler@linux.intel.com>
To: Andrew Morton <akpm@linux-foundation.org>
Cc: Ross Zwisler <ross.zwisler@linux.intel.com>,
	linux-kernel@vger.kernel.org, "H. Peter Anvin" <hpa@zytor.com>,
	"J. Bruce Fields" <bfields@fieldses.org>,
	Theodore Ts'o <tytso@mit.edu>,
	Alexander Viro <viro@zeniv.linux.org.uk>,
	Andreas Dilger <adilger.kernel@dilger.ca>,
	Dave Chinner <david@fromorbit.com>,
	Ingo Molnar <mingo@redhat.com>, Jan Kara <jack@suse.com>,
	Jeff Layton <jlayton@poochiereds.net>,
	Matthew Wilcox <willy@linux.intel.com>,
	Thomas Gleixner <tglx@linutronix.de>,
	linux-ext4@vger.kernel.org, linux-fsdevel@vger.kernel.org,
	linux-mm@kvack.org, linux-nvdimm@ml01.01.org, x86@kernel.org,
	xfs@oss.sgi.com, Dan Williams <dan.j.williams@intel.com>,
	Matthew Wilcox <matthew.r.wilcox@intel.com>,
	Dave Hansen <dave.hansen@linux.intel.com>
Subject: Re: [PATCH v5 1/7] pmem: add wb_cache_pmem() to the PMEM API
Date: Tue, 22 Dec 2015 17:00:10 -0700	[thread overview]
Message-ID: <20151223000010.GB24124@linux.intel.com> (raw)
In-Reply-To: <20151222144440.1ad9e076464f4751f3de6a1f@linux-foundation.org>

On Tue, Dec 22, 2015 at 02:44:40PM -0800, Andrew Morton wrote:
> On Fri, 18 Dec 2015 22:22:14 -0700 Ross Zwisler <ross.zwisler@linux.intel.com> wrote:
> 
> > The function __arch_wb_cache_pmem() was already an internal implementation
> > detail of the x86 PMEM API, but this functionality needs to be exported as
> > part of the general PMEM API to handle the fsync/msync case for DAX mmaps.
> > 
> > One thing worth noting is that we really do want this to be part of the
> > PMEM API as opposed to a stand-alone function like clflush_cache_range()
> > because of ordering restrictions.  By having wb_cache_pmem() as part of the
> > PMEM API we can leave it unordered, call it multiple times to write back
> > large amounts of memory, and then order the multiple calls with a single
> > wmb_pmem().
> > 
> > @@ -138,7 +139,7 @@ static inline void arch_clear_pmem(void __pmem *addr, size_t size)
> >  	else
> >  		memset(vaddr, 0, size);
> >  
> > -	__arch_wb_cache_pmem(vaddr, size);
> > +	arch_wb_cache_pmem(addr, size);
> >  }
> >  
> 
> reject.  I made this
> 
> 	arch_wb_cache_pmem(vaddr, size);
> 
> due to Dan's
> http://www.ozlabs.org/~akpm/mmots/broken-out/pmem-dax-clean-up-clear_pmem.patch

The first argument seems wrong to me - in arch_clear_pmem() 'addr' and 'vaddr'
are the same address, with the only difference being 'addr' has the __pmem
annotation.

As of this patch arch_wb_cache_pmem() follows the lead of the rest of the
exported PMEM API functions and takes an argument that has the __pmem
annotation, so I believe it should be:

arch_wb_cache_pmem(addr, size);

Without this I think you'll get a sparse warning.

This will be fixed up in the next version of my series which build upon Dan's
patches.

--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org.  For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>

WARNING: multiple messages have this Message-ID (diff)
From: Ross Zwisler <ross.zwisler@linux.intel.com>
To: Andrew Morton <akpm@linux-foundation.org>
Cc: linux-nvdimm@ml01.01.org,
	Dave Hansen <dave.hansen@linux.intel.com>,
	"J. Bruce Fields" <bfields@fieldses.org>,
	linux-mm@kvack.org, Andreas Dilger <adilger.kernel@dilger.ca>,
	"H. Peter Anvin" <hpa@zytor.com>,
	Jeff Layton <jlayton@poochiereds.net>,
	Dan Williams <dan.j.williams@intel.com>,
	x86@kernel.org, Ingo Molnar <mingo@redhat.com>,
	Matthew Wilcox <willy@linux.intel.com>,
	Ross Zwisler <ross.zwisler@linux.intel.com>,
	linux-ext4@vger.kernel.org, xfs@oss.sgi.com,
	Alexander Viro <viro@zeniv.linux.org.uk>,
	Thomas Gleixner <tglx@linutronix.de>,
	Theodore Ts'o <tytso@mit.edu>,
	linux-kernel@vger.kernel.org, Jan Kara <jack@suse.com>,
	linux-fsdevel@vger.kernel.org,
	Matthew Wilcox <matthew.r.wilcox@intel.com>
Subject: Re: [PATCH v5 1/7] pmem: add wb_cache_pmem() to the PMEM API
Date: Tue, 22 Dec 2015 17:00:10 -0700	[thread overview]
Message-ID: <20151223000010.GB24124@linux.intel.com> (raw)
In-Reply-To: <20151222144440.1ad9e076464f4751f3de6a1f@linux-foundation.org>

On Tue, Dec 22, 2015 at 02:44:40PM -0800, Andrew Morton wrote:
> On Fri, 18 Dec 2015 22:22:14 -0700 Ross Zwisler <ross.zwisler@linux.intel.com> wrote:
> 
> > The function __arch_wb_cache_pmem() was already an internal implementation
> > detail of the x86 PMEM API, but this functionality needs to be exported as
> > part of the general PMEM API to handle the fsync/msync case for DAX mmaps.
> > 
> > One thing worth noting is that we really do want this to be part of the
> > PMEM API as opposed to a stand-alone function like clflush_cache_range()
> > because of ordering restrictions.  By having wb_cache_pmem() as part of the
> > PMEM API we can leave it unordered, call it multiple times to write back
> > large amounts of memory, and then order the multiple calls with a single
> > wmb_pmem().
> > 
> > @@ -138,7 +139,7 @@ static inline void arch_clear_pmem(void __pmem *addr, size_t size)
> >  	else
> >  		memset(vaddr, 0, size);
> >  
> > -	__arch_wb_cache_pmem(vaddr, size);
> > +	arch_wb_cache_pmem(addr, size);
> >  }
> >  
> 
> reject.  I made this
> 
> 	arch_wb_cache_pmem(vaddr, size);
> 
> due to Dan's
> http://www.ozlabs.org/~akpm/mmots/broken-out/pmem-dax-clean-up-clear_pmem.patch

The first argument seems wrong to me - in arch_clear_pmem() 'addr' and 'vaddr'
are the same address, with the only difference being 'addr' has the __pmem
annotation.

As of this patch arch_wb_cache_pmem() follows the lead of the rest of the
exported PMEM API functions and takes an argument that has the __pmem
annotation, so I believe it should be:

arch_wb_cache_pmem(addr, size);

Without this I think you'll get a sparse warning.

This will be fixed up in the next version of my series which build upon Dan's
patches.

_______________________________________________
xfs mailing list
xfs@oss.sgi.com
http://oss.sgi.com/mailman/listinfo/xfs

  reply	other threads:[~2015-12-23  0:00 UTC|newest]

Thread overview: 73+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-12-19  5:22 [PATCH v5 0/7] DAX fsync/msync support Ross Zwisler
2015-12-19  5:22 ` Ross Zwisler
2015-12-19  5:22 ` Ross Zwisler
2015-12-19  5:22 ` [PATCH v5 1/7] pmem: add wb_cache_pmem() to the PMEM API Ross Zwisler
2015-12-19  5:22   ` Ross Zwisler
2015-12-19  5:22   ` Ross Zwisler
2015-12-22 22:44   ` Andrew Morton
2015-12-22 22:44     ` Andrew Morton
2015-12-22 22:44     ` Andrew Morton
2015-12-23  0:00     ` Ross Zwisler [this message]
2015-12-23  0:00       ` Ross Zwisler
2015-12-23  0:00       ` Ross Zwisler
2015-12-19  5:22 ` [PATCH v5 2/7] dax: support dirty DAX entries in radix tree Ross Zwisler
2015-12-19  5:22   ` Ross Zwisler
2015-12-19  5:22   ` Ross Zwisler
2015-12-21 17:15   ` Jan Kara
2015-12-21 17:15     ` Jan Kara
2015-12-21 17:15     ` Jan Kara
2015-12-21 17:15     ` Jan Kara
2015-12-21 17:45     ` Ross Zwisler
2015-12-21 17:45       ` Ross Zwisler
2015-12-21 17:45       ` Ross Zwisler
2015-12-22 22:46   ` Andrew Morton
2015-12-22 22:46     ` Andrew Morton
2015-12-22 22:46     ` Andrew Morton
2015-12-23  0:16     ` Ross Zwisler
2015-12-23  0:16       ` Ross Zwisler
2015-12-23  0:16       ` Ross Zwisler
2015-12-19  5:22 ` [PATCH v5 3/7] mm: add find_get_entries_tag() Ross Zwisler
2015-12-19  5:22   ` Ross Zwisler
2015-12-19  5:22   ` Ross Zwisler
2015-12-22 22:46   ` Andrew Morton
2015-12-22 22:46     ` Andrew Morton
2015-12-22 22:46     ` Andrew Morton
2015-12-19  5:22 ` [PATCH v5 4/7] dax: add support for fsync/sync Ross Zwisler
2015-12-19  5:22   ` Ross Zwisler
2015-12-19  5:22   ` Ross Zwisler
2015-12-19 18:37   ` Dan Williams
2015-12-19 18:37     ` Dan Williams
2015-12-19 18:37     ` Dan Williams
2015-12-21 17:05     ` Ross Zwisler
2015-12-21 17:05       ` Ross Zwisler
2015-12-21 17:05       ` Ross Zwisler
2015-12-21 17:49       ` Dan Williams
2015-12-21 17:49         ` Dan Williams
2015-12-21 17:49         ` Dan Williams
2015-12-21 17:49         ` Dan Williams
2015-12-21 19:27       ` Dan Williams
2015-12-21 19:27         ` Dan Williams
2015-12-21 19:27         ` Dan Williams
2015-12-21 19:27         ` Dan Williams
2015-12-22 22:46   ` Andrew Morton
2015-12-22 22:46     ` Andrew Morton
2015-12-22 22:46     ` Andrew Morton
2015-12-22 23:51     ` Ross Zwisler
2015-12-22 23:51       ` Ross Zwisler
2015-12-22 23:51       ` Ross Zwisler
2015-12-19  5:22 ` [PATCH v5 5/7] ext2: call dax_pfn_mkwrite() for DAX fsync/msync Ross Zwisler
2015-12-19  5:22   ` Ross Zwisler
2015-12-19  5:22   ` Ross Zwisler
2015-12-21 17:32   ` Jan Kara
2015-12-21 17:32     ` Jan Kara
2015-12-21 17:32     ` Jan Kara
2015-12-21 17:32     ` Jan Kara
2015-12-19  5:22 ` [PATCH v5 6/7] ext4: " Ross Zwisler
2015-12-19  5:22   ` Ross Zwisler
2015-12-19  5:22   ` Ross Zwisler
2015-12-21 17:32   ` Jan Kara
2015-12-21 17:32     ` Jan Kara
2015-12-21 17:32     ` Jan Kara
2015-12-19  5:22 ` [PATCH v5 7/7] xfs: " Ross Zwisler
2015-12-19  5:22   ` Ross Zwisler
2015-12-19  5:22   ` Ross Zwisler

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=20151223000010.GB24124@linux.intel.com \
    --to=ross.zwisler@linux.intel.com \
    --cc=adilger.kernel@dilger.ca \
    --cc=akpm@linux-foundation.org \
    --cc=bfields@fieldses.org \
    --cc=dan.j.williams@intel.com \
    --cc=dave.hansen@linux.intel.com \
    --cc=david@fromorbit.com \
    --cc=hpa@zytor.com \
    --cc=jack@suse.com \
    --cc=jlayton@poochiereds.net \
    --cc=linux-ext4@vger.kernel.org \
    --cc=linux-fsdevel@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-mm@kvack.org \
    --cc=linux-nvdimm@ml01.01.org \
    --cc=matthew.r.wilcox@intel.com \
    --cc=mingo@redhat.com \
    --cc=tglx@linutronix.de \
    --cc=tytso@mit.edu \
    --cc=viro@zeniv.linux.org.uk \
    --cc=willy@linux.intel.com \
    --cc=x86@kernel.org \
    --cc=xfs@oss.sgi.com \
    /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.