All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Thomas Hellström" <thomas.hellstrom@linux.intel.com>
To: "Matthew Auld" <matthew.auld@intel.com>,
	"Christian König" <christian.koenig@amd.com>,
	intel-gfx@lists.freedesktop.org
Cc: dri-devel@lists.freedesktop.org
Subject: Re: [Intel-gfx] [PATCH v3 06/12] drm/ttm: add TTM_PAGE_FLAG_EXTERNAL_MAPPABLE
Date: Thu, 16 Sep 2021 12:06:32 +0200	[thread overview]
Message-ID: <6fe3ca40-339b-04cc-a156-925b5ca433d6@linux.intel.com> (raw)
In-Reply-To: <f14ae06d-63a0-9ac2-7623-9fa3140d2de6@intel.com>


On 9/16/21 11:58 AM, Matthew Auld wrote:
> On 16/09/2021 10:03, Thomas Hellström wrote:
>> On Thu, 2021-09-16 at 08:55 +0200, Christian König wrote:
>>>
>>>
>>> Am 15.09.21 um 20:59 schrieb Matthew Auld:
>>>> In commit:
>>>>
>>>> commit 667a50db0477d47fdff01c666f5ee1ce26b5264c
>>>> Author: Thomas Hellstrom <thellstrom@vmware.com>
>>>> Date:   Fri Jan 3 11:17:18 2014 +0100
>>>>
>>>>       drm/ttm: Refuse to fault (prime-) imported pages
>>>>
>>>> we introduced the restriction that imported pages should not be
>>>> directly
>>>> mappable through TTM(this also extends to userptr). In the next
>>>> patch we
>>>> want to introduce a shmem_tt backend, which should follow all the
>>>> existing rules with TTM_PAGE_FLAG_EXTERNAL, since it will need to
>>>> handle
>>>> swapping itself, but with the above mapping restriction lifted.
>>>>
>>>> Signed-off-by: Matthew Auld <matthew.auld@intel.com>
>>>> Cc: Thomas Hellström <thomas.hellstrom@linux.intel.com>
>>>> Cc: Christian König <christian.koenig@amd.com>
>>>> ---
>>>>    drivers/gpu/drm/ttm/ttm_bo_vm.c | 6 ++++--
>>>>    include/drm/ttm/ttm_tt.h        | 7 +++++++
>>>>    2 files changed, 11 insertions(+), 2 deletions(-)
>>>>
>>>> diff --git a/drivers/gpu/drm/ttm/ttm_bo_vm.c
>>>> b/drivers/gpu/drm/ttm/ttm_bo_vm.c
>>>> index 708390588c7c..fd6e18f12f50 100644
>>>> --- a/drivers/gpu/drm/ttm/ttm_bo_vm.c
>>>> +++ b/drivers/gpu/drm/ttm/ttm_bo_vm.c
>>>> @@ -163,8 +163,10 @@ vm_fault_t ttm_bo_vm_reserve(struct
>>>> ttm_buffer_object *bo,
>>>>           * (if at all) by redirecting mmap to the exporter.
>>>>           */
>>>>          if (bo->ttm && (bo->ttm->page_flags &
>>>> TTM_PAGE_FLAG_EXTERNAL)) {
>>>> -               dma_resv_unlock(bo->base.resv);
>>>> -               return VM_FAULT_SIGBUS;
>>>> +               if (!(bo->ttm->page_flags &
>>>> TTM_PAGE_FLAG_EXTERNAL_MAPPABLE)) {
>>
>> I saw there was previously a thought about testing for ttm_bo_type_sg
>> here. Was that a dead end?
>
> I guess the issue was userptr, which is also EXTERNAL and needs to be 
> rejected here, but underneath it's not type_sg.


OK, I thought userptr was using type_sg. I wonder what it's for if 
that's not the case...


>
> Just having an explicit MAPPABLE flag or similar seemed the more 
> flexible approach? Happy to try out other ideas.
>
I'm fine with a flag as well.

/Thomas



WARNING: multiple messages have this Message-ID (diff)
From: "Thomas Hellström" <thomas.hellstrom@linux.intel.com>
To: "Matthew Auld" <matthew.auld@intel.com>,
	"Christian König" <christian.koenig@amd.com>,
	intel-gfx@lists.freedesktop.org
Cc: dri-devel@lists.freedesktop.org
Subject: Re: [PATCH v3 06/12] drm/ttm: add TTM_PAGE_FLAG_EXTERNAL_MAPPABLE
Date: Thu, 16 Sep 2021 12:06:32 +0200	[thread overview]
Message-ID: <6fe3ca40-339b-04cc-a156-925b5ca433d6@linux.intel.com> (raw)
In-Reply-To: <f14ae06d-63a0-9ac2-7623-9fa3140d2de6@intel.com>


On 9/16/21 11:58 AM, Matthew Auld wrote:
> On 16/09/2021 10:03, Thomas Hellström wrote:
>> On Thu, 2021-09-16 at 08:55 +0200, Christian König wrote:
>>>
>>>
>>> Am 15.09.21 um 20:59 schrieb Matthew Auld:
>>>> In commit:
>>>>
>>>> commit 667a50db0477d47fdff01c666f5ee1ce26b5264c
>>>> Author: Thomas Hellstrom <thellstrom@vmware.com>
>>>> Date:   Fri Jan 3 11:17:18 2014 +0100
>>>>
>>>>       drm/ttm: Refuse to fault (prime-) imported pages
>>>>
>>>> we introduced the restriction that imported pages should not be
>>>> directly
>>>> mappable through TTM(this also extends to userptr). In the next
>>>> patch we
>>>> want to introduce a shmem_tt backend, which should follow all the
>>>> existing rules with TTM_PAGE_FLAG_EXTERNAL, since it will need to
>>>> handle
>>>> swapping itself, but with the above mapping restriction lifted.
>>>>
>>>> Signed-off-by: Matthew Auld <matthew.auld@intel.com>
>>>> Cc: Thomas Hellström <thomas.hellstrom@linux.intel.com>
>>>> Cc: Christian König <christian.koenig@amd.com>
>>>> ---
>>>>    drivers/gpu/drm/ttm/ttm_bo_vm.c | 6 ++++--
>>>>    include/drm/ttm/ttm_tt.h        | 7 +++++++
>>>>    2 files changed, 11 insertions(+), 2 deletions(-)
>>>>
>>>> diff --git a/drivers/gpu/drm/ttm/ttm_bo_vm.c
>>>> b/drivers/gpu/drm/ttm/ttm_bo_vm.c
>>>> index 708390588c7c..fd6e18f12f50 100644
>>>> --- a/drivers/gpu/drm/ttm/ttm_bo_vm.c
>>>> +++ b/drivers/gpu/drm/ttm/ttm_bo_vm.c
>>>> @@ -163,8 +163,10 @@ vm_fault_t ttm_bo_vm_reserve(struct
>>>> ttm_buffer_object *bo,
>>>>           * (if at all) by redirecting mmap to the exporter.
>>>>           */
>>>>          if (bo->ttm && (bo->ttm->page_flags &
>>>> TTM_PAGE_FLAG_EXTERNAL)) {
>>>> -               dma_resv_unlock(bo->base.resv);
>>>> -               return VM_FAULT_SIGBUS;
>>>> +               if (!(bo->ttm->page_flags &
>>>> TTM_PAGE_FLAG_EXTERNAL_MAPPABLE)) {
>>
>> I saw there was previously a thought about testing for ttm_bo_type_sg
>> here. Was that a dead end?
>
> I guess the issue was userptr, which is also EXTERNAL and needs to be 
> rejected here, but underneath it's not type_sg.


OK, I thought userptr was using type_sg. I wonder what it's for if 
that's not the case...


>
> Just having an explicit MAPPABLE flag or similar seemed the more 
> flexible approach? Happy to try out other ideas.
>
I'm fine with a flag as well.

/Thomas



  reply	other threads:[~2021-09-16 10:06 UTC|newest]

Thread overview: 47+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-09-15 18:59 [Intel-gfx] [PATCH v3 01/12] drm/ttm: stop setting page->index for the ttm_tt Matthew Auld
2021-09-15 18:59 ` Matthew Auld
2021-09-15 18:59 ` [Intel-gfx] [PATCH v3 02/12] drm/ttm: move ttm_tt_{add, clear}_mapping into amdgpu Matthew Auld
2021-09-15 18:59   ` Matthew Auld
2021-09-16  6:45   ` [Intel-gfx] " Christian König
2021-09-16  6:45     ` [PATCH v3 02/12] drm/ttm: move ttm_tt_{add,clear}_mapping " Christian König
2021-09-15 18:59 ` [Intel-gfx] [PATCH v3 03/12] drm/ttm: remove TTM_PAGE_FLAG_NO_RETRY Matthew Auld
2021-09-15 18:59   ` Matthew Auld
2021-09-16  6:46   ` [Intel-gfx] " Christian König
2021-09-16  6:46     ` Christian König
2021-09-15 18:59 ` [Intel-gfx] [PATCH v3 04/12] drm/ttm: s/FLAG_SG/FLAG_EXTERNAL/ Matthew Auld
2021-09-15 18:59   ` Matthew Auld
2021-09-16  6:50   ` [Intel-gfx] " Christian König
2021-09-16  6:50     ` Christian König
2021-09-15 18:59 ` [Intel-gfx] [PATCH v3 05/12] drm/ttm: add some kernel-doc for TTM_PAGE_FLAG_* Matthew Auld
2021-09-15 18:59   ` Matthew Auld
2021-09-16  6:52   ` [Intel-gfx] " Christian König
2021-09-16  6:52     ` Christian König
2021-09-15 18:59 ` [Intel-gfx] [PATCH v3 06/12] drm/ttm: add TTM_PAGE_FLAG_EXTERNAL_MAPPABLE Matthew Auld
2021-09-15 18:59   ` Matthew Auld
2021-09-16  6:55   ` [Intel-gfx] " Christian König
2021-09-16  6:55     ` Christian König
2021-09-16  9:03     ` [Intel-gfx] " Thomas Hellström
2021-09-16  9:03       ` Thomas Hellström
2021-09-16  9:58       ` [Intel-gfx] " Matthew Auld
2021-09-16  9:58         ` Matthew Auld
2021-09-16 10:06         ` Thomas Hellström [this message]
2021-09-16 10:06           ` Thomas Hellström
2021-09-15 18:59 ` [Intel-gfx] [PATCH v3 07/12] drm/i915/gem: Break out some shmem backend utils Matthew Auld
2021-09-15 18:59   ` Matthew Auld
2021-09-15 18:59 ` [Intel-gfx] [PATCH v3 08/12] drm/i915/ttm: add tt shmem backend Matthew Auld
2021-09-15 18:59   ` Matthew Auld
2021-09-16 13:45   ` [Intel-gfx] " Thomas Hellström
2021-09-16 13:45     ` Thomas Hellström
2021-09-15 18:59 ` [Intel-gfx] [PATCH v3 09/12] drm/i915/ttm: use cached system pages when evicting lmem Matthew Auld
2021-09-15 18:59   ` Matthew Auld
2021-09-15 18:59 ` [Intel-gfx] [PATCH v3 10/12] drm/i915: try to simplify make_{un}shrinkable Matthew Auld
2021-09-15 18:59   ` Matthew Auld
2021-09-15 18:59 ` [Intel-gfx] [PATCH v3 11/12] drm/i915/ttm: make evicted shmem pages visible to the shrinker Matthew Auld
2021-09-15 18:59   ` Matthew Auld
2021-09-15 18:59 ` [Intel-gfx] [PATCH v3 12/12] drm/i915/ttm: enable shmem tt backend Matthew Auld
2021-09-15 18:59   ` Matthew Auld
2021-09-15 19:32 ` [Intel-gfx] ✗ Fi.CI.CHECKPATCH: warning for series starting with [v3,01/12] drm/ttm: stop setting page->index for the ttm_tt Patchwork
2021-09-15 19:34 ` [Intel-gfx] ✗ Fi.CI.SPARSE: " Patchwork
2021-09-15 20:01 ` [Intel-gfx] ✗ Fi.CI.BAT: failure " Patchwork
2021-09-16  6:47 ` [Intel-gfx] [PATCH v3 01/12] " Christian König
2021-09-16  6:47   ` Christian König

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=6fe3ca40-339b-04cc-a156-925b5ca433d6@linux.intel.com \
    --to=thomas.hellstrom@linux.intel.com \
    --cc=christian.koenig@amd.com \
    --cc=dri-devel@lists.freedesktop.org \
    --cc=intel-gfx@lists.freedesktop.org \
    --cc=matthew.auld@intel.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.