From: David Vrabel <david.vrabel@citrix.com>
To: "Szwed, Maciej" <maciej.szwed@intel.com>,
"Dugger, Donald D" <donald.d.dugger@intel.com>,
"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Cc: "Ronciak, John" <john.ronciak@intel.com>
Subject: Re: Problem with MMAP on Xen kernel
Date: Wed, 21 Jan 2015 14:44:55 +0000 [thread overview]
Message-ID: <54BFBB67.3020001@citrix.com> (raw)
In-Reply-To: <122B872DCF83AB4DB816E25A2C1AD08D2D9C3CE9@IRSMSX102.ger.corp.intel.com>
On 21/01/15 14:38, Szwed, Maciej wrote:
> Hi again,
> Error that I'm getting is:
> EBUSY 16 /* Device or resource busy */
>
> Kernel version is:
> Linux XXX 3.12.28-2-xen #1 SMP Mon Sep 8 11:15:37 UTC 2014 (aff039d) x86_64 x86_64 x86_64 GNU/Linux
>
> I'm trying to map the memory of NIC with our own driver.
If the MMIO BARs you are trying to map are above the end of RAM you need
at least 3.16 for this to work.
Specifically you need "x86/xen: set regions above the end of RAM as 1:1"
(25b884a83d4) and its prerequisites (at least: "x86/xen: compactly store
large identity ranges in the p2m" (3cb83e46d032) but probably others).
David
> -----Original Message-----
> From: Szwed, Maciej
> Sent: Tuesday, January 20, 2015 2:49 PM
> To: David Vrabel; Dugger, Donald D; xen-devel@lists.xen.org
> Cc: Ronciak, John
> Subject: RE: [Xen-devel] Problem with MMAP on Xen kernel
>
> Hi,
> Sorry for late response. I will provide required information tomorrow.
>
> Regards,
> Maciej
>
> -----Original Message-----
> From: David Vrabel [mailto:david.vrabel@citrix.com]
> Sent: Friday, January 16, 2015 7:45 PM
> To: Dugger, Donald D; xen-devel@lists.xen.org
> Cc: Ronciak, John; Szwed, Maciej
> Subject: Re: [Xen-devel] Problem with MMAP on Xen kernel
>
> On 16/01/15 18:24, Dugger, Donald D wrote:
>> One of our engineers, Maciek, is working on a driver and stumbled upon
>> what looks like a bug in the Xen kernel. The report I got was:
>>
>>
>>
>> We recently started to provide mmap functionality in our driver for
>> Linux. Function for this:
>>
>>
>>
>> /int/
>>
>> /NalMmap(/
>>
>> / struct file* File,/
>>
>> / struct vm_area_struct* Vma/
>>
>> / )/
>>
>> /{/
>>
>> / if(remap_pfn_range(Vma,/
>>
>> / Vma->vm_start,/
>>
>> / Vma->vm_pgoff,/
>>
>> / Vma->vm_end - Vma->vm_start,/
>>
>> / Vma->vm_page_prot))/
>>
>> / {/
>>
>> / return -EAGAIN;/
>>
>> / }/
>>
>> / /
>>
>> / return 0;/
>>
>> /}/
>>
>>
>>
>> We discovered that this doesn't work for xen kernels (but it doesn't
>> return any error, just does not map). I found that it is suggested to
>> use io_remap_pfn_range instead of remap_pfn_range. After switching
>> function everything still works on standard kernel, but on xen this
>> time it returns error.
>
> Not a lot to go on here. What kernel version? What PFNs are you trying to map (RAM? MMIO?) What error do you get?
>
> Can you provide a minimal driver that shows the problem?
>
> David
next prev parent reply other threads:[~2015-01-21 14:44 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-01-16 18:24 Problem with MMAP on Xen kernel Dugger, Donald D
2015-01-16 18:44 ` David Vrabel
2015-01-20 13:49 ` Szwed, Maciej
2015-01-21 14:38 ` Szwed, Maciej
2015-01-21 14:44 ` David Vrabel [this message]
2015-01-21 14:54 ` David Vrabel
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=54BFBB67.3020001@citrix.com \
--to=david.vrabel@citrix.com \
--cc=donald.d.dugger@intel.com \
--cc=john.ronciak@intel.com \
--cc=maciej.szwed@intel.com \
--cc=xen-devel@lists.xen.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.