Sasha, On Thu, Oct 15, 2009 at 6:30 PM, Hal Rosenstock <[email protected]> wrote: > > Heap memory consumption by the unicast and multicast routing tables can be > reduced. > > This patch is analagous to the previous patch doing this for the unicast > routing tables (LFTs). > > Using valgrind --tool=massif (for heap profiling), there are couple of place > ->38.75% (11,206,656B) 0x43267E: osm_switch_new (osm_switch.c:134) > ->12.89% (3,728,256B) 0x40F8C9: osm_mcast_tbl_init (osm_mcast_tbl.c:96) > > osm_mcast_tbl_init (osm_mcast_tbl.c:96): > p_tbl->p_mask_tbl = malloc(p_tbl->num_entries * > (IB_MCAST_POSITION_MAX + > 1) * IB_MCAST_MASK_SIZE / 8); > > num_entries above is set based on the switch's MulticastFDBCap > (indicated in it's SM class SwitchInfo attribute). > > MFTs are only be increased in size and are never reduced in size. If a realloc > for MFT fails, it is treated as a fatal error and OpenSM is exited. > > Signed-off-by: Hal Rosenstock <[email protected]> > --- > Changes since v3: > Renamed mft_size to mft_depth and added description in osm_mcast_tbl.h > Removed vestigial realloc mask tbl call in osm_dump.c > Simplified max_mlid determination in alloc_mfts > Added return value to osm_mcast_tbl_realloc_mask_tbl > Added return value to alloc_mfts > Handle alloc_mfts failure in osm_mcast_mgr_process/process_mgroups > Renamed osm_mcast_tbl_realloc_mask_tbl to osm_mcast_tbl_realloc > In osm_mcast_tbl_realloc, simplified mft_depth calculation > > Changes since v2: > MFT allocation during routing preparation rather than on table access > > Changes since v1: > MFT allocation based on actual MLID requests >
Please ignore this. I'll resubmit once we get past the mcast tbl change for max LID host order. -- Hal <snip...> -- To unsubscribe from this list: send the line "unsubscribe linux-rdma" in the body of a message to [email protected] More majordomo info at http://vger.kernel.org/majordomo-info.html
