[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <5272ADF3.2000301@citrix.com>
Date: Thu, 31 Oct 2013 19:22:27 +0000
From: Zoltan Kiss <zoltan.kiss@...rix.com>
To: Jan Beulich <JBeulich@...e.com>
CC: <ian.campbell@...rix.com>, <jonathan.davies@...rix.com>,
<wei.liu2@...rix.com>, <xen-devel@...ts.xenproject.org>,
<linux-kernel@...r.kernel.org>, <netdev@...r.kernel.org>
Subject: Re: [Xen-devel] [PATCH net-next RFC 1/5] xen-netback: Introduce TX
grant map definitions
On 30/10/13 09:28, Jan Beulich wrote:
>>>> On 30.10.13 at 01:50, Zoltan Kiss <zoltan.kiss@...rix.com> 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.
Indeed, map and unmap can't be done at the same time, so it's safe to
put them into union. But I'm afraid grant_tx_handle and pages_to_gnt
can't share space with other members.
tx_copy_ops is a different topic, let's discuss that in it's own thread ...
Thanks,
Zoli
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists