Commit 503646e
folly async io_uring: bump EVB start time on IoSqeBase completion
Summary:
`EventHandler::libeventCallback()` calls `EventBase::bumpHandlingTime()` which sets the `startTime_` of an EVB loop iteration if it wasn't already set. If no `EventHandler`s are run, then `startTime_` is bumped just before running loop callbacks.
The io_uring based `IoUringBackend` and `AsyncIoUringSocket` do not use `EventHandler`. Thus the `startTime_` of an EVB loop iteration is not being set correctly upon handling the first piece of I/O work via the various `IoSqeBase` types.
Fix this by adding the EventBase to that an IoSqeBase is tied to, and call `EventBase::bumpHandlingTime()` when completing an IoSqeBase i.e. invoking its callback.
Reviewed By: yfeldblum
Differential Revision: D68537153
fbshipit-source-id: 9e991213d69ffa32778e06a0fb447b0514bebba51 parent e85d6ee commit 503646e
File tree
3 files changed
+7
-0
lines changed- folly/io/async
3 files changed
+7
-0
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
477 | 477 | | |
478 | 478 | | |
479 | 479 | | |
| 480 | + | |
| 481 | + | |
| 482 | + | |
480 | 483 | | |
481 | 484 | | |
482 | 485 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
36 | 36 | | |
37 | 37 | | |
38 | 38 | | |
| 39 | + | |
39 | 40 | | |
40 | 41 | | |
41 | 42 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
27 | 27 | | |
28 | 28 | | |
29 | 29 | | |
| 30 | + | |
30 | 31 | | |
31 | 32 | | |
32 | 33 | | |
| |||
57 | 58 | | |
58 | 59 | | |
59 | 60 | | |
| 61 | + | |
60 | 62 | | |
61 | 63 | | |
62 | 64 | | |
| |||
72 | 74 | | |
73 | 75 | | |
74 | 76 | | |
| 77 | + | |
75 | 78 | | |
76 | 79 | | |
77 | 80 | | |
| |||
0 commit comments