From: Jan Kara <jack@suse.cz>
To: Ross Zwisler <ross.zwisler@linux.intel.com>
Cc: linux-kernel@vger.kernel.org, Theodore Ts'o <tytso@mit.edu>,
Alexander Viro <viro@zeniv.linux.org.uk>,
Andreas Dilger <adilger.kernel@dilger.ca>,
Andrew Morton <akpm@linux-foundation.org>,
Christoph Hellwig <hch@lst.de>,
Dan Williams <dan.j.williams@intel.com>,
Dave Chinner <david@fromorbit.com>, Jan Kara <jack@suse.cz>,
Matthew Wilcox <mawilcox@microsoft.com>,
linux-ext4@vger.kernel.org, linux-fsdevel@vger.kernel.org,
linux-mm@kvack.org, linux-nvdimm@lists.01.org,
linux-xfs@vger.kernel.org
Subject: Re: [PATCH v6 14/17] dax: move put_(un)locked_mapping_entry() in dax.c
Date: Thu, 13 Oct 2016 17:11:49 +0200 [thread overview]
Message-ID: <20161013151149.GA30680@quack2.suse.cz> (raw)
In-Reply-To: <20161012225022.15507-15-ross.zwisler@linux.intel.com>
On Wed 12-10-16 16:50:19, Ross Zwisler wrote:
> No functional change.
>
> The static functions put_locked_mapping_entry() and
> put_unlocked_mapping_entry() will soon be used in error cases in
> grab_mapping_entry(), so move their definitions above this function.
>
> Signed-off-by: Ross Zwisler <ross.zwisler@linux.intel.com>
Looks good. You can add:
Reviewed-by: Jan Kara <jack@suse.cz>
Honza
> ---
> fs/dax.c | 50 +++++++++++++++++++++++++-------------------------
> 1 file changed, 25 insertions(+), 25 deletions(-)
>
> diff --git a/fs/dax.c b/fs/dax.c
> index c45cc4d..0582c7c 100644
> --- a/fs/dax.c
> +++ b/fs/dax.c
> @@ -382,6 +382,31 @@ static void *get_unlocked_mapping_entry(struct address_space *mapping,
> }
> }
>
> +static void put_locked_mapping_entry(struct address_space *mapping,
> + pgoff_t index, void *entry)
> +{
> + if (!radix_tree_exceptional_entry(entry)) {
> + unlock_page(entry);
> + put_page(entry);
> + } else {
> + dax_unlock_mapping_entry(mapping, index);
> + }
> +}
> +
> +/*
> + * Called when we are done with radix tree entry we looked up via
> + * get_unlocked_mapping_entry() and which we didn't lock in the end.
> + */
> +static void put_unlocked_mapping_entry(struct address_space *mapping,
> + pgoff_t index, void *entry)
> +{
> + if (!radix_tree_exceptional_entry(entry))
> + return;
> +
> + /* We have to wake up next waiter for the radix tree entry lock */
> + dax_wake_mapping_entry_waiter(mapping, index, entry, false);
> +}
> +
> /*
> * Find radix tree entry at given index. If it points to a page, return with
> * the page locked. If it points to the exceptional entry, return with the
> @@ -486,31 +511,6 @@ void dax_unlock_mapping_entry(struct address_space *mapping, pgoff_t index)
> dax_wake_mapping_entry_waiter(mapping, index, entry, false);
> }
>
> -static void put_locked_mapping_entry(struct address_space *mapping,
> - pgoff_t index, void *entry)
> -{
> - if (!radix_tree_exceptional_entry(entry)) {
> - unlock_page(entry);
> - put_page(entry);
> - } else {
> - dax_unlock_mapping_entry(mapping, index);
> - }
> -}
> -
> -/*
> - * Called when we are done with radix tree entry we looked up via
> - * get_unlocked_mapping_entry() and which we didn't lock in the end.
> - */
> -static void put_unlocked_mapping_entry(struct address_space *mapping,
> - pgoff_t index, void *entry)
> -{
> - if (!radix_tree_exceptional_entry(entry))
> - return;
> -
> - /* We have to wake up next waiter for the radix tree entry lock */
> - dax_wake_mapping_entry_waiter(mapping, index, entry, false);
> -}
> -
> /*
> * Delete exceptional DAX entry at @index from @mapping. Wait for radix tree
> * entry to get unlocked before deleting it.
> --
> 2.9.0
>
--
Jan Kara <jack@suse.com>
SUSE Labs, CR
--
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: Jan Kara <jack@suse.cz>
To: Ross Zwisler <ross.zwisler@linux.intel.com>
Cc: linux-kernel@vger.kernel.org, Theodore Ts'o <tytso@mit.edu>,
Alexander Viro <viro@zeniv.linux.org.uk>,
Andreas Dilger <adilger.kernel@dilger.ca>,
Andrew Morton <akpm@linux-foundation.org>,
Christoph Hellwig <hch@lst.de>,
Dan Williams <dan.j.williams@intel.com>,
Dave Chinner <david@fromorbit.com>, Jan Kara <jack@suse.cz>,
Matthew Wilcox <mawilcox@microsoft.com>,
linux-ext4@vger.kernel.org, linux-fsdevel@vger.kernel.org,
linux-mm@kvack.org, linux-nvdimm@lists.01.org,
linux-xfs@vger.kernel.org
Subject: Re: [PATCH v6 14/17] dax: move put_(un)locked_mapping_entry() in dax.c
Date: Thu, 13 Oct 2016 17:11:49 +0200 [thread overview]
Message-ID: <20161013151149.GA30680@quack2.suse.cz> (raw)
In-Reply-To: <20161012225022.15507-15-ross.zwisler@linux.intel.com>
On Wed 12-10-16 16:50:19, Ross Zwisler wrote:
> No functional change.
>
> The static functions put_locked_mapping_entry() and
> put_unlocked_mapping_entry() will soon be used in error cases in
> grab_mapping_entry(), so move their definitions above this function.
>
> Signed-off-by: Ross Zwisler <ross.zwisler@linux.intel.com>
Looks good. You can add:
Reviewed-by: Jan Kara <jack@suse.cz>
Honza
> ---
> fs/dax.c | 50 +++++++++++++++++++++++++-------------------------
> 1 file changed, 25 insertions(+), 25 deletions(-)
>
> diff --git a/fs/dax.c b/fs/dax.c
> index c45cc4d..0582c7c 100644
> --- a/fs/dax.c
> +++ b/fs/dax.c
> @@ -382,6 +382,31 @@ static void *get_unlocked_mapping_entry(struct address_space *mapping,
> }
> }
>
> +static void put_locked_mapping_entry(struct address_space *mapping,
> + pgoff_t index, void *entry)
> +{
> + if (!radix_tree_exceptional_entry(entry)) {
> + unlock_page(entry);
> + put_page(entry);
> + } else {
> + dax_unlock_mapping_entry(mapping, index);
> + }
> +}
> +
> +/*
> + * Called when we are done with radix tree entry we looked up via
> + * get_unlocked_mapping_entry() and which we didn't lock in the end.
> + */
> +static void put_unlocked_mapping_entry(struct address_space *mapping,
> + pgoff_t index, void *entry)
> +{
> + if (!radix_tree_exceptional_entry(entry))
> + return;
> +
> + /* We have to wake up next waiter for the radix tree entry lock */
> + dax_wake_mapping_entry_waiter(mapping, index, entry, false);
> +}
> +
> /*
> * Find radix tree entry at given index. If it points to a page, return with
> * the page locked. If it points to the exceptional entry, return with the
> @@ -486,31 +511,6 @@ void dax_unlock_mapping_entry(struct address_space *mapping, pgoff_t index)
> dax_wake_mapping_entry_waiter(mapping, index, entry, false);
> }
>
> -static void put_locked_mapping_entry(struct address_space *mapping,
> - pgoff_t index, void *entry)
> -{
> - if (!radix_tree_exceptional_entry(entry)) {
> - unlock_page(entry);
> - put_page(entry);
> - } else {
> - dax_unlock_mapping_entry(mapping, index);
> - }
> -}
> -
> -/*
> - * Called when we are done with radix tree entry we looked up via
> - * get_unlocked_mapping_entry() and which we didn't lock in the end.
> - */
> -static void put_unlocked_mapping_entry(struct address_space *mapping,
> - pgoff_t index, void *entry)
> -{
> - if (!radix_tree_exceptional_entry(entry))
> - return;
> -
> - /* We have to wake up next waiter for the radix tree entry lock */
> - dax_wake_mapping_entry_waiter(mapping, index, entry, false);
> -}
> -
> /*
> * Delete exceptional DAX entry at @index from @mapping. Wait for radix tree
> * entry to get unlocked before deleting it.
> --
> 2.9.0
>
--
Jan Kara <jack@suse.com>
SUSE Labs, CR
WARNING: multiple messages have this Message-ID (diff)
From: Jan Kara <jack@suse.cz>
To: Ross Zwisler <ross.zwisler@linux.intel.com>
Cc: linux-kernel@vger.kernel.org, "Theodore Ts'o" <tytso@mit.edu>,
Alexander Viro <viro@zeniv.linux.org.uk>,
Andreas Dilger <adilger.kernel@dilger.ca>,
Andrew Morton <akpm@linux-foundation.org>,
Christoph Hellwig <hch@lst.de>,
Dan Williams <dan.j.williams@intel.com>,
Dave Chinner <david@fromorbit.com>, Jan Kara <jack@suse.cz>,
Matthew Wilcox <mawilcox@microsoft.com>,
linux-ext4@vger.kernel.org, linux-fsdevel@vger.kernel.org,
linux-mm@kvack.org, linux-nvdimm@ml01.01.org,
linux-xfs@vger.kernel.org
Subject: Re: [PATCH v6 14/17] dax: move put_(un)locked_mapping_entry() in dax.c
Date: Thu, 13 Oct 2016 17:11:49 +0200 [thread overview]
Message-ID: <20161013151149.GA30680@quack2.suse.cz> (raw)
In-Reply-To: <20161012225022.15507-15-ross.zwisler@linux.intel.com>
On Wed 12-10-16 16:50:19, Ross Zwisler wrote:
> No functional change.
>
> The static functions put_locked_mapping_entry() and
> put_unlocked_mapping_entry() will soon be used in error cases in
> grab_mapping_entry(), so move their definitions above this function.
>
> Signed-off-by: Ross Zwisler <ross.zwisler@linux.intel.com>
Looks good. You can add:
Reviewed-by: Jan Kara <jack@suse.cz>
Honza
> ---
> fs/dax.c | 50 +++++++++++++++++++++++++-------------------------
> 1 file changed, 25 insertions(+), 25 deletions(-)
>
> diff --git a/fs/dax.c b/fs/dax.c
> index c45cc4d..0582c7c 100644
> --- a/fs/dax.c
> +++ b/fs/dax.c
> @@ -382,6 +382,31 @@ static void *get_unlocked_mapping_entry(struct address_space *mapping,
> }
> }
>
> +static void put_locked_mapping_entry(struct address_space *mapping,
> + pgoff_t index, void *entry)
> +{
> + if (!radix_tree_exceptional_entry(entry)) {
> + unlock_page(entry);
> + put_page(entry);
> + } else {
> + dax_unlock_mapping_entry(mapping, index);
> + }
> +}
> +
> +/*
> + * Called when we are done with radix tree entry we looked up via
> + * get_unlocked_mapping_entry() and which we didn't lock in the end.
> + */
> +static void put_unlocked_mapping_entry(struct address_space *mapping,
> + pgoff_t index, void *entry)
> +{
> + if (!radix_tree_exceptional_entry(entry))
> + return;
> +
> + /* We have to wake up next waiter for the radix tree entry lock */
> + dax_wake_mapping_entry_waiter(mapping, index, entry, false);
> +}
> +
> /*
> * Find radix tree entry at given index. If it points to a page, return with
> * the page locked. If it points to the exceptional entry, return with the
> @@ -486,31 +511,6 @@ void dax_unlock_mapping_entry(struct address_space *mapping, pgoff_t index)
> dax_wake_mapping_entry_waiter(mapping, index, entry, false);
> }
>
> -static void put_locked_mapping_entry(struct address_space *mapping,
> - pgoff_t index, void *entry)
> -{
> - if (!radix_tree_exceptional_entry(entry)) {
> - unlock_page(entry);
> - put_page(entry);
> - } else {
> - dax_unlock_mapping_entry(mapping, index);
> - }
> -}
> -
> -/*
> - * Called when we are done with radix tree entry we looked up via
> - * get_unlocked_mapping_entry() and which we didn't lock in the end.
> - */
> -static void put_unlocked_mapping_entry(struct address_space *mapping,
> - pgoff_t index, void *entry)
> -{
> - if (!radix_tree_exceptional_entry(entry))
> - return;
> -
> - /* We have to wake up next waiter for the radix tree entry lock */
> - dax_wake_mapping_entry_waiter(mapping, index, entry, false);
> -}
> -
> /*
> * Delete exceptional DAX entry at @index from @mapping. Wait for radix tree
> * entry to get unlocked before deleting it.
> --
> 2.9.0
>
--
Jan Kara <jack@suse.com>
SUSE Labs, CR
next prev parent reply other threads:[~2016-10-13 15:11 UTC|newest]
Thread overview: 126+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-10-12 22:50 [PATCH v6 00/17] re-enable DAX PMD support Ross Zwisler
2016-10-12 22:50 ` Ross Zwisler
2016-10-12 22:50 ` Ross Zwisler
2016-10-12 22:50 ` Ross Zwisler
2016-10-12 22:50 ` Ross Zwisler
2016-10-12 22:50 ` [PATCH v6 05/17] dax: make 'wait_table' global variable static Ross Zwisler
2016-10-12 22:50 ` Ross Zwisler
2016-10-12 22:50 ` Ross Zwisler
2016-10-12 22:50 ` Ross Zwisler
2016-10-12 22:50 ` [PATCH v6 06/17] dax: remove the last BUG_ON() from fs/dax.c Ross Zwisler
2016-10-12 22:50 ` Ross Zwisler
2016-10-12 22:50 ` Ross Zwisler
2016-10-12 22:50 ` Ross Zwisler
[not found] ` <20161012225022.15507-1-ross.zwisler-VuQAYsv1563Yd54FQh9/CA@public.gmane.org>
2016-10-12 22:50 ` [PATCH v6 01/17] ext4: allow DAX writeback for hole punch Ross Zwisler
2016-10-12 22:50 ` Ross Zwisler
2016-10-12 22:50 ` Ross Zwisler
2016-10-12 22:50 ` Ross Zwisler
2016-10-12 22:50 ` Ross Zwisler
2016-10-12 22:50 ` [PATCH v6 02/17] ext4: tell DAX the size of allocation holes Ross Zwisler
2016-10-12 22:50 ` Ross Zwisler
2016-10-12 22:50 ` Ross Zwisler
2016-10-12 22:50 ` Ross Zwisler
2016-10-12 22:50 ` [PATCH v6 03/17] dax: remove buffer_size_valid() Ross Zwisler
2016-10-12 22:50 ` Ross Zwisler
2016-10-12 22:50 ` Ross Zwisler
2016-10-12 22:50 ` Ross Zwisler
2016-10-12 22:50 ` Ross Zwisler
2016-10-12 22:50 ` [PATCH v6 04/17] ext2: remove support for DAX PMD faults Ross Zwisler
2016-10-12 22:50 ` Ross Zwisler
2016-10-12 22:50 ` Ross Zwisler
2016-10-12 22:50 ` Ross Zwisler
2016-10-12 22:50 ` Ross Zwisler
2016-10-12 22:50 ` [PATCH v6 07/17] dax: consistent variable naming for DAX entries Ross Zwisler
2016-10-12 22:50 ` Ross Zwisler
2016-10-12 22:50 ` Ross Zwisler
2016-10-12 22:50 ` Ross Zwisler
2016-10-12 22:50 ` Ross Zwisler
2016-10-12 22:50 ` [PATCH v6 08/17] dax: coordinate locking for offsets in PMD range Ross Zwisler
2016-10-12 22:50 ` Ross Zwisler
2016-10-12 22:50 ` Ross Zwisler
2016-10-12 22:50 ` Ross Zwisler
2016-10-12 22:50 ` Ross Zwisler
2016-10-12 22:50 ` [PATCH v6 09/17] dax: remove dax_pmd_fault() Ross Zwisler
2016-10-12 22:50 ` Ross Zwisler
2016-10-12 22:50 ` Ross Zwisler
2016-10-12 22:50 ` Ross Zwisler
2016-10-12 22:50 ` Ross Zwisler
2016-10-12 22:50 ` [PATCH v6 10/17] dax: correct dax iomap code namespace Ross Zwisler
2016-10-12 22:50 ` Ross Zwisler
2016-10-12 22:50 ` Ross Zwisler
2016-10-12 22:50 ` Ross Zwisler
2016-10-12 22:50 ` Ross Zwisler
2016-10-12 22:50 ` [PATCH v6 11/17] dax: add dax_iomap_sector() helper function Ross Zwisler
2016-10-12 22:50 ` Ross Zwisler
2016-10-12 22:50 ` Ross Zwisler
2016-10-12 22:50 ` Ross Zwisler
2016-10-12 22:50 ` Ross Zwisler
2016-10-12 22:50 ` [PATCH v6 12/17] dax: dax_iomap_fault() needs to call iomap_end() Ross Zwisler
2016-10-12 22:50 ` Ross Zwisler
2016-10-12 22:50 ` Ross Zwisler
2016-10-12 22:50 ` Ross Zwisler
2016-10-12 22:50 ` Ross Zwisler
2016-10-12 22:50 ` [PATCH v6 13/17] dax: move RADIX_DAX_* defines to dax.h Ross Zwisler
2016-10-12 22:50 ` Ross Zwisler
2016-10-12 22:50 ` Ross Zwisler
2016-10-12 22:50 ` Ross Zwisler
2016-10-12 22:50 ` Ross Zwisler
2016-10-12 22:50 ` [PATCH v6 14/17] dax: move put_(un)locked_mapping_entry() in dax.c Ross Zwisler
2016-10-12 22:50 ` Ross Zwisler
2016-10-12 22:50 ` Ross Zwisler
2016-10-12 22:50 ` Ross Zwisler
2016-10-12 22:50 ` Ross Zwisler
2016-10-13 15:11 ` Jan Kara [this message]
2016-10-13 15:11 ` Jan Kara
2016-10-13 15:11 ` Jan Kara
2016-10-12 22:50 ` [PATCH v6 15/17] dax: add struct iomap based DAX PMD support Ross Zwisler
2016-10-12 22:50 ` Ross Zwisler
2016-10-12 22:50 ` Ross Zwisler
2016-10-12 22:50 ` Ross Zwisler
2016-10-12 22:50 ` Ross Zwisler
[not found] ` <20161012225022.15507-16-ross.zwisler-VuQAYsv1563Yd54FQh9/CA@public.gmane.org>
2016-10-13 15:42 ` Jan Kara
2016-10-13 15:42 ` Jan Kara
2016-10-13 15:42 ` Jan Kara
2016-10-13 15:42 ` Jan Kara
2016-10-13 15:42 ` Jan Kara
2016-10-13 19:23 ` [PATCH v7 " Ross Zwisler
2016-10-13 19:23 ` Ross Zwisler
2016-10-13 19:23 ` Ross Zwisler
2016-10-13 19:23 ` Ross Zwisler
2016-10-17 6:06 ` Aneesh Kumar K.V
2016-10-17 6:06 ` Aneesh Kumar K.V
2016-10-17 6:06 ` Aneesh Kumar K.V
2016-10-17 6:06 ` Aneesh Kumar K.V
2016-10-17 6:06 ` Aneesh Kumar K.V
2016-10-17 14:55 ` Ross Zwisler
2016-10-17 14:55 ` Ross Zwisler
2016-10-17 14:55 ` Ross Zwisler
2016-10-17 14:55 ` Ross Zwisler
2016-10-13 19:25 ` [PATCH v6 " Ross Zwisler
2016-10-13 19:25 ` Ross Zwisler
2016-10-13 19:25 ` Ross Zwisler
2016-10-13 19:25 ` Ross Zwisler
2016-10-12 22:50 ` [PATCH v6 16/17] xfs: use struct iomap based DAX PMD fault path Ross Zwisler
2016-10-12 22:50 ` Ross Zwisler
2016-10-12 22:50 ` Ross Zwisler
2016-10-12 22:50 ` Ross Zwisler
2016-10-12 22:50 ` Ross Zwisler
2016-10-12 22:50 ` [PATCH v6 17/17] dax: remove "depends on BROKEN" from FS_DAX_PMD Ross Zwisler
2016-10-12 22:50 ` Ross Zwisler
2016-10-12 22:50 ` Ross Zwisler
2016-10-12 22:50 ` Ross Zwisler
2016-10-12 22:50 ` Ross Zwisler
[not found] ` <20161012225022.15507-18-ross.zwisler-VuQAYsv1563Yd54FQh9/CA@public.gmane.org>
2016-10-13 15:42 ` Jan Kara
2016-10-13 15:42 ` Jan Kara
2016-10-13 15:42 ` Jan Kara
2016-10-13 15:42 ` Jan Kara
2016-10-17 5:57 ` Aneesh Kumar K.V
2016-10-17 5:57 ` Aneesh Kumar K.V
2016-10-17 5:57 ` Aneesh Kumar K.V
2016-10-17 5:57 ` Aneesh Kumar K.V
2016-10-17 5:57 ` Aneesh Kumar K.V
2016-10-17 5:57 ` Aneesh Kumar K.V
[not found] ` <87eg3ftt4r.fsf-23VcF4HTsmIX0ybBhKVfKdBPR1lH4CV8@public.gmane.org>
2016-10-17 9:09 ` Jan Kara
2016-10-17 9:09 ` Jan Kara
2016-10-17 9:09 ` Jan Kara
2016-10-17 9:09 ` Jan Kara
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=20161013151149.GA30680@quack2.suse.cz \
--to=jack@suse.cz \
--cc=adilger.kernel@dilger.ca \
--cc=akpm@linux-foundation.org \
--cc=dan.j.williams@intel.com \
--cc=david@fromorbit.com \
--cc=hch@lst.de \
--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@lists.01.org \
--cc=linux-xfs@vger.kernel.org \
--cc=mawilcox@microsoft.com \
--cc=ross.zwisler@linux.intel.com \
--cc=tytso@mit.edu \
--cc=viro@zeniv.linux.org.uk \
/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.