lkml.org 
[lkml]   [2015]   [Jan]   [16]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
From
Date
SubjectRe: [PATCH net-next v12 5/5] openvswitch: Add support for unique flow IDs.
On 16 January 2015 at 00:07, Pravin Shelar <pshelar@nicira.com> wrote:
>> @@ -213,13 +223,15 @@ struct flow_stats {
>>
>> struct sw_flow {
>> struct rcu_head rcu;
>> - struct hlist_node hash_node[2];
>> - u32 hash;
>> + struct {
>> + struct hlist_node node[2];
>> + u32 hash;
>> + } flow_table, ufid_table;
>> int stats_last_writer; /* NUMA-node id of the last writer on
>> * 'stats[0]'.
>> */
>> struct sw_flow_key key;
>> - struct sw_flow_key unmasked_key;
>> + struct sw_flow_id *id;
>> struct sw_flow_mask *mask;
>> struct sw_flow_actions __rcu *sf_acts;
>> struct flow_stats __rcu *stats[]; /* One for each NUMA node. First one
>> @@ -243,6 +255,16 @@ struct arp_eth_header {
>> unsigned char ar_tip[4]; /* target IP address */
>> } __packed;
>>
> In last round we agreed on following struct flow-id which saves around
> four hundred bytes per flow and kmalloc per flow add operation for
> common case. Is there any reason for not doing it?
>
> struct {
> u32 ufid_len;
> union {
> u32 ufid[MAX_UFID_LENGTH / 4];
> struct sw_flow_key *unmasked_key;
> }
> } id;

Ah, I thought I had addressed this before the holidays but it's
clearly not we had discussed. Thanks for bringing this up, I'll make
this change and repost.


\
 
 \ /
  Last update: 2015-01-16 22:01    [W:0.092 / U:0.212 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site