linux-mm.kvack.org archive mirror
 help / color / mirror / Atom feed
From: Jason Gunthorpe <jgg@ziepe.ca>
To: Christoph Hellwig <hch@lst.de>
Cc: Jerome Glisse <jglisse@redhat.com>,
	Ralph Campbell <rcampbell@nvidia.com>,
	linux-mm@kvack.org
Subject: Re: [PATCH 4/5] mm: don't handle the non-fault case in hmm_vma_walk_hole_
Date: Mon, 16 Mar 2020 13:43:26 -0300	[thread overview]
Message-ID: <20200316164326.GE20941@ziepe.ca> (raw)
In-Reply-To: <20200316135310.899364-5-hch@lst.de>

On Mon, Mar 16, 2020 at 02:53:09PM +0100, Christoph Hellwig wrote:
> There is just a single caller using hmm_vma_walk_hole_ for the non-fault
> case.  Use hmm_pfns_fill to fill the whole pfn array with zeroes in only
> caller for the non-fault case and remove the non-fault path from
> hmm_vma_walk_hole_.
> 
> Also rename the function to hmm_vma_fault to better describe what it
> does.
> 
> Signed-off-by: Christoph Hellwig <hch@lst.de>
> ---
>  mm/hmm.c | 38 +++++++++++++++++++-------------------
>  1 file changed, 19 insertions(+), 19 deletions(-)

Ah, I did nearly the same in my the next series, I'm cooking:

https://github.com/jgunthorpe/linux/commit/078e10ca5919f2c263c245784fb5fe63ddbb61f4

But this can go first, I was probably going to break mine up anyhow.

> +               pfns[i] = range->values[HMM_PFN_NONE];

Since the function always returns -EBUSY now, it should not set an
output. This is an existing bug. Since there is no purpose now that
the caller does the fill, this patch should drop the above and have
the fixes line.

>  static inline void hmm_pte_need_fault(const struct hmm_vma_walk *hmm_vma_walk,
> @@ -193,7 +190,10 @@ static int hmm_vma_walk_hole(unsigned long addr, unsigned long end,
>  	pfns = &range->pfns[i];
>  	hmm_range_need_fault(hmm_vma_walk, pfns, npages,
>  			     0, &fault, &write_fault);
> -	return hmm_vma_walk_hole_(addr, end, fault, write_fault, walk);
> +	if (fault || write_fault)
> +		return hmm_vma_fault(addr, end, fault, write_fault, walk);
> +	hmm_vma_walk->last = addr;
> +	return hmm_pfns_fill(addr, end, range, HMM_PFN_NONE);

This is also the only caller of hmm_vma_fault() that could have
walk->vma == NULL, and NULL vma + a fault == -EFAULT

Jason


  reply	other threads:[~2020-03-16 16:43 UTC|newest]

Thread overview: 17+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-03-16 13:53 misc hmm cleanups Christoph Hellwig
2020-03-16 13:53 ` [PATCH 1/5] mm: don't provide a stub for hmm_range_fault Christoph Hellwig
2020-03-16 14:37   ` Zi Yan
2020-03-16 16:45   ` Jason Gunthorpe
2020-03-16 13:53 ` [PATCH 2/5] mm: remove the unused HMM_FAULT_ALLOW_RETRY flag Christoph Hellwig
2020-03-16 16:44   ` Jason Gunthorpe
2020-03-16 13:53 ` [PATCH 3/5] mm: simplify hmm_vma_walk_hugetlb_entry Christoph Hellwig
2020-03-16 16:43   ` Jason Gunthorpe
2020-03-16 13:53 ` [PATCH 4/5] mm: don't handle the non-fault case in hmm_vma_walk_hole_ Christoph Hellwig
2020-03-16 16:43   ` Jason Gunthorpe [this message]
2020-03-16 13:53 ` [PATCH 5/5] mm: merge hmm_vma_do_fault into into hmm_vma_walk_hole_ Christoph Hellwig
2020-03-16 16:41   ` Jason Gunthorpe
2020-03-16 16:51     ` Christoph Hellwig
2020-03-16 18:01       ` Christoph Hellwig
2020-03-17 18:38 ` misc hmm cleanups Jason Gunthorpe
2020-03-17 18:55   ` Christoph Hellwig
2020-03-19  0:27     ` Jason Gunthorpe

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=20200316164326.GE20941@ziepe.ca \
    --to=jgg@ziepe.ca \
    --cc=hch@lst.de \
    --cc=jglisse@redhat.com \
    --cc=linux-mm@kvack.org \
    --cc=rcampbell@nvidia.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;
as well as URLs for NNTP newsgroup(s).