From: Sumitra Sharma <sumitraartsy@gmail.com>
To: Patrik Jakobsson <patrik.r.jakobsson@gmail.com>,
David Airlie <airlied@gmail.com>, Daniel Vetter <daniel@ffwll.ch>,
dri-devel@lists.freedesktop.org, linux-kernel@vger.kernel.org,
Ira Weiny <ira.weiny@intel.com>, Fabio <fmdefrancesco@gmail.com>,
Deepak R Varma <drv@mailo.com>,
Sumitra Sharma <sumitraartsy@gmail.com>,
Alison Schofield <alison.schofield@intel.com>
Subject: [PATCH] Remove unnecessary calls to kmap{,_local_page}() when acquiring pages using GFP_DMA32.
Date: Wed, 19 Jul 2023 06:43:14 -0700 [thread overview]
Message-ID: <20230719134314.GA7590@ubuntu> (raw)
The GFP_DMA32 uses the DMA32 zone to satisfy the allocation
requests. Therefore, pages allocated with GFP_DMA32 cannot
come from Highmem.
Avoid using calls to kmap() / kunmap() as the kmap() is being
deprecated [1].
Avoid using calls to kmap_local_page() / kunmap_local() as the
code does not depends on the implicit disable of migration of
local mappings and is, in fact, an unnecessary overhead for
the main code [2].
Hence, use a plain page_address() directly in the
psb_mmu_alloc_pd function.
[1]: https://lore.kernel.org/all/20220813220034.806698-1-ira.weiny@intel.com/
[2]: https://lwn.net/Articles/836503/
Suggested-by: Ira Weiny <ira.weiny@intel.com>
Signed-off-by: Sumitra Sharma <sumitraartsy@gmail.com>
---
drivers/gpu/drm/gma500/mmu.c | 11 +++--------
1 file changed, 3 insertions(+), 8 deletions(-)
diff --git a/drivers/gpu/drm/gma500/mmu.c b/drivers/gpu/drm/gma500/mmu.c
index a70b01ccdf70..1a44dd062fd1 100644
--- a/drivers/gpu/drm/gma500/mmu.c
+++ b/drivers/gpu/drm/gma500/mmu.c
@@ -184,20 +184,15 @@ struct psb_mmu_pd *psb_mmu_alloc_pd(struct psb_mmu_driver *driver,
pd->invalid_pte = 0;
}
- v = kmap_local_page(pd->dummy_pt);
+ v = page_address(pd->dummy_pt);
for (i = 0; i < (PAGE_SIZE / sizeof(uint32_t)); ++i)
v[i] = pd->invalid_pte;
- kunmap_local(v);
-
- v = kmap_local_page(pd->p);
+ v = page_address(pd->p);
for (i = 0; i < (PAGE_SIZE / sizeof(uint32_t)); ++i)
v[i] = pd->invalid_pde;
- kunmap_local(v);
-
- clear_page(kmap(pd->dummy_page));
- kunmap(pd->dummy_page);
+ clear_page(page_address(pd->dummy_page));
pd->tables = vmalloc_user(sizeof(struct psb_mmu_pt *) * 1024);
if (!pd->tables)
--
2.25.1
next reply other threads:[~2023-07-19 13:43 UTC|newest]
Thread overview: 2+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-07-19 13:43 Sumitra Sharma [this message]
2023-07-24 2:25 ` [PATCH] Remove unnecessary calls to kmap{,_local_page}() when acquiring pages using GFP_DMA32 Ira Weiny
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=20230719134314.GA7590@ubuntu \
--to=sumitraartsy@gmail.com \
--cc=airlied@gmail.com \
--cc=alison.schofield@intel.com \
--cc=daniel@ffwll.ch \
--cc=dri-devel@lists.freedesktop.org \
--cc=drv@mailo.com \
--cc=fmdefrancesco@gmail.com \
--cc=ira.weiny@intel.com \
--cc=linux-kernel@vger.kernel.org \
--cc=patrik.r.jakobsson@gmail.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.