linux-mm.kvack.org archive mirror
 help / color / mirror / Atom feed
From: "Martin J. Bligh" <mbligh@aracnet.com>
To: "Perez-Gonzalez, Inaky" <inaky.perez-gonzalez@intel.com>,
	"'linux-mm@kvack.org'" <linux-mm@kvack.org>
Subject: RE: Silly question: How to map a user space page in kernel space?
Date: Tue, 25 Feb 2003 20:14:59 -0800	[thread overview]
Message-ID: <7550000.1046232898@[10.10.2.4]> (raw)
In-Reply-To: <A46BBDB345A7D5118EC90002A5072C780A7D57BB@orsmsx116.jf.intel.com>

>> > I have a user space page (I know the 'struct page *' and I did a
>> > get_page() on it so it doesn't go away to swap) and I need to be able
>> > to access it with normal pointers (to do a bunch of atomic operations
>> > on it). I cannot use get_user() and friends, just pointers.
>> > 
>> > So, the question is, how can I map it into the kernel space in a
>> > portable manner? Am I missing anything very basic here?
>> 
>> kmap or kmap_atomic
> 
> I am trying to use kmap_atomic(), but what is the meaning of the second
> argument, km_type? I cannot find it anywhere, or at least the difference
> between KM_USER0 and KM_USER1, which I am guessing are the ones I need.

Each type is for a different usage, and you need to ensure that two things
can't reuse the same type at once. As long as interrupts, or whatever could
disturb you can't use what you use, you're OK. Note that you can't hold
kmap_atomic over a schedule (presumably this means no pre-emption either).
--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org.  For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"aart@kvack.org">aart@kvack.org</a>

  reply	other threads:[~2003-02-26  4:14 UTC|newest]

Thread overview: 14+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <A46BBDB345A7D5118EC90002A5072C780A7D57BB@orsmsx116.jf.intel.com >
2003-02-26  3:06 ` Perez-Gonzalez, Inaky
2003-02-26  4:14   ` Martin J. Bligh [this message]
2003-02-26  4:39     ` Robert Love
2003-02-26 19:04 Perez-Gonzalez, Inaky
  -- strict thread matches above, loose matches on Subject: below --
2003-02-26 18:57 Perez-Gonzalez, Inaky
2003-02-26 19:01 ` Mel Gorman
     [not found] <A46BBDB345A7D5118EC90002A5072C780A7D57E6@orsmsx116.jf.intel.com >
2003-02-26  4:44 ` Perez-Gonzalez, Inaky
2003-02-26  5:55   ` Martin J. Bligh
2003-02-26  8:33     ` Andrew Morton
2003-02-26 19:03       ` Martin J. Bligh
2003-02-26 12:40   ` Mel Gorman
2003-02-21 22:49 Perez-Gonzalez, Inaky
     [not found] <A46BBDB345A7D5118EC90002A5072C780A7D5194@orsmsx116.jf.intel.com >
2003-02-21 22:06 ` Perez-Gonzalez, Inaky
2003-02-21 22:22   ` Martin J. Bligh

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='7550000.1046232898@[10.10.2.4]' \
    --to=mbligh@aracnet.com \
    --cc=inaky.perez-gonzalez@intel.com \
    --cc=linux-mm@kvack.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox