_fl_ 65 dev/raidframe/rf_freelist.h #define RF_FREELIST_STAT_INIT(_fl_) \ _fl_ 67 dev/raidframe/rf_freelist.h bzero((char *)&((_fl_)->stats), sizeof(RF_FreeListStats_t)); \ _fl_ 68 dev/raidframe/rf_freelist.h (_fl_)->stats.file = __FILE__; \ _fl_ 69 dev/raidframe/rf_freelist.h (_fl_)->stats.line = __LINE__; \ _fl_ 72 dev/raidframe/rf_freelist.h #define RF_FREELIST_STAT_ALLOC(_fl_) \ _fl_ 74 dev/raidframe/rf_freelist.h (_fl_)->stats.allocations++; \ _fl_ 75 dev/raidframe/rf_freelist.h (_fl_)->stats.outstanding++; \ _fl_ 76 dev/raidframe/rf_freelist.h if ((_fl_)->stats.outstanding > (_fl_)->stats.max_outstanding) \ _fl_ 77 dev/raidframe/rf_freelist.h (_fl_)->stats.max_outstanding = \ _fl_ 78 dev/raidframe/rf_freelist.h (_fl_)->stats.outstanding; \ _fl_ 81 dev/raidframe/rf_freelist.h #define RF_FREELIST_STAT_FREE_UPDATE(_fl_) \ _fl_ 83 dev/raidframe/rf_freelist.h if ((_fl_)->free_cnt > (_fl_)->stats.max_free) \ _fl_ 84 dev/raidframe/rf_freelist.h (_fl_)->stats.max_free = (_fl_)->free_cnt; \ _fl_ 87 dev/raidframe/rf_freelist.h #define RF_FREELIST_STAT_FREE(_fl_) \ _fl_ 89 dev/raidframe/rf_freelist.h (_fl_)->stats.frees++; \ _fl_ 90 dev/raidframe/rf_freelist.h (_fl_)->stats.outstanding--; \ _fl_ 91 dev/raidframe/rf_freelist.h RF_FREELIST_STAT_FREE_UPDATE(_fl_); \ _fl_ 94 dev/raidframe/rf_freelist.h #define RF_FREELIST_STAT_GROW(_fl_) \ _fl_ 96 dev/raidframe/rf_freelist.h (_fl_)->stats.grows++; \ _fl_ 97 dev/raidframe/rf_freelist.h RF_FREELIST_STAT_FREE_UPDATE(_fl_); \ _fl_ 100 dev/raidframe/rf_freelist.h #define RF_FREELIST_STAT_REPORT(_fl_) \ _fl_ 102 dev/raidframe/rf_freelist.h printf("Freelist at %s %d (%s)\n", (_fl_)->stats.file, \ _fl_ 103 dev/raidframe/rf_freelist.h (_fl_)->stats.line, RF_STRING(_fl_)); \ _fl_ 105 dev/raidframe/rf_freelist.h (_fl_)->stats.allocations, (_fl_)->stats.frees); \ _fl_ 106 dev/raidframe/rf_freelist.h printf(" %d grows\n", (_fl_)->stats.grows); \ _fl_ 107 dev/raidframe/rf_freelist.h printf(" %d outstanding\n", (_fl_)->stats.outstanding); \ _fl_ 108 dev/raidframe/rf_freelist.h printf(" %d free (max)\n", (_fl_)->stats.max_free); \ _fl_ 110 dev/raidframe/rf_freelist.h (_fl_)->stats.max_outstanding); \ _fl_ 115 dev/raidframe/rf_freelist.h #define RF_FREELIST_STAT_INIT(_fl_) _fl_ 116 dev/raidframe/rf_freelist.h #define RF_FREELIST_STAT_ALLOC(_fl_) _fl_ 117 dev/raidframe/rf_freelist.h #define RF_FREELIST_STAT_FREE_UPDATE(_fl_) _fl_ 118 dev/raidframe/rf_freelist.h #define RF_FREELIST_STAT_FREE(_fl_) _fl_ 119 dev/raidframe/rf_freelist.h #define RF_FREELIST_STAT_GROW(_fl_) _fl_ 120 dev/raidframe/rf_freelist.h #define RF_FREELIST_STAT_REPORT(_fl_) _fl_ 142 dev/raidframe/rf_freelist.h #define RF_FREELIST_CREATE(_fl_,_maxcnt_,_inc_,_size_) \ _fl_ 146 dev/raidframe/rf_freelist.h RF_Malloc(_fl_, sizeof(RF_FreeList_t), (RF_FreeList_t *)); \ _fl_ 147 dev/raidframe/rf_freelist.h (_fl_)->objlist = NULL; \ _fl_ 148 dev/raidframe/rf_freelist.h (_fl_)->free_cnt = 0; \ _fl_ 149 dev/raidframe/rf_freelist.h (_fl_)->max_free_cnt = _maxcnt_; \ _fl_ 150 dev/raidframe/rf_freelist.h (_fl_)->obj_inc = _inc_; \ _fl_ 151 dev/raidframe/rf_freelist.h (_fl_)->obj_size = _size_; \ _fl_ 152 dev/raidframe/rf_freelist.h rc = rf_mutex_init(&(_fl_)->lock); \ _fl_ 154 dev/raidframe/rf_freelist.h RF_Free(_fl_, sizeof(RF_FreeList_t)); \ _fl_ 155 dev/raidframe/rf_freelist.h _fl_ = NULL; \ _fl_ 157 dev/raidframe/rf_freelist.h RF_FREELIST_STAT_INIT(_fl_); \ _fl_ 166 dev/raidframe/rf_freelist.h #define RF_FREELIST_PRIME(_fl_,_cnt_,_nextp_,_cast_) \ _fl_ 170 dev/raidframe/rf_freelist.h RF_LOCK_MUTEX((_fl_)->lock); \ _fl_ 172 dev/raidframe/rf_freelist.h RF_Calloc(_p, 1, (_fl_)->obj_size, (void *)); \ _fl_ 174 dev/raidframe/rf_freelist.h (_cast_(_p))->_nextp_ = (_fl_)->objlist; \ _fl_ 175 dev/raidframe/rf_freelist.h (_fl_)->objlist = _p; \ _fl_ 176 dev/raidframe/rf_freelist.h (_fl_)->free_cnt++; \ _fl_ 182 dev/raidframe/rf_freelist.h RF_FREELIST_STAT_FREE_UPDATE(_fl_); \ _fl_ 183 dev/raidframe/rf_freelist.h RF_UNLOCK_MUTEX((_fl_)->lock); \ _fl_ 186 dev/raidframe/rf_freelist.h #define RF_FREELIST_MUTEX_OF(_fl_) ((_fl_)->lock) _fl_ 188 dev/raidframe/rf_freelist.h #define RF_FREELIST_DO_UNLOCK(_fl_) RF_UNLOCK_MUTEX((_fl_)->lock) _fl_ 190 dev/raidframe/rf_freelist.h #define RF_FREELIST_DO_LOCK(_fl_) RF_LOCK_MUTEX((_fl_)->lock) _fl_ 199 dev/raidframe/rf_freelist.h #define RF_FREELIST_PRIME_INIT(_fl_,_cnt_,_nextp_,_cast_,_init_) \ _fl_ 203 dev/raidframe/rf_freelist.h RF_LOCK_MUTEX((_fl_)->lock); \ _fl_ 205 dev/raidframe/rf_freelist.h RF_Calloc(_p, 1, (_fl_)->obj_size, (void *)); \ _fl_ 207 dev/raidframe/rf_freelist.h RF_Free(_p, (_fl_)->obj_size); \ _fl_ 211 dev/raidframe/rf_freelist.h (_cast_(_p))->_nextp_ = (_fl_)->objlist; \ _fl_ 212 dev/raidframe/rf_freelist.h (_fl_)->objlist = _p; \ _fl_ 213 dev/raidframe/rf_freelist.h (_fl_)->free_cnt++; \ _fl_ 219 dev/raidframe/rf_freelist.h RF_FREELIST_STAT_FREE_UPDATE(_fl_); \ _fl_ 220 dev/raidframe/rf_freelist.h RF_UNLOCK_MUTEX((_fl_)->lock); \ _fl_ 231 dev/raidframe/rf_freelist.h #define RF_FREELIST_PRIME_INIT_ARG(_fl_,_cnt_,_nextp_,_cast_,_init_,_arg_) \ _fl_ 235 dev/raidframe/rf_freelist.h RF_LOCK_MUTEX((_fl_)->lock); \ _fl_ 237 dev/raidframe/rf_freelist.h RF_Calloc(_p, 1, (_fl_)->obj_size, (void *)); \ _fl_ 239 dev/raidframe/rf_freelist.h RF_Free(_p, (_fl_)->obj_size); \ _fl_ 243 dev/raidframe/rf_freelist.h (_cast_(_p))->_nextp_ = (_fl_)->objlist; \ _fl_ 244 dev/raidframe/rf_freelist.h (_fl_)->objlist = _p; \ _fl_ 245 dev/raidframe/rf_freelist.h (_fl_)->free_cnt++; \ _fl_ 251 dev/raidframe/rf_freelist.h RF_FREELIST_STAT_FREE_UPDATE(_fl_); \ _fl_ 252 dev/raidframe/rf_freelist.h RF_UNLOCK_MUTEX((_fl_)->lock); \ _fl_ 262 dev/raidframe/rf_freelist.h #define RF_FREELIST_GET_INIT(_fl_,_obj_,_nextp_,_cast_,_init_) \ _fl_ 266 dev/raidframe/rf_freelist.h RF_LOCK_MUTEX((_fl_)->lock); \ _fl_ 267 dev/raidframe/rf_freelist.h RF_ASSERT(sizeof(*(_obj_)) == ((_fl_)->obj_size)); \ _fl_ 268 dev/raidframe/rf_freelist.h if (_fl_->objlist) { \ _fl_ 269 dev/raidframe/rf_freelist.h _obj_ = _cast_((_fl_)->objlist); \ _fl_ 270 dev/raidframe/rf_freelist.h (_fl_)->objlist = (void *)((_obj_)->_nextp_); \ _fl_ 271 dev/raidframe/rf_freelist.h (_fl_)->free_cnt--; \ _fl_ 279 dev/raidframe/rf_freelist.h RF_Calloc(_obj_, 1, (_fl_)->obj_size, _cast_); \ _fl_ 282 dev/raidframe/rf_freelist.h RF_Free(_obj_, (_fl_)->obj_size); \ _fl_ 286 dev/raidframe/rf_freelist.h for (_i = 1; _i < (_fl_)->obj_inc; \ _fl_ 289 dev/raidframe/rf_freelist.h (_fl_)->obj_size, \ _fl_ 294 dev/raidframe/rf_freelist.h (_fl_)->obj_size); \ _fl_ 299 dev/raidframe/rf_freelist.h (_fl_)->objlist; \ _fl_ 300 dev/raidframe/rf_freelist.h (_fl_)->objlist = _p; \ _fl_ 308 dev/raidframe/rf_freelist.h RF_FREELIST_STAT_GROW(_fl_); \ _fl_ 310 dev/raidframe/rf_freelist.h RF_FREELIST_STAT_ALLOC(_fl_); \ _fl_ 311 dev/raidframe/rf_freelist.h RF_UNLOCK_MUTEX((_fl_)->lock); \ _fl_ 322 dev/raidframe/rf_freelist.h #define RF_FREELIST_GET_INIT_ARG(_fl_,_obj_,_nextp_,_cast_,_init_,_arg_) \ _fl_ 326 dev/raidframe/rf_freelist.h RF_LOCK_MUTEX((_fl_)->lock); \ _fl_ 327 dev/raidframe/rf_freelist.h RF_ASSERT(sizeof(*(_obj_)) == ((_fl_)->obj_size)); \ _fl_ 328 dev/raidframe/rf_freelist.h if (_fl_->objlist) { \ _fl_ 329 dev/raidframe/rf_freelist.h _obj_ = _cast_((_fl_)->objlist); \ _fl_ 330 dev/raidframe/rf_freelist.h (_fl_)->objlist = (void *)((_obj_)->_nextp_); \ _fl_ 331 dev/raidframe/rf_freelist.h (_fl_)->free_cnt--; \ _fl_ 339 dev/raidframe/rf_freelist.h RF_Calloc(_obj_, 1, (_fl_)->obj_size, _cast_); \ _fl_ 342 dev/raidframe/rf_freelist.h RF_Free(_obj_, (_fl_)->obj_size); \ _fl_ 346 dev/raidframe/rf_freelist.h for (_i = 1; _i < (_fl_)->obj_inc; \ _fl_ 349 dev/raidframe/rf_freelist.h (_fl_)->obj_size, (void *)); \ _fl_ 354 dev/raidframe/rf_freelist.h (_fl_)->obj_size); \ _fl_ 359 dev/raidframe/rf_freelist.h (_fl_)->objlist; \ _fl_ 360 dev/raidframe/rf_freelist.h (_fl_)->objlist = _p; \ _fl_ 368 dev/raidframe/rf_freelist.h RF_FREELIST_STAT_GROW(_fl_); \ _fl_ 370 dev/raidframe/rf_freelist.h RF_FREELIST_STAT_ALLOC(_fl_); \ _fl_ 371 dev/raidframe/rf_freelist.h RF_UNLOCK_MUTEX((_fl_)->lock); \ _fl_ 381 dev/raidframe/rf_freelist.h #define RF_FREELIST_GET_INIT_NOUNLOCK(_fl_,_obj_,_nextp_,_cast_,_init_) \ _fl_ 385 dev/raidframe/rf_freelist.h RF_LOCK_MUTEX((_fl_)->lock); \ _fl_ 386 dev/raidframe/rf_freelist.h RF_ASSERT(sizeof(*(_obj_)) == ((_fl_)->obj_size)); \ _fl_ 387 dev/raidframe/rf_freelist.h if (_fl_->objlist) { \ _fl_ 388 dev/raidframe/rf_freelist.h _obj_ = _cast_((_fl_)->objlist); \ _fl_ 389 dev/raidframe/rf_freelist.h (_fl_)->objlist = (void *)((_obj_)->_nextp_); \ _fl_ 390 dev/raidframe/rf_freelist.h (_fl_)->free_cnt--; \ _fl_ 398 dev/raidframe/rf_freelist.h RF_Calloc(_obj_, 1, (_fl_)->obj_size, _cast_); \ _fl_ 401 dev/raidframe/rf_freelist.h RF_Free(_obj_, (_fl_)->obj_size); \ _fl_ 405 dev/raidframe/rf_freelist.h for (_i = 1; _i < (_fl_)->obj_inc; \ _fl_ 408 dev/raidframe/rf_freelist.h (_fl_)->obj_size, \ _fl_ 413 dev/raidframe/rf_freelist.h (_fl_)->obj_size); \ _fl_ 418 dev/raidframe/rf_freelist.h (_fl_)->objlist; \ _fl_ 419 dev/raidframe/rf_freelist.h (_fl_)->objlist = _p; \ _fl_ 427 dev/raidframe/rf_freelist.h RF_FREELIST_STAT_GROW(_fl_); \ _fl_ 429 dev/raidframe/rf_freelist.h RF_FREELIST_STAT_ALLOC(_fl_); \ _fl_ 438 dev/raidframe/rf_freelist.h #define RF_FREELIST_GET(_fl_,_obj_,_nextp_,_cast_) \ _fl_ 442 dev/raidframe/rf_freelist.h RF_LOCK_MUTEX((_fl_)->lock); \ _fl_ 443 dev/raidframe/rf_freelist.h RF_ASSERT(sizeof(*(_obj_)) == ((_fl_)->obj_size)); \ _fl_ 444 dev/raidframe/rf_freelist.h if (_fl_->objlist) { \ _fl_ 445 dev/raidframe/rf_freelist.h _obj_ = _cast_((_fl_)->objlist); \ _fl_ 446 dev/raidframe/rf_freelist.h (_fl_)->objlist = (void *)((_obj_)->_nextp_); \ _fl_ 447 dev/raidframe/rf_freelist.h (_fl_)->free_cnt--; \ _fl_ 455 dev/raidframe/rf_freelist.h RF_Calloc(_obj_, 1, (_fl_)->obj_size, _cast_); \ _fl_ 457 dev/raidframe/rf_freelist.h for (_i = 1; _i < (_fl_)->obj_inc; _i++) { \ _fl_ 458 dev/raidframe/rf_freelist.h RF_Calloc(_p, 1, (_fl_)->obj_size, \ _fl_ 462 dev/raidframe/rf_freelist.h (_fl_)->objlist; \ _fl_ 463 dev/raidframe/rf_freelist.h (_fl_)->objlist = _p; \ _fl_ 470 dev/raidframe/rf_freelist.h RF_FREELIST_STAT_GROW(_fl_); \ _fl_ 472 dev/raidframe/rf_freelist.h RF_FREELIST_STAT_ALLOC(_fl_); \ _fl_ 473 dev/raidframe/rf_freelist.h RF_UNLOCK_MUTEX((_fl_)->lock); \ _fl_ 483 dev/raidframe/rf_freelist.h #define RF_FREELIST_GET_N(_fl_,_obj_,_nextp_,_cast_,_num_) \ _fl_ 489 dev/raidframe/rf_freelist.h RF_LOCK_MUTEX((_fl_)->lock); \ _fl_ 490 dev/raidframe/rf_freelist.h RF_ASSERT(sizeof(*(_obj_)) == ((_fl_)->obj_size)); \ _fl_ 492 dev/raidframe/rf_freelist.h if (_fl_->objlist) { \ _fl_ 493 dev/raidframe/rf_freelist.h _obj_ = _cast_((_fl_)->objlist); \ _fl_ 494 dev/raidframe/rf_freelist.h (_fl_)->objlist = (void *)((_obj_)->_nextp_); \ _fl_ 495 dev/raidframe/rf_freelist.h (_fl_)->free_cnt--; \ _fl_ 503 dev/raidframe/rf_freelist.h RF_Calloc(_obj_, 1, (_fl_)->obj_size, _cast_); \ _fl_ 505 dev/raidframe/rf_freelist.h for (_i = 1; _i < (_fl_)->obj_inc; \ _fl_ 508 dev/raidframe/rf_freelist.h (_fl_)->obj_size, \ _fl_ 512 dev/raidframe/rf_freelist.h (_fl_)->objlist; \ _fl_ 513 dev/raidframe/rf_freelist.h (_fl_)->objlist = _p; \ _fl_ 520 dev/raidframe/rf_freelist.h RF_FREELIST_STAT_GROW(_fl_); \ _fl_ 527 dev/raidframe/rf_freelist.h RF_FREELIST_STAT_ALLOC(_fl_); \ _fl_ 530 dev/raidframe/rf_freelist.h (_cast_(_f))->_nextp_ = (_fl_)->objlist; \ _fl_ 531 dev/raidframe/rf_freelist.h (_fl_)->objlist = _l; \ _fl_ 535 dev/raidframe/rf_freelist.h RF_UNLOCK_MUTEX((_fl_)->lock); \ _fl_ 543 dev/raidframe/rf_freelist.h #define RF_FREELIST_FREE(_fl_,_obj_,_nextp_) \ _fl_ 545 dev/raidframe/rf_freelist.h RF_LOCK_MUTEX((_fl_)->lock); \ _fl_ 546 dev/raidframe/rf_freelist.h if ((_fl_)->free_cnt == (_fl_)->max_free_cnt) { \ _fl_ 547 dev/raidframe/rf_freelist.h RF_Free(_obj_, (_fl_)->obj_size); \ _fl_ 550 dev/raidframe/rf_freelist.h RF_ASSERT((_fl_)->free_cnt < (_fl_)->max_free_cnt); \ _fl_ 551 dev/raidframe/rf_freelist.h (_obj_)->_nextp_ = (_fl_)->objlist; \ _fl_ 552 dev/raidframe/rf_freelist.h (_fl_)->objlist = (void *)(_obj_); \ _fl_ 553 dev/raidframe/rf_freelist.h (_fl_)->free_cnt++; \ _fl_ 555 dev/raidframe/rf_freelist.h RF_FREELIST_STAT_FREE(_fl_); \ _fl_ 556 dev/raidframe/rf_freelist.h RF_UNLOCK_MUTEX((_fl_)->lock); \ _fl_ 565 dev/raidframe/rf_freelist.h #define RF_FREELIST_FREE_N(_fl_,_obj_,_nextp_,_cast_,_num_) \ _fl_ 570 dev/raidframe/rf_freelist.h RF_LOCK_MUTEX((_fl_)->lock); \ _fl_ 573 dev/raidframe/rf_freelist.h if ((_fl_)->free_cnt == (_fl_)->max_free_cnt) { \ _fl_ 574 dev/raidframe/rf_freelist.h RF_Free(_obj_, (_fl_)->obj_size); \ _fl_ 577 dev/raidframe/rf_freelist.h RF_ASSERT((_fl_)->free_cnt < \ _fl_ 578 dev/raidframe/rf_freelist.h (_fl_)->max_free_cnt); \ _fl_ 579 dev/raidframe/rf_freelist.h (_obj_)->_nextp_ = (_fl_)->objlist; \ _fl_ 580 dev/raidframe/rf_freelist.h (_fl_)->objlist = (void *)(_obj_); \ _fl_ 581 dev/raidframe/rf_freelist.h (_fl_)->free_cnt++; \ _fl_ 585 dev/raidframe/rf_freelist.h RF_FREELIST_STAT_FREE(_fl_); \ _fl_ 588 dev/raidframe/rf_freelist.h RF_UNLOCK_MUTEX((_fl_)->lock); \ _fl_ 597 dev/raidframe/rf_freelist.h #define RF_FREELIST_FREE_CLEAN(_fl_,_obj_,_nextp_,_clean_) \ _fl_ 599 dev/raidframe/rf_freelist.h RF_LOCK_MUTEX((_fl_)->lock); \ _fl_ 600 dev/raidframe/rf_freelist.h if ((_fl_)->free_cnt == (_fl_)->max_free_cnt) { \ _fl_ 602 dev/raidframe/rf_freelist.h RF_Free(_obj_, (_fl_)->obj_size); \ _fl_ 605 dev/raidframe/rf_freelist.h RF_ASSERT((_fl_)->free_cnt < (_fl_)->max_free_cnt); \ _fl_ 606 dev/raidframe/rf_freelist.h (_obj_)->_nextp_ = (_fl_)->objlist; \ _fl_ 607 dev/raidframe/rf_freelist.h (_fl_)->objlist = (void *)(_obj_); \ _fl_ 608 dev/raidframe/rf_freelist.h (_fl_)->free_cnt++; \ _fl_ 610 dev/raidframe/rf_freelist.h RF_FREELIST_STAT_FREE(_fl_); \ _fl_ 611 dev/raidframe/rf_freelist.h RF_UNLOCK_MUTEX((_fl_)->lock); \ _fl_ 621 dev/raidframe/rf_freelist.h #define RF_FREELIST_FREE_CLEAN_ARG(_fl_,_obj_,_nextp_,_clean_,_arg_) \ _fl_ 623 dev/raidframe/rf_freelist.h RF_LOCK_MUTEX((_fl_)->lock); \ _fl_ 624 dev/raidframe/rf_freelist.h if ((_fl_)->free_cnt == (_fl_)->max_free_cnt) { \ _fl_ 626 dev/raidframe/rf_freelist.h RF_Free(_obj_, (_fl_)->obj_size); \ _fl_ 629 dev/raidframe/rf_freelist.h RF_ASSERT((_fl_)->free_cnt < (_fl_)->max_free_cnt); \ _fl_ 630 dev/raidframe/rf_freelist.h (_obj_)->_nextp_ = (_fl_)->objlist; \ _fl_ 631 dev/raidframe/rf_freelist.h (_fl_)->objlist = (void *)(_obj_); \ _fl_ 632 dev/raidframe/rf_freelist.h (_fl_)->free_cnt++; \ _fl_ 634 dev/raidframe/rf_freelist.h RF_FREELIST_STAT_FREE(_fl_); \ _fl_ 635 dev/raidframe/rf_freelist.h RF_UNLOCK_MUTEX((_fl_)->lock); \ _fl_ 644 dev/raidframe/rf_freelist.h #define RF_FREELIST_FREE_CLEAN_NOUNLOCK(_fl_,_obj_,_nextp_,_clean_) \ _fl_ 646 dev/raidframe/rf_freelist.h RF_LOCK_MUTEX((_fl_)->lock); \ _fl_ 647 dev/raidframe/rf_freelist.h if ((_fl_)->free_cnt == (_fl_)->max_free_cnt) { \ _fl_ 649 dev/raidframe/rf_freelist.h RF_Free(_obj_, (_fl_)->obj_size); \ _fl_ 652 dev/raidframe/rf_freelist.h RF_ASSERT((_fl_)->free_cnt < (_fl_)->max_free_cnt); \ _fl_ 653 dev/raidframe/rf_freelist.h (_obj_)->_nextp_ = (_fl_)->objlist; \ _fl_ 654 dev/raidframe/rf_freelist.h (_fl_)->objlist = (void *)(_obj_); \ _fl_ 655 dev/raidframe/rf_freelist.h (_fl_)->free_cnt++; \ _fl_ 657 dev/raidframe/rf_freelist.h RF_FREELIST_STAT_FREE(_fl_); \ _fl_ 665 dev/raidframe/rf_freelist.h #define RF_FREELIST_DESTROY(_fl_,_nextp_,_cast_) \ _fl_ 668 dev/raidframe/rf_freelist.h RF_FREELIST_STAT_REPORT(_fl_); \ _fl_ 669 dev/raidframe/rf_freelist.h rf_mutex_destroy(&((_fl_)->lock)); \ _fl_ 670 dev/raidframe/rf_freelist.h for (_cur = (_fl_)->objlist; _cur; _cur = _next) { \ _fl_ 672 dev/raidframe/rf_freelist.h RF_Free(_cur, (_fl_)->obj_size); \ _fl_ 674 dev/raidframe/rf_freelist.h RF_Free(_fl_, sizeof(RF_FreeList_t)); \ _fl_ 683 dev/raidframe/rf_freelist.h #define RF_FREELIST_DESTROY_CLEAN(_fl_,_nextp_,_cast_,_clean_) \ _fl_ 686 dev/raidframe/rf_freelist.h RF_FREELIST_STAT_REPORT(_fl_); \ _fl_ 687 dev/raidframe/rf_freelist.h rf_mutex_destroy(&((_fl_)->lock)); \ _fl_ 688 dev/raidframe/rf_freelist.h for (_cur = (_fl_)->objlist; _cur; _cur = _next) { \ _fl_ 691 dev/raidframe/rf_freelist.h RF_Free(_cur, (_fl_)->obj_size); \ _fl_ 693 dev/raidframe/rf_freelist.h RF_Free(_fl_, sizeof(RF_FreeList_t)); \ _fl_ 703 dev/raidframe/rf_freelist.h #define RF_FREELIST_DESTROY_CLEAN_ARG(_fl_,_nextp_,_cast_,_clean_,_arg_) \ _fl_ 706 dev/raidframe/rf_freelist.h RF_FREELIST_STAT_REPORT(_fl_); \ _fl_ 707 dev/raidframe/rf_freelist.h rf_mutex_destroy(&((_fl_)->lock)); \ _fl_ 708 dev/raidframe/rf_freelist.h for (_cur = (_fl_)->objlist; _cur; _cur = _next) { \ _fl_ 711 dev/raidframe/rf_freelist.h RF_Free(_cur, (_fl_)->obj_size); \ _fl_ 713 dev/raidframe/rf_freelist.h RF_Free(_fl_, sizeof(RF_FreeList_t)); \