Add the ability to preload the destination GID and LID caches
PATCH v2 10/15 Add the ability to preload the destination GID and LID caches
Preloading of these caches is supported via a file which is produced by OpenSM by the dump_pr plugin which contains sufficient SA PathRecord information. Details on this file format and configuring OpenSM for this are found in dump_pr_notes.txt in dump_pr.
File format is specified in ibacm_opts.cfg as follows:path_rec_fmt full_opensm_v1
File format defaults to none which means no preload of ACM cache.
---
Changes since v1:
Eliminated command line option in favor of option file parameters Fixed address and route resolution cache timers
ibacm_opts.cfg | 12 +++ linux/osd.h | 2 + man/ibacm.1 | 13 +++- src/acm.c | 254 +++++++++++++++++++++++++++++++++++++++++++++++++++++++- src/acme.c | 12 +++ 5 files changed, 290 insertions(+), 3 deletions(-)
ibacm_opts.cfg +12 -0
@@ -143,3 +143,15 @@ min_mtu 2048 min_rate 10 +# path_rec_fmt: +# Indicates format of optional path records file for preloading ACM cache. +# Supported formats are: +# none - No path record file preloading (default) +# full_opensm_v1 - OpenSM "full" path records dump file format (version 1) + +path_rec_fmt none + +# path_rec_file: +# If path_rec_fmt is other than "none", full pathname of path records file +# to use for preloading the ACM cache. Default is ACM_CONF_DIR/ibacm_path_records.dump +
linux/osd.h +2 -0
@@ -1,5 +1,6 @@/* * Copyright (c) 2009 Intel Corporation. All rights reserved. +* Copyright (c) 2013 Mellanox Technologies LTD. All rights reserved. * * This software is available to you under the OpenFabrics.org BSD license * below:
@@ -57,6 +58,7 @@#define ACM_CONF_DIR SYSCONFDIR "/" RDMADIR#define ACM_ADDR_FILE "ibacm_addr.cfg"#define ACM_OPTS_FILE "ibacm_opts.cfg" +#define ACM_PATH_REC_FILE "ibacm_path_records.dump"#define LIB_DESTRUCTOR __attribute__((destructor))#define CDECL_FUNC
man/ibacm.1 +12 -1
@@ -1,4 +1,4 @@ -.TH "ibacm" 1 "2013-06-15" "ibacm" "ibacm" ibacm +.TH "ibacm" 1 "2013-06-18" "ibacm" "ibacm" ibacm .SH NAME ibacm \- address and route resolution services for InfiniBand. .SH SYNOPSIS
@@ -145,5 +145,16 @@ request is received from a different QPN than a cached request. limited to 4. .P - The number of multicast groups that an endpoint can support is limited to 2. +.P +The ibacm contains several internal caches. These include caches for GID +and LID destination addresses. These caches can be optionally +preloaded. ibacm supports the OpenSM dump_pr plugin "full" PathRecord +format which is used to preload these caches. +The file format is specified in the ibacm_opts.cfg file via the +path_rec_fmt parameter which should be set to full_opensm_v1 for this file +format. Default is none which does not preload these caches. +See dump_pr.notes.txt in dump_pr for more information on the +full_opensm_v1 file format and how to configure OpenSM to +generate this file. .SH "SEE ALSO" ibacm(7), ib_acme(1), rdma_cm(7)
src/acm.c +252 -2
320 lines not on this page · raw message
src/acme.c +12 -0
@@ -244,6 +244,18 @@ static void gen_opts_temp(FILE *f)fprintf (f,"\n" );fprintf (f,"min_rate 10\n" );fprintf (f,"\n" ); +fprintf (f,"# path_rec_fmt:\n" ); +fprintf (f,"# Indicates format of optional path records file for preloading ACM cache.\n" ); +fprintf (f,"# Supported formats are:\n" ); +fprintf (f,"# none - No path record file preloading (default)\n" ); +fprintf (f,"# full_opensm_v1 - OpenSM \"full\" path records dump file format (version 1)\n" ); +fprintf (f,"\n" ); +fprintf (f,"path_rec_fmt none\n" ); +fprintf (f,"\n" ); +fprintf (f,"# path_rec_file:\n" ); +fprintf (f,"# If path_rec_fmt is other than \"none\", full pathname of path records file\n" ); +fprintf (f,"# to use for preloading the ACM cache. Default is ACM_CONF_DIR/ibacm_path_records.dump\n" ); +fprintf (f,"\n" ); }static int open_dir (void )
Signature · 6 lines
1.7.8.2 -- 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