From: Miaohe Lin <linmiaohe@huawei.com>
To: Shiyang Ruan <ruansy.fnst@fujitsu.com>
Cc: <djwong@kernel.org>, <dan.j.williams@intel.com>,
<david@fromorbit.com>, <hch@infradead.org>, <jane.chu@oracle.com>,
Christoph Hellwig <hch@lst.de>, <linux-kernel@vger.kernel.org>,
<linux-xfs@vger.kernel.org>, <nvdimm@lists.linux.dev>,
<linux-mm@kvack.org>, <linux-fsdevel@vger.kernel.org>
Subject: Re: [PATCH v13 5/7] mm: Introduce mf_dax_kill_procs() for fsdax case
Date: Thu, 21 Apr 2022 16:47:28 +0800 [thread overview]
Message-ID: <68579c32-268f-0431-72e9-d3d104bc10bf@huawei.com> (raw)
In-Reply-To: <20220419045045.1664996-6-ruansy.fnst@fujitsu.com>
On 2022/4/19 12:50, Shiyang Ruan wrote:
> This new function is a variant of mf_generic_kill_procs that accepts a
> file, offset pair instead of a struct to support multiple files sharing
> a DAX mapping. It is intended to be called by the file systems as part
> of the memory_failure handler after the file system performed a reverse
> mapping from the storage address to the file and file offset.
>
> Signed-off-by: Shiyang Ruan <ruansy.fnst@fujitsu.com>
> Reviewed-by: Dan Williams <dan.j.williams@intel.com>
> Reviewed-by: Christoph Hellwig <hch@lst.de>
> ---
...
>
> +#ifdef CONFIG_FS_DAX
> +/**
> + * mf_dax_kill_procs - Collect and kill processes who are using this file range
> + * @mapping: the file in use
> + * @index: start pgoff of the range within the file
Might replacing 'file' with 'mapping' or 'address_space within file' will be better?
> + * @count: length of the range, in unit of PAGE_SIZE
> + * @mf_flags: memory failure flags
> + */
> +int mf_dax_kill_procs(struct address_space *mapping, pgoff_t index,
> + unsigned long count, int mf_flags)
> +{
> + LIST_HEAD(to_kill);
> + dax_entry_t cookie;
> + struct page *page;
> + size_t end = index + count;
> +
> + mf_flags |= MF_ACTION_REQUIRED | MF_MUST_KILL;
> +
> + for (; index < end; index++) {
> + page = NULL;
> + cookie = dax_lock_mapping_entry(mapping, index, &page);
> + if (!cookie)
> + return -EBUSY;
> + if (!page)
> + goto unlock;
> +
Should we do hwpoison_filter here?
> + SetPageHWPoison(page);
> +
> + collect_procs_fsdax(page, mapping, index, &to_kill);
> + unmap_and_kill(&to_kill, page_to_pfn(page), mapping,
> + index, mf_flags);
> +unlock:
> + dax_unlock_mapping_entry(mapping, index, cookie);
> + }
> + return 0;
> +}
> +EXPORT_SYMBOL_GPL(mf_dax_kill_procs);
> +#endif /* CONFIG_FS_DAX */
> +
> /*
> * Called from hugetlb code with hugetlb_lock held.
> *
>
Except from the above nit, this patch looks good to me. Thanks!
Reviewed-by: Miaohe Lin <linmiaohe@huawei.com>
next prev parent reply other threads:[~2022-04-21 8:47 UTC|newest]
Thread overview: 36+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-04-19 4:50 [PATCH v13 0/7] fsdax: introduce fs query to support reflink Shiyang Ruan
2022-04-19 4:50 ` [PATCH v13 1/7] dax: Introduce holder for dax_device Shiyang Ruan
2022-04-20 17:42 ` Darrick J. Wong
2022-04-19 4:50 ` [PATCH v13 2/7] mm: factor helpers for memory_failure_dev_pagemap Shiyang Ruan
2022-04-21 6:13 ` HORIGUCHI NAOYA(堀口 直也)
2022-04-21 8:10 ` Shiyang Ruan
2022-04-21 8:12 ` Miaohe Lin
2022-04-19 4:50 ` [PATCH v13 3/7] pagemap,pmem: Introduce ->memory_failure() Shiyang Ruan
2022-04-20 17:45 ` Darrick J. Wong
2022-04-21 6:54 ` HORIGUCHI NAOYA(堀口 直也)
2022-04-21 8:24 ` Miaohe Lin
2022-04-22 7:06 ` Shiyang Ruan
2022-04-24 2:00 ` Miaohe Lin
2022-04-19 4:50 ` [PATCH v13 4/7] fsdax: Introduce dax_lock_mapping_entry() Shiyang Ruan
2022-04-20 17:53 ` Darrick J. Wong
2022-04-19 4:50 ` [PATCH v13 5/7] mm: Introduce mf_dax_kill_procs() for fsdax case Shiyang Ruan
2022-04-20 17:58 ` Darrick J. Wong
2022-04-21 8:47 ` Miaohe Lin [this message]
2022-04-21 12:50 ` HORIGUCHI NAOYA(堀口 直也)
2022-04-19 4:50 ` [PATCH v13 6/7] xfs: Implement ->notify_failure() for XFS Shiyang Ruan
2022-04-19 15:38 ` Darrick J. Wong
2022-04-20 7:33 ` [PATCH v13.1 " Shiyang Ruan
2022-04-20 17:30 ` Darrick J. Wong
2022-04-19 4:50 ` [PATCH v13 7/7] fsdax: set a CoW flag when associate reflink mappings Shiyang Ruan
2022-04-19 7:27 ` Christoph Hellwig
2022-04-20 17:35 ` Darrick J. Wong
2022-04-21 1:20 ` [PATCH v13 0/7] fsdax: introduce fs query to support reflink Dave Chinner
2022-04-21 1:48 ` Shiyang Ruan
2022-04-21 2:20 ` Dan Williams
2022-04-21 4:35 ` Dave Chinner
2022-04-21 5:47 ` HORIGUCHI NAOYA(堀口 直也)
2022-04-21 5:54 ` Christoph Hellwig
2022-04-21 7:46 ` Dave Chinner
2022-04-22 21:27 ` Dan Williams
2022-04-23 0:01 ` Dave Chinner
2022-04-23 17:32 ` Dan Williams
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=68579c32-268f-0431-72e9-d3d104bc10bf@huawei.com \
--to=linmiaohe@huawei.com \
--cc=dan.j.williams@intel.com \
--cc=david@fromorbit.com \
--cc=djwong@kernel.org \
--cc=hch@infradead.org \
--cc=hch@lst.de \
--cc=jane.chu@oracle.com \
--cc=linux-fsdevel@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mm@kvack.org \
--cc=linux-xfs@vger.kernel.org \
--cc=nvdimm@lists.linux.dev \
--cc=ruansy.fnst@fujitsu.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox