[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Xen-devel] __vmap multiple times same mfn



On 02/28/2017 10:51 PM, Andrew Cooper wrote:
On 28/02/17 19:50, Oleksandr Andrushchenko wrote:
Hi, all!

I have a use-case when I may need to call __vmap for kernel provided
IPAs (read MFNs)

which may not be PAGE_SIZE aligned etc.

The question is if it is safe to call __vmap multiple times for
different IPAs

sharing the same page (mfn), e.g. map something like 6ca00 0080 and
6ca00 00a0?
What are you trying to do?
Well, the use-case is as follows: say, there are 2 structures I want to access
(S1 and S2), S1 occupying pages A'-B-C' and S2 in pages C'-D'
(I mark with apostrophe here partially occupied pages, e.g. page A is
partially occupied and B is fully used by S1)
No guarantee how pages A:D are located in memory
So, for that reason I want to __vmap A-B-C to access S1 and C-D to access S2
You specifically can use vmap to make non-contiguous MFNs end up
contiguous in virtual address space.
this is what I want - see above
The mappings themselves are of course on page boundaries,
Of course I have no intention to *map* on non page boundary,
but I want to *access* non page aligned data
so you can't
make a non-page-aligned thing appear aligned.
I am not trying to align, I use void* from __vmap
and add offset to S1/S2 start in the example above, e.g.
S1 = __vmap(A,B,C) + offset_in_page(S1)
~Andrew
So, the question remains: if I can __vmap page C for S1 and also
__vmap it for S2

Thank you,
Oleksandr

_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
https://lists.xen.org/xen-devel

 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.