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

Re: [Xen-devel] [PATCH net-next RFC 1/5] xen-netback: Introduce TX grant map definitions



>>> On 30.10.13 at 01:50, Zoltan Kiss <zoltan.kiss@xxxxxxxxxx> wrote:
> @@ -119,13 +126,22 @@ struct xenvif {
>       pending_ring_idx_t pending_cons;
>       u16 pending_ring[MAX_PENDING_REQS];
>       struct pending_tx_info pending_tx_info[MAX_PENDING_REQS];
> +     grant_handle_t grant_tx_handle[MAX_PENDING_REQS];
>  
>       /* Coalescing tx requests before copying makes number of grant
>        * copy ops greater or equal to number of slots required. In
>        * worst case a tx request consumes 2 gnttab_copy.
>        */
>       struct gnttab_copy tx_copy_ops[2*MAX_PENDING_REQS];
> +     struct gnttab_unmap_grant_ref tx_unmap_ops[MAX_PENDING_REQS];
> +     struct gnttab_map_grant_ref tx_map_ops[MAX_PENDING_REQS];
> +     /* passed to gnttab_[un]map_refs with pages under (un)mapping */
> +     struct page *pages_to_gnt[MAX_PENDING_REQS];

I think you will want to try to limit the structure size here by putting
things into unions that can't be used at the same time: Without
having looked at the later patches yet, it seems quite unlikely that
map and unmap can be used simultaneously. And the total of copy
and map can't also be used at the same time, as for each pending
request you would use either up to two copy slots or a single map
slot. I didn't look for further opportunities of sharing space.

Jan


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


 


Rackspace

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