On Sun, 16 Aug 2009 14:02:00 +0300 Sasha Khapyorsky <sas...@voltaire.com> wrote:
> On 20:43 Thu 13 Aug , Ira Weiny wrote: > > > > From: Ira Weiny <wei...@llnl.gov> > > Date: Thu, 13 Aug 2009 20:16:01 -0700 > > Subject: [PATCH] infiniband-diags/libibnetdisc: Introduce a context object. > > > > This object must be created before query functions can be used and is > > used to control the functionality of the queries. > > Why is it needed? I see that it complicates API, but what is a benefits? The immediate benefit is coming with the multi-threaded implementation where I plan on adding the following function.[*] ibnd_set_num_threads(ibnd_ctx_t *ctx, int num); Set/get functions can be added for anything which we need to pass to discover without changing the discover (or other query) functionality and breaking the API. This also allows us to keep some state for the library private. For example, I might persist threads across calls to discover and only destroy them on a ibnd_destroy_ctx call. Ira [*] and the reason behind this function is that I feel the proper number of threads is going to be variable depending on the size and layout of the fabric being processed as well as the number of CPU's available on the node. > > Sasha -- Ira Weiny Math Programmer/Computer Scientist Lawrence Livermore National Lab 925-423-8008 wei...@llnl.gov _______________________________________________ general mailing list general@lists.openfabrics.org http://lists.openfabrics.org/cgi-bin/mailman/listinfo/general To unsubscribe, please visit http://openib.org/mailman/listinfo/openib-general