brpc
brpc copied to clipboard
bugfix: extend block pool runtime
What problem does this PR solve?
Issue Number:
Problem Summary:
rdma block pool runtime ExtendBlockPool has some error:
- a region may has many buckets, extend a region not hold all bucket locks, will case race condition, disable runtime extend a region when buckets greater than 1.
- when new region created, link the region to idle_list case link list break.
- add feature, in scenarios where users need to manually specify memory regions (e.g., using hugepages or custom memory pools), when FLAGS_rdma_memory_pool_user_specified_memory is true, user is responsibility of extending memory blocks , this ensuring flexibility for advanced use cases.
What is changed and the side effects?
Changed:
Side effects:
-
Performance effects:
-
Breaking backward compatibility:
Check List:
- Please make sure your changes are compilable.
- When providing us with a new feature, it is best to add related tests.
- Please follow Contributor Covenant Code of Conduct.