On 11/2/2018 9:11 AM, Honggang LI wrote: > On Fri, Nov 02, 2018 at 08:40:40AM -0400, Hal Rosenstock wrote: >> On 11/1/2018 10:53 PM, Honggang LI wrote: >>> From: Honggang Li <honli@xxxxxxxxxx> >>> >>> Signed-off-by: Honggang Li <honli@xxxxxxxxxx> >>> --- >>> complib/cl_event_wheel.c | 9 +++------ >>> 1 file changed, 3 insertions(+), 6 deletions(-) >>> >>> diff --git a/complib/cl_event_wheel.c b/complib/cl_event_wheel.c >>> index 27443f66..21e1f4ee 100644 >>> --- a/complib/cl_event_wheel.c >>> +++ b/complib/cl_event_wheel.c >>> @@ -457,6 +457,7 @@ uint32_t cl_event_wheel_num_regs(IN cl_event_wheel_t * const p_event_wheel, >>> } >>> >>> #ifdef __CL_EVENT_WHEEL_TEST__ >>> +#include <unistd.h> /* sleep() */ >>> >>> /* Dump out the complete state of the event wheel */ >>> void __cl_event_wheel_dump(IN cl_event_wheel_t * const p_event_wheel) >>> @@ -511,14 +512,10 @@ static uint64_t __test_event_aging(uint64_t key, uint32_t num_regs, void *contex >>> int main() >>> { >>> cl_event_wheel_t event_wheel; >>> - /* uint64_t key; */ >>> >>> /* init complib * >>> complib_init(); >>> >>> - /* construct */ >>> - cl_event_wheel_construct(&event_wheel); >>> - >> >> While this is redundant, it breaks the general design pattern. Should it >> be changed ? Does it make some difference ? > > The cl_event_wheel_init duplicates the works for cl_event_wheel_construct. That's what I meant by it being redundant. > If you want keep the general design pattern, you need update > cl_event_wheel_init to call cl_event_wheel_construct. Why ? It may have just been "optimized" to incorporate what was needed from construct in the init function. I don't see why this needs to change. >> >> Note that event wheel is used for SM trap handling and also to support >> now "ancient" vendor driver (for generation 1 prior to OpenIB/OpenFabrics). These use cases follow the design pattern of calling construct and then init. >> >>> /* init */ >>> cl_event_wheel_init(&event_wheel); >>> >>> @@ -534,7 +531,7 @@ int main() >>> "The Second Aging Event"); >>> >>> cl_event_wheel_reg(&event_wheel, 3, /* key */ >>> - cl_get_time_stamp() + 3500000, /* 3 sec lifetime */ >>> + cl_get_time_stamp() + 3500000, /* 3.5 sec lifetime */ >>> __test_event_aging, /* cb */ >>> "The Third Aging Event"); >>> >>> @@ -542,7 +539,7 @@ int main() >>> >>> sleep(2); >>> cl_event_wheel_reg(&event_wheel, 2, /* key */ >>> - cl_get_time_stamp() + 8000000, /* 3 sec lifetime */ >>> + cl_get_time_stamp() + 8000000, /* 8 sec lifetime */ >>> __test_event_aging, /* cb */ >>> "The Second Aging Event Moved"); >>> >>> >