12006-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
92006-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
162006-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
242006-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	
342006-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
672006-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
732006-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
792006-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
852006-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
1112006-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
1172006-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
1272006-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
1322006-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
1402006-05-31  Leonid Arsh  <leonida@voltaire.com>
141
142	* include/infiniband/verbs.h: Add IBV_EVENT_CLIENT_REREGISTER.
143
1442006-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
1692006-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
1742006-05-02  Roland Dreier  <rdreier@cisco.com>
175
176	* Release version 1.0.3.
177
1782006-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
1832006-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
2042006-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
2102006-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
2152006-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
2202006-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	
2252006-03-22  Roland Dreier  <rdreier@cisco.com>
226
227	* include/infiniband/verbs.h (ibv_req_notify_cq): Document
228	parameters better.
229
2302006-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
2362006-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
2442006-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
2562006-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
2622006-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
2672006-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
2722006-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
2792006-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
2872006-02-14  Roland Dreier  <rdreier@cisco.com>
288
289	* Release version 1.0-rc6.
290
2912006-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
2962006-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
3022006-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
3192006-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
3252006-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
3302006-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
3442006-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
3512006-01-22  Roland Dreier  <rdreier@cisco.com>
352
353	* Release version 1.0-rc5.
354
3552006-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
3602006-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
3712006-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
3782006-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
3842006-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
3902006-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
3952006-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
4002005-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
4092005-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
4202005-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
4342005-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
4392005-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
4472005-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
4532005-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
4702005-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
4762005-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
4832005-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
4882005-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
5032005-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
5092005-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
5142005-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
5192005-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
5292005-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
5462005-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
5542005-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
5622005-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
5762005-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.
584