[ovs-dev] sparse warnings in flow_table.c

Ben Pfaff blp at nicira.com
Mon Jun 23 17:54:53 UTC 2014


I get the following sparse warnings on current master:

    datapath/linux/flow_table.c:289:26: error: incompatible types in comparison expression (different address spaces)
    datapath/linux/flow_table.c:300:26: error: incompatible types in comparison expression (different address spaces)

They appear to have been added by:

commit 6ddb63134def5509640e5b7713eea39095e1d17f
Author: Andy Zhou <azhou at nicira.com>
Date:   Mon Jun 16 12:45:04 2014 -0700

    datapath: keep mask array compact when deleting mask
    
    When deleting a mask from the mask array, we always move the last entry
    into its current location. Another approach can be NULL in its
    current place, and periodically compact it.
    
    The approach taken by this patch is more efficient during run
    time.  During look up, fast path packet don't have to skip over NULL
    pointers.
    
    A more important advantage of this approach is that it tries to
    keep the mask array index stable by avoiding periodic index
    reshuffle.
    
    This patch implements an optimization to further promote index
    stability.  By leaving the last entry value intact when moving it
    to a new location, the old cache index can 'fix' themselves, by noticing
    the index in the cache is outside the valid mask array region. The
    new index can be found by scanning the mask pointer within the valid
    rtegion.
    
    Signed-off-by: Andy Zhou <azhou at nicira.com>
    Acked-by: Pravin B Shelar <pshelar at nicira.com>

Thanks,

Ben.



More information about the dev mailing list