|
|
|
|
|
|
|
|
|
|
xen-ia64-devel
[Xen-ia64-devel] RE: Preliminary work on networking code
> > The comms ring seems to require two consecutive pages,
> > one for xmit and one for rcv. Both are obtained via
> > map_grant_ref. However map_grant_ref on ia64 may
> > choose (like mmap) to return an address different than
> > the one requested. If it does, I think the existing
> > netif code will break badly. Are there two pages mapped
> > because PAGE_SIZE=4K on x86? In other words, would one
> > 16K page be sufficient for ia64? Or do the two pages
> > potentially have different attributes and thus must really
> > be separate pages?
>
> No, they can reside on the same 16kB page. The pages are not
> consecutive on x86 -- they are two arbitrary pages.
I'm confused: netback/interface.c:map/unmap_frontend_pages()
and netif_map all use consecutive pages and netif->comms_area
is set to point to the first of the two pages. Then (also
in netif_map) the xmit sring is set to point to the first
page and the rcv sring is set to point to the second (of
the two consecutive) page.
Or are you saying that all of the code in netback/interface.c
could/should be rewritten to not make this assumption? (including
the calls to free_vm_area(netif->comms_area) which are
freeing both pages?)
On a semi-related note, I see that the foreign page code
defines PG_arch_1. This could be a problem for ia64 as that
bit is used for other purposes.
Thanks,
Dan
_______________________________________________
Xen-ia64-devel mailing list
Xen-ia64-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-ia64-devel
|
|
|
|
|