]> CyberLeo.Net >> Repos - FreeBSD/releng/10.0.git/blob - contrib/ofed/libibverbs/ChangeLog
- Copy stable/10 (r259064) to releng/10.0 as part of the
[FreeBSD/releng/10.0.git] / contrib / ofed / libibverbs / ChangeLog
1 2006-10-30  Jack Morgenstein  <jackm@mellanox.co.il>
2         
3         * src/cmd.c (ibv_cmd_query_qp): Unmarshall sq_draining instead of
4         en_sqd_async_notify.
5
6         * include/infiniband/kern-abi.h: Change en_sqd_async_notify member
7         of struct ibv_query_qp_resp to sq_draining.
8
9 2006-10-30  Roland Dreier  <rdreier@cisco.com>
10
11         * src/init.c (find_drivers): Make find_drivers() take a const
12         directory name, and tweak how we strip trailing /s so that we
13         don't have to modify the directory name passed in.  Constify
14         default_path too.
15
16 2006-10-25  Roland Dreier  <rdreier@cisco.com>
17
18         * src/init.c (init_drivers): Remove assignment to dev->driver now
19         that it is gone for good.
20
21         * include/infiniband/verbs.h: Remove .driver member of struct
22         ibv_device, since it is never really used.
23
24 2006-10-17  Roland Dreier  <rdreier@cisco.com>
25
26         * include/infiniband/arch.h: Update i386 and x86_64 memory barrier
27         macros to be more than compiler barriers, to guard against
28         out-of-order speculative reads.
29
30         * include/infiniband/arch.h: Add rmb() and wmb() macros in
31         addition to the full mb(), so that low-level drivers can ask for
32         weaker ordering if that's all that is needed.
33         
34 2006-10-03  Roland Dreier  <rdreier@cisco.com>
35
36         * src/cmd.c (ibv_cmd_get_context_v2, ibv_cmd_get_context)
37         (ibv_cmd_query_device, ibv_cmd_query_port, ibv_cmd_alloc_pd)
38         (ibv_cmd_reg_mr, ibv_cmd_create_cq_v2, ibv_cmd_create_cq)
39         (ibv_cmd_poll_cq, ibv_cmd_resize_cq, ibv_cmd_destroy_cq)
40         (ibv_cmd_create_srq, ibv_cmd_create_qp, ibv_cmd_post_send)
41         (ibv_cmd_post_recv, ibv_cmd_post_srq_recv, ibv_cmd_create_ah)
42         (ibv_cmd_destroy_qp): Annotate so that Valgrind knows responses
43         are defined after write() succeeds.  The kernel writes into the
44         response structure directly, so without these, Valgrind thinks
45         that response structures are undefined memory.  This is based on
46         patches and suggestions by Rainer Keller <keller@hlrs.de>, Jeff
47         Squyres <jsquyres@cisco.com> and Siqing Fan.
48
49         * src/ibverbs.h: Add wrapper for VALGRIND_MAKE_MEM_DEFINED so that
50         it can be used in .c files without worrying about whether Valgrind
51         is installed or enabled.
52
53         * configure.in: Add support for Valgrind annotation (enabled with
54         --with-valgrind option to configure).
55
56         * src/cmd.c (ibv_cmd_query_port, ibv_cmd_create_cq,
57         ibv_cmd_modify_qp): Set reserved fields to 0 to avoid future
58         problems and also to make Valgrind a little quieter.
59
60         * src/init.c (init_drivers): Set node_type and transport_type
61         values of device being created.
62
63         * include/infiniband/verbs.h: Add ibv_node_type enum value
64         IBV_NODE_RNIC, and add enum ibv_transport_type.  Add node_type and
65         transport_type fields to struct ibv_device.
66
67 2006-09-12  Roland Dreier  <rdreier@cisco.com>
68
69         * include/infiniband/verbs.h: Swap wr_id and next members of
70         struct ibv_send_wr and struct ibv_recv_wr.  This allows wr_id to
71         be naturally aligned without padding on 32-bit platforms.
72
73 2006-08-23  Roland Dreier  <rdreier@cisco.com>
74
75         * include/infiniband/driver.h: Add a definition of the macro
76         IBV_CMD_RESIZE_CQ_HAS_RESP_PARAMS so that low-level driver plugins
77         can detect the changed signature of ibv_cmd_resize_cq().
78
79 2006-08-23  Ralph Campbell  <ralph.campbell@qlogic.com>
80
81         * src/cmd.c (ibv_cmd_resize_cq): Add resp and resp_size parameters
82         so that the low-level driver in the kernel can return
83         device-specific information from the resize CQ operation.
84
85 2006-07-26  Roland Dreier  <rdreier@cisco.com>
86
87         * src/verbs.c (ibv_reg_mr, ibv_dereg_mr): Add calls to
88         ibv_dontfork_range() and ibv_dofork_range() for memory regions
89         registered by library consumers.
90
91         * include/infiniband/verbs.h: Add declaration of ibv_fork_init().
92
93         * include/infiniband/driver.h: Add declarations of
94         ibv_dontfork_range() and ibv_dofork_range().
95
96         * src/memory.c: Rewrite to use a red-black tree instead of a
97         linked list.  Change from doing mlock()/munlock() to
98         madvise(..., MADV_DONTFORK) and madvise(..., MADV_DOFORK), and
99         change the name of the entry points to ibv_dontfork_range() and
100         ibv_dofork_range().  Add ibv_fork_init() for applications to
101         request fork-safe behavior.
102
103         * src/ibverbs.h: Kill off unused declarations.
104
105         * src/init.c (ibverbs_init): Get rid of call to ibv_init_mem_map().
106
107         * include/infiniband/verbs.h: Add addr and length field to struct
108         ibv_mr so that memory regions can be madvised().  This changes the
109         ABI, since the layout of struct ibv_mr is changed.
110
111 2006-07-04  Roland Dreier  <rdreier@cisco.com>
112
113         * include/infiniband/arch.h: Fix typo in sparc mb()
114         implementation: the asm should just be empty -- the "sync"
115         instruction was mistakenly cut and pasted from the ppc version.
116
117 2006-06-07  Sean Hefty     <sean.hefty@intel.com>
118
119         * src/verbs.c include/infiniband/verbs.h: Add new routines:
120         ibv_init_ah_from_wc() and ibv_create_ah_from_wc() to simplify UD QP
121         communication.
122
123         * src/marshall.c include/infiniband/marshall.h: Expose
124         ibv_copy_ah_attr_from_kern to retrieve ibv_ah_attr from kernel for
125         a UD QP.
126
127 2006-06-01  Roland Dreier  <rdreier@cisco.com>
128
129         * src/device.c (ibv_get_device_list): Actually return a
130         NULL-terminated array as the documentation promises.
131
132 2006-05-31  Roland Dreier  <rdreier@cisco.com>
133
134         * src/init.c (find_drivers): Fix memory leak: the result of
135         asprintf() needs to be freed when we're done with it.
136
137         * examples/asyncwatch.c (event_name_str): Print human-readable
138         form of IBV_EVENT_CLIENT_REREGISTER.
139
140 2006-05-31  Leonid Arsh  <leonida@voltaire.com>
141
142         * include/infiniband/verbs.h: Add IBV_EVENT_CLIENT_REREGISTER.
143
144 2006-05-22  Roland Dreier  <rdreier@cisco.com>
145
146         * examples/devinfo.c (print_hca_cap): Read board_id attribute from
147         sysfs using ibv_read_sysfs_file() instead of libsysfs.
148
149         * src/cmd.c, src/marshall.c, src/sysfs.c: Include <string.h>,
150         since it is no longer implicitly included via <sysfs/libsysfs.h>.
151
152         * include/infiniband/driver.h, include/infiniband/verbs.h,
153         src/device.c, src/init.c, src/verbs.c: Remove dependency on
154         libsysfs by implementing what is required directly on top of
155         filesystem operations.
156
157         * include/infiniband/driver.h, src/init.c: Change name of driver
158         entry point to ibv_driver_init(), and update prototype to remove
159         libsysfs dependency.
160
161         * src/marshall.c, include/infiniband/marshall.h,
162         include/infiniband/sa.h: Remove deprecated ib_xxx symbols.
163
164         * Makefile.am: Bump SONAME to 2, since libibverbs 1.1 will be
165         ABI-incompatible with libibverbs 1.0.
166
167         * Create libibverbs 1.1 branch and bump version number to 1.1-pre1.
168
169 2006-05-22  Michael S. Tsirkin  <mst@mellanox.co.il>
170
171         * include/infiniband/verbs.h: Remove trailing commas from
172         enumerators to quiet warnings from obsolete compilers.
173
174 2006-05-02  Roland Dreier  <rdreier@cisco.com>
175
176         * Release version 1.0.3.
177
178 2006-05-01  Roland Dreier  <rdreier@cisco.com>
179
180         * include/infiniband/arch.h: Only SPARC V9 ISA supports membar.
181         So just use generic memory barrier for older sparc archs.
182
183 2006-04-11  Roland Dreier  <rdreier@cisco.com>
184
185         * src/sysfs.c (ibv_read_sysfs_file): Fix memory leak if open fails.
186
187         * src/device.c (ibv_get_device_guid), src/verbs.c (ibv_query_gid,
188         ibv_query_pkey), src/init.c (init_drivers, check_abi_version): Use
189         libibverbs functions instead of libsysfs functions to get to sysfs.
190
191         * src/sysfs.c (ibv_get_sysfs_path, ibv_read_sysfs_file): Add some
192         simple functions for accessing sysfs without using libsysfs.
193
194         * include/infiniband/sa-kern-abi.h: Deprecate struct
195         ib_kern_path_rec name; struct ibv_kern_path_rec is now preferred.
196
197         * include/infiniband/sa.h: Deprecate struct ib_sa_XXX names;
198         struct ibv_sa_XXX is now preferred.
199
200         * src/marshall.c, include/infiniband/marshall.h: Deprecate
201         ib_copy_XXX() names; ibv_copy_XXX() is preferred.  Add stub
202         wrappers with the old names so old binaries still work.
203
204 2006-04-11  Hoang-Nam Nguyen  <HNGUYEN@de.ibm.com>
205
206         * src/verbs.c (ibv_rate_to_mult, mult_to_ibv_rate): Add new
207         functions to convert between IB rate enums and multiples of the
208         base 2.5 Gb/sec rate.
209
210 2006-04-11  Roland Dreier  <rdreier@cisco.com>
211
212         * include/infiniband/verbs.h: Add __attribute_const macro to
213         portably mark functions as __attribute__((const))
214
215 2006-03-28  Roland Dreier  <rdreier@cisco.com>
216
217         * src/init.c (load_driver): Print warning if dlopen() of a driver
218         plugin fails.
219
220 2006-03-22  Dotan Barak  <dotanb@mellanox.co.il>
221
222         * examples/asyncwatch.c: Print asynchronous event name as well as
223         raw integer value.
224         
225 2006-03-22  Roland Dreier  <rdreier@cisco.com>
226
227         * include/infiniband/verbs.h (ibv_req_notify_cq): Document
228         parameters better.
229
230 2006-03-16  Roland Dreier  <rdreier@cisco.com>
231
232         * src/cmd.c, src/device.c, src/memory.c, src/verbs.c: Add include
233         of <stdlib.h> to get a declaration of free() and avoid compile
234         warnings.
235
236 2006-03-14  Roland Dreier  <rdreier@cisco.com>
237
238         * Release version 1.0.2.
239
240         * Makefile.am (EXTRA_DIST): Remove debian/ directory from
241         tarballs, since Debian policy is that upstream tarballs should not
242         include it.
243
244 2006-03-13  Roland Dreier  <rdreier@cisco.com>
245
246         * Release version 1.0.1.
247
248         * src/init.c (check_abi_version), src/verbs.c (ibv_query_gid,
249         ibv_query_pkey): Use sysfs_open_attribute() and
250         sysfs_read_attribute() instead of the deprecated function
251         sysfs_read_attribute_value(), which is no longer present in
252         libsysfs2 (which is already in Debian and Ubuntu).
253
254         * Release version 1.0.
255
256 2006-03-06  Roland Dreier  <rdreier@cisco.com>
257
258         * include/infiniband/verbs.h: Add enum ibv_rate to define encoding
259         of static_rate field (based on a patch from Jack Morgenstein
260         <jackm@mellanox.co.il>).
261
262 2006-03-06  Ralph Campbell  <ralphc@pathscale.com>
263
264         * src/init.c (find_drivers): Fix minor memory leak: call
265         globfree() to free memory allocated by glob().
266
267 2006-02-23  Dotan Barak  <dotanb@mellanox.co.il>
268
269         * src/cmd.c (ibv_cmd_create_srq): Add support for kernel ABI
270         version 6 (take SRQ capacity from kernel response to create SRQ).
271
272 2006-02-16  Roland Dreier  <rdreier@cisco.com>
273
274         * Release version 1.0-rc7.
275
276         * src/cmd.c (ibv_cmd_create_qp): Add support for kernel ABI
277         version 5 (properly aligned struct ibv_create_qp_resp).
278
279 2006-02-15  Roland Dreier  <rdreier@cisco.com>
280
281         * src/cmd.c (ibv_cmd_create_qp): Allow userspace device-specific
282         driver to pass in a response buffer, so that the low-level driver
283         in the kernel can pass back device-specific information.  This
284         changes the userspace driver API, since the signature of
285         ibv_cmd_create_qp() is changed.
286
287 2006-02-14  Roland Dreier  <rdreier@cisco.com>
288
289         * Release version 1.0-rc6.
290
291 2006-02-13  Dotan Barak  <dotanb@mellanox.co.il>
292
293         * examples/devinfo.c (print_hca_cap): Print board_id from sysfs,
294         if present.
295
296 2006-02-13  Roland Dreier  <rdreier@cisco.com>
297
298         * examples/asyncwatch.c, examples/device_list.c,
299         examples/devinfo.c: Remove cpu_to_be64()/be64_to_cpu() and use
300         htonll()/ntohll() from <infiniband/arch.h>.
301
302 2006-02-13  Dotan Barak  <dotanb@mellanox.co.il>
303
304         * src/cmd.c (ibv_cmd_query_qp, ibv_cmd_query_srq),
305         include/infiniband/driver.h: Add driver interface for calling
306         query QP and query SRQ kernel commands.
307
308         * include/infiniband/kern-abi.h: Add kernel ABI for query QP and
309         query SRQ.
310
311         * src/verbs.c (ibv_query_qp, ibv_query_srq),
312         include/infiniband/verbs.h: Add query QP and query SRQ library
313         APIs.  This changes the provider ABI, since new fields are added
314         to struct ibv_context_ops; source compatibility with provider
315         libraries is preserved, but binaries will have to be recompiled.
316         Neither source nor binary compatibility with consumers of
317         libibverbs is affected.
318
319 2006-02-01  Roland Dreier  <rdreier@cisco.com>
320
321         * examples/rc_pingpong.c, examples/uc_pingpong.c,
322         examples/ud_pingpong.c, examples/srq_pingpong.c: Fix bug in
323         searching for device by name when there's more than one device.
324
325 2006-01-31  Roland Dreier  <rdreier@cisco.com>
326
327         * include/infiniband/verbs.h, include/infiniband/driver.h: Remove
328         useless "extern" from function declarations.
329
330 2006-01-26  Roland Dreier  <rdreier@cisco.com>
331
332         * include/infiniband/driver.h, src/cmd.c (ibv_cmd_resize_cq): Add
333         driver interface for calling resize CQ kernel command.
334
335         * include/infiniband/kern-abi.h: Add resize CQ kernel ABI.
336
337         * include/infiniband/verbs.h, src/verbs.c (ibv_resize_cq): Add
338         resize CQ library API.  This changes the provider ABI, since a new
339         field is added to struct ibv_context_ops; source compatibility
340         with provider libraries is preserved, but binaries will have to be
341         recompiled.  Neither source nor binary compatibility with
342         consumers of libibverbs is affected.
343
344 2006-01-25  Roland Dreier  <rdreier@cisco.com>
345
346         * examples/pingpong.c, examples/pingpong.h,
347         examples/rc_pingpong.c, examples/uc_pingpong.c,
348         examples/srq_pingpong.c: Move pp_get_local_lid() to pingpong.c to
349         reduce code duplication.
350
351 2006-01-22  Roland Dreier  <rdreier@cisco.com>
352
353         * Release version 1.0-rc5.
354
355 2006-01-22  Dotan Barak  <dotanb@mellanox.co.il>
356
357         * examples/devinfo.c (main): Make ibv_devinfo list all IB devices
358         by default, rather than the first device only.
359
360 2006-01-20  Roland Dreier  <rdreier@cisco.com>
361
362         * examples/rc_pingpong.c, examples/uc_pingpong.c,
363         examples/srq_pingpong.c: Add "-m/--mtu=" option to set path MTU.
364         (Based on a patch from Ralph Campbell <ralphc@pathscale.com>)
365
366         * examples/pingpong.c, examples/pingpong.h: Create generic
367         pingpong files so that we can start factoring out common code from
368         the pingpong examples.  Start with functions to convert MTU to an
369         IBV enum value.
370
371 2006-01-17  Ralph Campbell  <ralphc@pathscale.com>
372
373         * examples/rc_pingpong.c (main), examples/srq_pingpong.c (main),
374         examples/uc_pingpong.c (main), examples/ud_pingpong.c (main): Fix
375         race when using CQ events by arming CQ before allowing remote side
376         to start sending.
377
378 2006-01-06  Roland Dreier  <rdreier@cisco.com>
379
380         * examples/srq_pingpong.c (main): Fix SRQ example to avoid
381         problems with many QPs and events.  Based on a patch from Dotan
382         Barak (who also found the problem).
383
384 2006-01-06  Ralph Campbell  <ralphc@pathscale.com>
385
386         * examples/rc_pingpong.c (main), examples/srq_pingpong.c (main),
387         examples/uc_pingpong.c (main), examples/ud_pingpong.c (main): Fix
388         test of return value of ibv_poll_cq().
389
390 2006-01-04  Dotan Barak  <dotanb@mellanox.co.il>
391
392         * include/infiniband/verbs.h: Fix mask names in description of
393         ibv_modify_srq.
394
395 2006-01-04  Michael S. Tsirkin  <mst@mellanox.co.il>
396
397         * src/init.c (ibverbs_init): Fix ibverbs_init for multiple adapters.
398         Noted by Christoph Raisch.
399
400 2005-12-15  Roland Dreier  <rdreier@cisco.com>
401
402         * include/infiniband/verbs.h: Document that devices must be opened
403         before calling ibv_free_device_list().
404         
405         * src/verbs.c (ibv_create_srq): Not all provider libraries will
406         support SRQs, so check if the create_srq method is defined before
407         calling it.  (Based on a patch from Shirley Ma <xma@us.ibm.com>)
408
409 2005-11-11  Roland Dreier  <roland@cisco.com>
410
411         * examples/asyncwatch.c, examples/rc_pingpong.c,
412         examples/srq_pingpong.c, examples/uc_pingpong.c,
413         examples/ud_pingpong.c, examples/device_list.c,
414         examples/devinfo.c: Update examples to match new API.
415         
416         * include/infiniband/verbs.h, src/device.c, src/init.c,
417         src/ibverbs.h: Change from dlist-based ibv_get_devices() API to
418         simpler ibv_get_device_list() and ibv_free_device_list() API.
419
420 2005-11-10  Sean Hefty  <sean.hefty@intel.com>
421
422         * include/infiniband/sa-kern-abi.h: New include file to contain
423         definitions of SA structures passed between userspace and kernel.
424
425         * include/infiniband/sa.h: New include file for definitions of 
426         SA structures used by multiple libraries.
427
428         * include/infiniband/marshall.h src/marshall.c: New files to define
429         routines used to exchange data with kernel modules.
430
431         * include/infiniband/kern-abi.h: Added data structures used to exchange
432         QP attribute with kernel modules.
433
434 2005-11-09  Michael S. Tsirkin  <mst@mellanox.co.il>
435
436         * src/device.c (ibv_get_devices): Make function reentrant by using
437         a mutex to make sure we initialize the device list at most once.
438
439 2005-11-08  Roland Dreier  <roland@cisco.com>
440
441         * src/cmd.c (ibv_cmd_create_qp): Add handling for new create QP
442         interface, which has the kernel return QP capabilities.
443
444         * src/cmd.c (ibv_cmd_modify_srq): Split off handling of modify SRQ
445         for ABI versions 3 and older, which passed max_sge as part of command.
446
447 2005-10-30  Roland Dreier  <roland@cisco.com>
448
449         * examples/srq_pingpong.c (pp_init_ctx): Create CQ with rx_depth +
450         num_qp entries, instead of just rx_depth + 1 entries, because
451         there can be one send completion pending for each QP.
452
453 2005-10-25  Roland Dreier  <roland@cisco.com>
454
455         * Release version 1.0-rc4.
456
457         * examples/uc_pingpong.c (pp_connect_ctx): Fix QP attribute masks
458         used to modify QP to RTR and RTS -- we should not be setting
459         RDMA/atomic attributes for UC QPs.  Now that the mthca kernel
460         driver bug is fixed, the error is exposed here.
461
462         * examples/rc_pingpong.c, examples/srq_pingpong.c,
463         examples/uc_pingpong.c, examples/ud_pingpong.c: Keep track of
464         whether send and/or receive is pending.  This avoids failures when
465         the remote side receives data and posts a send very quickly, and
466         the local side completes the receive before the previous send.
467         With the old code, this could result in posting a send before the
468         previous send completed, and therefore overrun the send queue.
469
470 2005-10-23  Roland Dreier  <roland@cisco.com>
471
472         * src/cmd.c (ibv_cmd_get_context_v2): Correct silly mistake in
473         computation of size of buffer for old ABI command: we need to use
474         sizeof *cmd instead of sizeof cmd, since cmd is a pointer.
475
476 2005-10-21  Roland Dreier  <roland@cisco.com>
477
478         * src/cmd.c (ibv_cmd_post_send, ibv_cmd_post_recv,
479         ibv_cmd_post_srq_recv): Correct value that we check write() return
480         value against so that we check against the size we actually try to
481         write, instead of just sizeof cmd.
482
483 2005-10-19  Roland Dreier  <roland@cisco.com>
484
485         * src/cmd.c (ibv_cmd_req_notify_cq): Correct how we pass
486         solicited_only flag into the kernel.
487
488 2005-10-13  Roland Dreier  <roland@cisco.com>
489
490         * include/infiniband/driver.h, src/cmd.c, src/libibverbs.map: Add
491         command functions for calling new kernel commands.
492
493         * include/infiniband/verbs.h: Add qp_type to struct ibv_qp so that
494         we know when we're posting a send on a UD QP, and add kernel
495         handle member to struct ibv_ah so we can handle drivers that do
496         create AH and destroy AH operations in the kernel.
497         
498         * include/infiniband/kern-abi.h: Add new command structures for
499         poll CQ, request notification for CQ, post send, post receive,
500         post SRQ receive, create AH and destroy AH commands.  These will
501         be used by the PathScale userspace driver.
502
503 2005-10-12  Roland Dreier  <roland@cisco.com>
504
505         * examples/srq_pingpong.c (main): Zero out unused entries in
506         my_dest array to avoid string overflows when we send to the other
507         side.
508
509 2005-10-09  Roland Dreier  <roland@cisco.com>
510
511         * examples/devinfo.c (print_hca_cap): Only print max_mr_size and
512         page_size_cap if verbose is set.
513
514 2005-10-05  Roland Dreier  <roland@cisco.com>
515
516         * src/cmd.c (ibv_cmd_modify_srq): Add function for marshalling
517         modify SRQ command.
518
519 2005-09-29  Roland Dreier  <roland@cisco.com>
520
521         * examples/devinfo.c (print_hca_cap): Get rid of formatting of
522         firmware version in what should be device-independent code.
523
524         * include/infiniband/driver.h, include/infiniband/verbs.h,
525         src/cmd.c (ibv_cmd_query_device): Change firmware version in
526         struct ibv_device_attr to be a string formatted by device-specific
527         library.
528
529 2005-09-25  Roland Dreier  <roland@cisco.com>
530
531         * examples/rc_pingpong.c, examples/srq_pingpong.c,
532         examples/uc_pingpong.c, examples/ud_pingpong.c: Update to match
533         new completion channel and CQ creation API.
534
535         * include/infiniband/driver.h, include/infiniband/verbs.h,
536         src/device.c, src/ibverbs.h, src/verbs.c, src/cmd.c: Add notion of
537         "completion channel" that allows consumers to dynamically create
538         and destroy file descriptors for retrieving completion events.
539         Completion channels are handled natively with kernel ABI version 3
540         and simulated with backwards compatibility implementations for ABI
541         versions 1 and 2.
542
543         * include/infiniband/kern-abi.h: Update to match kernel ABI
544         version 3.
545
546 2005-09-07  Roland Dreier  <roland@cisco.com>
547
548         * src/device.c (ibv_get_device_guid): Use htonll() instead of
549         relying on pointer aliasing (which seems to break for some gcc
550         versions).
551
552         * include/infiniband/arch.h: Add htonll() and ntohll() functions.
553
554 2005-09-06  Roland Dreier  <roland@cisco.com>
555
556         * include/infiniband/kern-abi.h, include/infiniband/verbs.h,
557         src/cmd.c, src/device.c, src/verbs.c, examples/asyncwatch.c:
558         Update to handle new kernel ABI for avoiding stale completion
559         events.  This is completely analogous to the previous asynchronous
560         event change.
561
562 2005-08-31  Roland Dreier  <roland@cisco.com>
563
564         * include/infiniband/kern-abi.h, include/infiniband/verbs.h,
565         src/cmd.c, src/device.c, src/ibverbs.h, src/init.c, src/verbs.c,
566         examples/asyncwatch.c: Update to handle new kernel ABI for
567         avoiding stale asynchronous events.  When a CQ, QP or SRQ is
568         destroyed, the kernel reports the number of events it has given to
569         userspace, and we wait until we've handled the same number of
570         events.
571
572         This does introduce a library API change: consumers are now
573         required to call ibv_put_async_event() to release every
574         asynchronous event that they retrieve via ibv_get_async_event().
575
576 2005-08-30  Roland Dreier  <roland@cisco.com>
577
578         * man/ibv_asyncwatch.1, man/ibv_devices.1, man/ibv_devinfo.1,
579         man/ibv_rc_pingpong.1, man/ibv_srq_pingpong.1,
580         man/ibv_uc_pingpong.1, man/ibv_ud_pingpong.1: Add man pages for
581         example programs.
582
583         * examples/devinfo.c: Merge with Dotan Barak's vstat tool.