From: Philippe Gerum <rpm@xenomai.org>
To: Jan Kiszka <jan.kiszka@domain.hid>
Cc: Xenomai-core@domain.hid
Subject: Re: [Xenomai-core] pgprot_noncached for io-remapping?
Date: Sun, 16 Mar 2008 17:43:11 +0100 [thread overview]
Message-ID: <47DD4E1F.9050400@domain.hid> (raw)
In-Reply-To: <47DD4C70.2040208@domain.hid>
Jan Kiszka wrote:
> Philippe Gerum wrote:
>> Jan Kiszka wrote:
>>> Philippe Gerum wrote:
>>>> Jan Kiszka wrote:
>>>>> Hi,
>>>>>
>>>>> doesn't this patch [1] have some relevance for us as well? As we use
>>>>> xnarch_remap_io_page_range also for non-IO memory, I'm hesitating to
>>>>> suggest that we apply this unconditionally at xnarch level. Ideas welcome.
>>>>>
>>>> Yes, I think it makes a lot of sense on powerpc at least, since doing so will
>>>> set the PAGE_GUARDED bit as well, and we obviously want to avoid any
>>>> out-of-order access of I/O memory.
>>>>
>>>> (I don't see the reason to force the VM_RESERVED and VM_IO on the vma though,
>>>> since remap_pfn_range will do it anyway.)
>>> No, I was talking about cases where we may pass kmalloc'ed memory to
>>> xnarch_remap_io_page_range. In that case, caching and out-of-order
>>> access may be desired for performance reasons.
>>>
>> xnarch_remap_io_page_range is intended for I/O memory only, some assumptions are
>> made on this. rtdm_mmap_buffer() should be fixed; it would be much better to
>> define another internal interface at xnarch level to specifically perform
>> kmalloc mapping.
>
> Yeah, probably. But I think the issue is not just limited to RTDM. The
> xnheap can be kmalloc-hosted as well.
>
This one is used with DMA memory. What I would suggest, is something like this:
--- ksrc/skins/rtdm/drvlib.c (revision 3590)
+++ ksrc/skins/rtdm/drvlib.c (working copy)
@@ -1738,9 +1738,12 @@
}
return 0;
} else
-#endif /* CONFIG_MMU */
return xnarch_remap_io_page_range(vma, maddr, paddr,
size, PAGE_SHARED);
+#else
+ return xnarch_remap_kmem_page_range(vma, maddr, paddr,
+ size, PAGE_SHARED);
+#endif /* CONFIG_MMU */
}
static struct file_operations rtdm_mmap_fops = {
I.e. split the cases where MMU is absent from the one where MMU is there but we
come from rtdm_iomap_to_user.
> Jan
>
--
Philippe.
next prev parent reply other threads:[~2008-03-16 16:43 UTC|newest]
Thread overview: 13+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-03-16 15:25 [Xenomai-core] pgprot_noncached for io-remapping? Jan Kiszka
2008-03-16 15:41 ` Philippe Gerum
2008-03-16 15:52 ` Jan Kiszka
[not found] ` <47DD47F0.5020003@domain.hid>
2008-03-16 16:36 ` Jan Kiszka
2008-03-16 16:43 ` Philippe Gerum [this message]
2008-03-16 16:45 ` Philippe Gerum
2008-03-16 16:45 ` Philippe Gerum
2008-03-16 16:50 ` Jan Kiszka
2008-03-16 17:07 ` Philippe Gerum
2008-03-16 17:15 ` Jan Kiszka
2008-03-16 17:34 ` Philippe Gerum
2008-03-16 17:54 ` Jan Kiszka
2008-03-16 18:11 ` Philippe Gerum
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=47DD4E1F.9050400@domain.hid \
--to=rpm@xenomai.org \
--cc=Xenomai-core@domain.hid \
--cc=jan.kiszka@domain.hid \
/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.