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