From: Felix Kuehling <felix.kuehling@amd.com>
To: Vlastimil Babka <vbabka@suse.cz>,
Christoph Hellwig <hch@infradead.org>,
Kefeng Wang <wangkefeng.wang@huawei.com>
Cc: Andrew Morton <akpm@linux-foundation.org>,
amd-gfx@lists.freedesktop.org, dri-devel@lists.freedesktop.org,
linux-kernel@vger.kernel.org, linux-fsdevel@vger.kernel.org,
linux-mm@kvack.org, linux-perf-users@vger.kernel.org,
selinux@vger.kernel.org
Subject: Re: [PATCH 3/5] drm/amdkfd: use vma_is_stack() and vma_is_heap()
Date: Fri, 14 Jul 2023 11:09:35 -0400 [thread overview]
Message-ID: <f6999021-fba6-c115-2dfc-1898b8355ea5@amd.com> (raw)
In-Reply-To: <d11b6c3c-cbf8-a7dc-3cf9-e4e4dcf81fbc@suse.cz>
Am 2023-07-14 um 10:26 schrieb Vlastimil Babka:
> On 7/12/23 18:24, Felix Kuehling wrote:
>> Allocations in the heap and stack tend to be small, with several
>> allocations sharing the same page. Sharing the same page for different
>> allocations with different access patterns leads to thrashing when we
>> migrate data back and forth on GPU and CPU access. To avoid this we
>> disable HMM migrations for head and stack VMAs.
> Wonder how well does it really work in practice? AFAIK "heaps" (malloc())
> today uses various arenas obtained by mmap() and not a single brk() managed
> space anymore? And programs might be multithreaded, thus have multiple
> stacks, while vma_is_stack() will recognize only the initial one...
Thanks for these pointers. I have not heard of such problems with mmap
arenas and multiple thread stacks in practice. But I'll keep it in mind
in case we observe unexpected thrashing in the future. FWIW, we once had
the opposite problem of a custom malloc implementation that used sbrk
for very large allocations. This disabled migrations of large buffers
unexpectedly.
I agree that eventually we'll want a more dynamic way of detecting and
suppressing thrashing that's based on observed memory access patterns.
Getting this right is probably trickier than it sounds, so I'd prefer to
have some more experience with real workloads to use as benchmarks.
Compared to other things we're working on, this is fairly low on our
priority list at the moment. Using the VMA flags is a simple and
effective method for now, at least until we see it failing in real
workloads.
Regards,
Felix
>
> Vlastimil
>
>> Regards,
>> Felix
>>
>>
>> Am 2023-07-12 um 10:42 schrieb Christoph Hellwig:
>>> On Wed, Jul 12, 2023 at 10:38:29PM +0800, Kefeng Wang wrote:
>>>> Use the helpers to simplify code.
>>> Nothing against your addition of a helper, but a GPU driver really
>>> should have no business even looking at this information..
>>>
>>>
next prev parent reply other threads:[~2023-07-14 15:09 UTC|newest]
Thread overview: 15+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-07-12 14:38 [PATCH 0/5] mm: convert to vma_is_heap/stack() Kefeng Wang
2023-07-12 14:38 ` [PATCH 1/5] mm: introduce vma_is_stack() and vma_is_heap() Kefeng Wang
2023-07-17 10:26 ` David Hildenbrand
2023-07-18 15:10 ` Christian Göttsche
2023-07-12 14:38 ` [PATCH 2/5] mm: use " Kefeng Wang
2023-07-17 10:25 ` David Hildenbrand
2023-07-18 0:50 ` Kefeng Wang
2023-07-12 14:38 ` [PATCH 3/5] drm/amdkfd: " Kefeng Wang
2023-07-12 14:42 ` Christoph Hellwig
2023-07-12 16:24 ` Felix Kuehling
2023-07-14 14:26 ` Vlastimil Babka
2023-07-14 15:09 ` Felix Kuehling [this message]
2023-07-12 14:38 ` [PATCH 4/5] selinux: " Kefeng Wang
2023-07-17 16:12 ` Paul Moore
2023-07-12 14:38 ` [PATCH 5/5] perf/core: " Kefeng Wang
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=f6999021-fba6-c115-2dfc-1898b8355ea5@amd.com \
--to=felix.kuehling@amd.com \
--cc=akpm@linux-foundation.org \
--cc=amd-gfx@lists.freedesktop.org \
--cc=dri-devel@lists.freedesktop.org \
--cc=hch@infradead.org \
--cc=linux-fsdevel@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mm@kvack.org \
--cc=linux-perf-users@vger.kernel.org \
--cc=selinux@vger.kernel.org \
--cc=vbabka@suse.cz \
--cc=wangkefeng.wang@huawei.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
all inboxes | Powered by JetHome®