Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
30 commits
Select commit Hold shift + click to select a range
1685ef6
DAOS-18487 object: control EC rebuild resource consumption
gnailzenh Jan 24, 2026
fc7efdc
DAOS-18487 object: degraded buffer size only impact resource control
gnailzenh Jan 26, 2026
eecf6d3
Merge branch 'master' into b_ec_res
gnailzenh Jan 26, 2026
cf0d064
DAOS-18487 object: amplify credits also for data from parity shard
gnailzenh Jan 28, 2026
b000ff0
DAOS-18487 object: try to wake up more ULTs
gnailzenh Jan 29, 2026
9086fc3
DAOS-18487 object: decrease upper limit of rebuild resource
gnailzenh Feb 3, 2026
eabe794
Merge branch 'master' into b_ec_res
gnailzenh Feb 12, 2026
c0f60ee
DAOS-18487 object: add resource bucket for rebuild
gnailzenh Feb 12, 2026
fb8b053
DAOS-18487 object: forget to unlock
gnailzenh Feb 13, 2026
71814b4
DAOS-18487 object: fix a typo
gnailzenh Feb 13, 2026
135d93e
DAOS-18487 object: shared resource waiters can miss the wakeup
gnailzenh Feb 16, 2026
672a738
DAOS-18487 object: remove the incorrect error handling
gnailzenh Feb 18, 2026
6f7b3ea
DAOS-18487 object: code reorgnization
gnailzenh Feb 22, 2026
3f5bf6b
Merge branch 'master' into b_ec_res
gnailzenh Feb 22, 2026
3d242d2
DAOS-18487 object: code cleanup
gnailzenh Feb 23, 2026
be0f4be
DAOS-18487 object: clang fix
gnailzenh Feb 23, 2026
92a0023
DAOS-18487 rebuild: remove obsolete comment
gnailzenh Mar 2, 2026
46b94fc
Merge branch 'master' into b_ec_res
gnailzenh Mar 2, 2026
462fd12
DAOS-18487 rebuild: fix a bug for shared resource
gnailzenh Mar 4, 2026
2178fcc
DAOS-18487 rebuild: seperate TLS and resource counter
gnailzenh Mar 4, 2026
9746b7e
Merge branch 'master' into b_ec_res
gnailzenh Mar 4, 2026
d0f8632
Fix some bugs during reviewing
wangshilong Mar 11, 2026
a6a5073
DAOS-18487 rebuild: fix a bug for starveling
gnailzenh Mar 11, 2026
e76123c
DAOS-18487 rebuild: code cleanup
gnailzenh Mar 12, 2026
047b71c
DAOS-18487 rebuild: add a few assertions
gnailzenh Mar 12, 2026
42bd6ed
Add watchdog to detect rebuild hang
wangshilong Mar 12, 2026
880aaae
codes cleanup
wangshilong Mar 12, 2026
3bcd524
DAOS-18487 rebuild: integer overflow
gnailzenh Mar 12, 2026
fb7a8c3
DAOS-18487 rebuild: code cleanup
gnailzenh Mar 16, 2026
442650d
Fix to reset eventual if reused
wangshilong Mar 17, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
33 changes: 29 additions & 4 deletions src/object/srv_internal.h
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
/**
* (C) Copyright 2016-2024 Intel Corporation.
* (C) Copyright 2025 Hewlett Packard Enterprise Development LP
* (C) Copyright 2025-2026 Hewlett Packard Enterprise Development LP
*
* SPDX-License-Identifier: BSD-2-Clause-Patent
*/
Expand All @@ -26,7 +26,29 @@

extern struct dss_module_key obj_module_key;

struct migr_res_manager;
/* anchor point of resource waiter
* NB: resource control can be a independent library in the future.
*/
struct migr_res_waiter {
struct migrate_pool_tls *rw_tls;
/* link chain on resource manager */
d_list_t rw_link;
/* quantity of resource being demanded */
uint64_t rw_units;
/* start to wait since... */
uint64_t rw_wait_since;
/* eventual to wait on */
ABT_eventual rw_eventual;
/* for eventual */
int *rw_rc;
};

/* resource handle */
struct migr_res_handle {
int rh_type;
int rh_bkt;
uint64_t rh_units;
};

/* Per pool attached to the migrate tls(per xstream) */
struct migrate_pool_tls {
Expand Down Expand Up @@ -80,8 +102,6 @@ struct migrate_pool_tls {
/* The current in-flight data size */
uint64_t mpt_inflight_size;

struct migr_res_manager *mpt_rmg;

/* reference count for the structure */
uint64_t mpt_refcount;
uint32_t mpt_opc;
Expand All @@ -96,6 +116,11 @@ struct migrate_pool_tls {

/* migration init error */
int mpt_init_err;

/* Watchdog: track progress to detect complete rebuild hang */
uint64_t mpt_last_progress_obj_count; /* obj_count at last check */
uint64_t mpt_last_progress_rec_count; /* rec_count at last check */
uint64_t mpt_last_progress_ts; /* time of last observed progress */
};

struct migrate_cont_hdl {
Expand Down
Loading
Loading