From: neidhard.kim@lge.com (Jongsung Kim)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH] ARM:mm: fix kmap_atomic_to_page
Date: Mon, 12 Oct 2015 14:30:39 +0900 [thread overview]
Message-ID: <561B457F.5090104@lge.com> (raw)
In-Reply-To: <20151007090121.GC21513@n2100.arm.linux.org.uk>
We tried to utilize a HW compressor as a zram backend. Current zram uses kmap_atomic to map a page, and the HW DMAes. So we needed to use kmap_atomic_to_page to get the page to be dma-mapped.
On 10/07/2015 06:01 PM, Russell King - ARM Linux wrote:
> On Wed, Oct 07, 2015 at 12:55:08PM +0900, Jongsung Kim wrote:
>> Recently, we made a driver utilizing kmap_atomic_to_page. Of course,
>> it's not mainlined. People may be using it outside mainline just like us.
> Since kmap_atomic() mappings are supposed to be short-lived, why do you
> need it in your driver? Don't you already have the struct page pointer
> when setting up the kmap_atomic() mapping?
>
> It is invalid to setup a mapping, and leave it setup across any context
> switching or similar.
>
> Also, kmap_atomic_to_page() is not exported to modules, so you can only
> use it when built-in.
>
>> vmalloc has vmalloc_to_page, pkmap has kmap_to page, and fixmap has
>> kmap_atomic_to_page. Then.. how about letting virt_to_page do them all?
> No. virt_to_page() is defined to only work on the lowmem mapping, and
> that's not going to change.
>
> Please show the outline of your code making use of this function so we
> can better understand your use case.
>
WARNING: multiple messages have this Message-ID (diff)
From: Jongsung Kim <neidhard.kim@lge.com>
To: Russell King - ARM Linux <linux@arm.linux.org.uk>
Cc: Nicolas Pitre <nicolas.pitre@linaro.org>,
Chanho Min <chanho.min@lge.com>,
linux-arm-kernel@lists.infradead.org,
linux-kernel@vger.kernel.org, Gunho Lee <gunho.lee@lge.com>
Subject: Re: [PATCH] ARM:mm: fix kmap_atomic_to_page
Date: Mon, 12 Oct 2015 14:30:39 +0900 [thread overview]
Message-ID: <561B457F.5090104@lge.com> (raw)
In-Reply-To: <20151007090121.GC21513@n2100.arm.linux.org.uk>
We tried to utilize a HW compressor as a zram backend. Current zram uses kmap_atomic to map a page, and the HW DMAes. So we needed to use kmap_atomic_to_page to get the page to be dma-mapped.
On 10/07/2015 06:01 PM, Russell King - ARM Linux wrote:
> On Wed, Oct 07, 2015 at 12:55:08PM +0900, Jongsung Kim wrote:
>> Recently, we made a driver utilizing kmap_atomic_to_page. Of course,
>> it's not mainlined. People may be using it outside mainline just like us.
> Since kmap_atomic() mappings are supposed to be short-lived, why do you
> need it in your driver? Don't you already have the struct page pointer
> when setting up the kmap_atomic() mapping?
>
> It is invalid to setup a mapping, and leave it setup across any context
> switching or similar.
>
> Also, kmap_atomic_to_page() is not exported to modules, so you can only
> use it when built-in.
>
>> vmalloc has vmalloc_to_page, pkmap has kmap_to page, and fixmap has
>> kmap_atomic_to_page. Then.. how about letting virt_to_page do them all?
> No. virt_to_page() is defined to only work on the lowmem mapping, and
> that's not going to change.
>
> Please show the outline of your code making use of this function so we
> can better understand your use case.
>
next prev parent reply other threads:[~2015-10-12 5:30 UTC|newest]
Thread overview: 20+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-10-06 11:09 [PATCH] ARM:mm: fix kmap_atomic_to_page Chanho Min
2015-10-06 11:09 ` Chanho Min
2015-10-06 19:28 ` Russell King - ARM Linux
2015-10-06 19:28 ` Russell King - ARM Linux
2015-10-07 1:37 ` Nicolas Pitre
2015-10-07 1:37 ` Nicolas Pitre
2015-10-07 3:55 ` Jongsung Kim
2015-10-07 3:55 ` Jongsung Kim
2015-10-07 9:01 ` Russell King - ARM Linux
2015-10-07 9:01 ` Russell King - ARM Linux
2015-10-12 5:30 ` Jongsung Kim [this message]
2015-10-12 5:30 ` Jongsung Kim
2015-10-12 9:27 ` Arnd Bergmann
2015-10-12 9:27 ` Arnd Bergmann
2015-10-13 2:06 ` Jongsung Kim
2015-10-13 2:06 ` Jongsung Kim
2015-10-13 11:44 ` Arnd Bergmann
2015-10-13 11:44 ` Arnd Bergmann
2015-10-12 6:00 ` yalin wang
2015-10-12 6:00 ` yalin 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=561B457F.5090104@lge.com \
--to=neidhard.kim@lge.com \
--cc=linux-arm-kernel@lists.infradead.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.