All of lore.kernel.org
 help / color / mirror / Atom feed
From: Jason Gunthorpe <jgg@nvidia.com>
To: "Thomas Hellström (Intel)" <thomas_os@shipmail.org>,
	dri-devel@lists.freedesktop.org,
	"Christian Koenig" <christian.koenig@amd.com>,
	"David Airlie" <airlied@linux.ie>,
	"Andrew Morton" <akpm@linux-foundation.org>,
	linux-mm@kvack.org, linux-kernel@vger.kernel.org
Subject: Re: [RFC PATCH 2/2] mm,drm/ttm: Use VM_PFNMAP for TTM vmas
Date: Tue, 23 Mar 2021 11:04:45 -0300	[thread overview]
Message-ID: <20210323140445.GF2356281@nvidia.com> (raw)
In-Reply-To: <YFnVTIGKBFnlsGxF@phenom.ffwll.local>

On Tue, Mar 23, 2021 at 12:47:24PM +0100, Daniel Vetter wrote:

> > +static inline bool is_cow_mapping(vm_flags_t flags)
> 
> Bit a bikeshed, but I wonder whether the public interface shouldn't be
> vma_is_cow_mapping. Or whether this shouldn't be rejected somewhere else,
> since at least in drivers/gpu we have tons of cases that don't check for
> this and get it all kinds of wrong I think.
> 
> remap_pfn_range handles this for many cases, but by far not for all.
> 
> Anyway patch itself lgtm:
> 
> Reviewed-by: Daniel Vetter <daniel.vetter@ffwll.ch>

I would like it if io_remap_pfn_range() did not allow shared mappings
at all.

IIRC it doesn't work anyway, the kernel can't reliably copy from IO
pages eg the "_copy_from_user_inatomic()" under cow_user_page() will
not work on s390 that requires all IO memory be accessed with special
instructions.

Unfortunately I have no idea what the long ago special case of
allowing COW'd IO mappings is. :\

Jason
_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel

WARNING: multiple messages have this Message-ID (diff)
From: Jason Gunthorpe <jgg@nvidia.com>
To: "Thomas Hellström (Intel)" <thomas_os@shipmail.org>,
	dri-devel@lists.freedesktop.org,
	"Christian Koenig" <christian.koenig@amd.com>,
	"David Airlie" <airlied@linux.ie>,
	"Andrew Morton" <akpm@linux-foundation.org>,
	linux-mm@kvack.org, linux-kernel@vger.kernel.org
Subject: Re: [RFC PATCH 2/2] mm,drm/ttm: Use VM_PFNMAP for TTM vmas
Date: Tue, 23 Mar 2021 11:04:45 -0300	[thread overview]
Message-ID: <20210323140445.GF2356281@nvidia.com> (raw)
In-Reply-To: <YFnVTIGKBFnlsGxF@phenom.ffwll.local>

On Tue, Mar 23, 2021 at 12:47:24PM +0100, Daniel Vetter wrote:

> > +static inline bool is_cow_mapping(vm_flags_t flags)
> 
> Bit a bikeshed, but I wonder whether the public interface shouldn't be
> vma_is_cow_mapping. Or whether this shouldn't be rejected somewhere else,
> since at least in drivers/gpu we have tons of cases that don't check for
> this and get it all kinds of wrong I think.
> 
> remap_pfn_range handles this for many cases, but by far not for all.
> 
> Anyway patch itself lgtm:
> 
> Reviewed-by: Daniel Vetter <daniel.vetter@ffwll.ch>

I would like it if io_remap_pfn_range() did not allow shared mappings
at all.

IIRC it doesn't work anyway, the kernel can't reliably copy from IO
pages eg the "_copy_from_user_inatomic()" under cow_user_page() will
not work on s390 that requires all IO memory be accessed with special
instructions.

Unfortunately I have no idea what the long ago special case of
allowing COW'd IO mappings is. :\

Jason


  reply	other threads:[~2021-03-23 14:04 UTC|newest]

Thread overview: 127+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-03-21 18:45 [RFC PATCH 0/2] mm,drm/ttm: Always block GUP to TTM pages Thomas Hellström (Intel)
2021-03-21 18:45 ` Thomas Hellström (Intel)
2021-03-21 18:45 ` [RFC PATCH 1/2] mm,drm/ttm: Block fast GUP to TTM huge pages Thomas Hellström (Intel)
2021-03-21 18:45   ` Thomas Hellström (Intel)
2021-03-23 11:34   ` Daniel Vetter
2021-03-23 11:34     ` Daniel Vetter
2021-03-23 16:34     ` Thomas Hellström (Intel)
2021-03-23 16:34       ` Thomas Hellström (Intel)
2021-03-23 16:37       ` Jason Gunthorpe
2021-03-23 16:37         ` Jason Gunthorpe
2021-03-23 16:59         ` Christoph Hellwig
2021-03-23 17:06         ` Thomas Hellström (Intel)
2021-03-23 17:06           ` Thomas Hellström (Intel)
2021-03-24  9:56           ` Daniel Vetter
2021-03-24  9:56             ` Daniel Vetter
2021-03-24 12:24             ` Jason Gunthorpe
2021-03-24 12:24               ` Jason Gunthorpe
2021-03-24 12:35               ` Thomas Hellström (Intel)
2021-03-24 12:35                 ` Thomas Hellström (Intel)
2021-03-24 12:41                 ` Jason Gunthorpe
2021-03-24 12:41                   ` Jason Gunthorpe
2021-03-24 13:35                   ` Thomas Hellström (Intel)
2021-03-24 13:35                     ` Thomas Hellström (Intel)
2021-03-24 13:48                     ` Jason Gunthorpe
2021-03-24 13:48                       ` Jason Gunthorpe
2021-03-24 15:50                       ` Thomas Hellström (Intel)
2021-03-24 15:50                         ` Thomas Hellström (Intel)
2021-03-24 16:38                         ` Jason Gunthorpe
2021-03-24 16:38                           ` Jason Gunthorpe
2021-03-24 18:31                           ` Christian König
2021-03-24 18:31                             ` Christian König
2021-03-24 20:07                             ` Thomas Hellström (Intel)
2021-03-24 20:07                               ` Thomas Hellström (Intel)
2021-03-24 23:14                               ` Jason Gunthorpe
2021-03-24 23:14                                 ` Jason Gunthorpe
2021-03-25  7:48                                 ` Thomas Hellström (Intel)
2021-03-25  7:48                                   ` Thomas Hellström (Intel)
2021-03-25  8:27                                   ` Christian König
2021-03-25  8:27                                     ` Christian König
2021-03-25  9:51                                     ` Thomas Hellström (Intel)
2021-03-25  9:51                                       ` Thomas Hellström (Intel)
2021-03-25 11:30                                       ` Jason Gunthorpe
2021-03-25 11:30                                         ` Jason Gunthorpe
2021-03-25 11:53                                         ` Thomas Hellström (Intel)
2021-03-25 11:53                                           ` Thomas Hellström (Intel)
2021-03-25 12:01                                           ` Jason Gunthorpe
2021-03-25 12:01                                             ` Jason Gunthorpe
2021-03-25 12:09                                             ` Christian König
2021-03-25 12:09                                               ` Christian König
2021-03-25 12:36                                               ` Thomas Hellström (Intel)
2021-03-25 12:36                                                 ` Thomas Hellström (Intel)
2021-03-25 13:02                                                 ` Christian König
2021-03-25 13:02                                                   ` Christian König
2021-03-25 13:31                                                   ` Thomas Hellström (Intel)
2021-03-25 13:31                                                     ` Thomas Hellström (Intel)
2021-03-25 12:42                                               ` Jason Gunthorpe
2021-03-25 12:42                                                 ` Jason Gunthorpe
2021-03-25 13:05                                                 ` Christian König
2021-03-25 13:05                                                   ` Christian König
2021-03-25 13:17                                                   ` Jason Gunthorpe
2021-03-25 13:17                                                     ` Jason Gunthorpe
2021-03-25 13:26                                                     ` Christian König
2021-03-25 13:26                                                       ` Christian König
2021-03-25 13:33                                                       ` Jason Gunthorpe
2021-03-25 13:33                                                         ` Jason Gunthorpe
2021-03-25 13:54                                                         ` Christian König
2021-03-25 13:54                                                           ` Christian König
2021-03-25 13:56                                                           ` Jason Gunthorpe
2021-03-25 13:56                                                             ` Jason Gunthorpe
2021-03-25  7:49                                 ` Christian König
2021-03-25  7:49                                   ` Christian König
2021-03-25  9:41                                   ` Daniel Vetter
2021-03-25  9:41                                     ` Daniel Vetter
2021-03-23 13:52   ` Jason Gunthorpe
2021-03-23 13:52     ` Jason Gunthorpe
2021-03-23 15:05     ` Thomas Hellström (Intel)
2021-03-23 15:05       ` Thomas Hellström (Intel)
2021-03-23 19:52   ` Williams, Dan J
2021-03-23 19:52     ` Williams, Dan J
2021-03-23 20:42     ` Thomas Hellström (Intel)
2021-03-23 20:42       ` Thomas Hellström (Intel)
2021-03-24  9:58       ` Daniel Vetter
2021-03-24  9:58         ` Daniel Vetter
2021-03-24 10:05         ` Thomas Hellström (Intel)
2021-03-24 10:05           ` Thomas Hellström (Intel)
2021-03-24 16:34           ` Dave Hansen
2021-03-24 16:34             ` Dave Hansen
2021-03-24 20:22             ` Thomas Hellström (Intel)
2021-03-24 20:22               ` Thomas Hellström (Intel)
2021-03-24 20:25               ` Dave Hansen
2021-03-24 20:25                 ` Dave Hansen
2021-03-25 17:51                 ` Thomas Hellström (Intel)
2021-03-25 17:51                   ` Thomas Hellström (Intel)
2021-03-25 17:55                   ` Jason Gunthorpe
2021-03-25 17:55                     ` Jason Gunthorpe
2021-03-25 18:13                     ` Thomas Hellström (Intel)
2021-03-25 18:13                       ` Thomas Hellström (Intel)
2021-03-25 18:24                       ` Jason Gunthorpe
2021-03-25 18:24                         ` Jason Gunthorpe
2021-03-25 18:42                         ` Thomas Hellström (Intel)
2021-03-25 18:42                           ` Thomas Hellström (Intel)
2021-03-26  9:08                         ` Thomas Hellström (Intel)
2021-03-26  9:08                           ` Thomas Hellström (Intel)
2021-03-26 11:46                           ` Jason Gunthorpe
2021-03-26 11:46                             ` Jason Gunthorpe
2021-03-26 12:33                             ` Thomas Hellström (Intel)
2021-03-26 12:33                               ` Thomas Hellström (Intel)
2021-03-21 18:45 ` [RFC PATCH 2/2] mm,drm/ttm: Use VM_PFNMAP for TTM vmas Thomas Hellström (Intel)
2021-03-21 18:45   ` Thomas Hellström (Intel)
2021-03-22  7:47   ` Christian König
2021-03-22  7:47     ` Christian König
2021-03-22  8:13     ` Thomas Hellström (Intel)
2021-03-22  8:13       ` Thomas Hellström (Intel)
2021-03-23 11:57       ` Christian König
2021-03-23 11:57         ` Christian König
2021-03-23 11:47   ` Daniel Vetter
2021-03-23 11:47     ` Daniel Vetter
2021-03-23 14:04     ` Jason Gunthorpe [this message]
2021-03-23 14:04       ` Jason Gunthorpe
2021-03-23 15:51       ` Thomas Hellström (Intel)
2021-03-23 15:51         ` Thomas Hellström (Intel)
2021-03-23 14:00   ` Jason Gunthorpe
2021-03-23 14:00     ` Jason Gunthorpe
2021-03-23 15:46     ` Thomas Hellström (Intel)
2021-03-23 15:46       ` Thomas Hellström (Intel)
2021-03-23 16:06       ` Jason Gunthorpe
2021-03-23 16:06         ` 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=20210323140445.GF2356281@nvidia.com \
    --to=jgg@nvidia.com \
    --cc=airlied@linux.ie \
    --cc=akpm@linux-foundation.org \
    --cc=christian.koenig@amd.com \
    --cc=dri-devel@lists.freedesktop.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-mm@kvack.org \
    --cc=thomas_os@shipmail.org \
    /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.