… | |
… | |
58 | * before. sure, you can use a timerfd, but that's another syscall |
58 | * before. sure, you can use a timerfd, but that's another syscall |
59 | * you could have avoided. overall, this bizarre omission smells |
59 | * you could have avoided. overall, this bizarre omission smells |
60 | * like a µ-optimisation by the io_uring author for his personal |
60 | * like a µ-optimisation by the io_uring author for his personal |
61 | * applications, to the detriment of everybody else who just wants |
61 | * applications, to the detriment of everybody else who just wants |
62 | * an event loop. but, umm, ok, if that's all, it could be worse. |
62 | * an event loop. but, umm, ok, if that's all, it could be worse. |
63 | * (from what I gather form Jens Axboe, it simply didn't occur to him, |
63 | * (from what I gather from the author Jens Axboe, it simply didn't |
64 | * and he made good on it by adding an unlimited nuber of timeouts |
64 | * occur to him, and he made good on it by adding an unlimited nuber |
65 | * later :). |
65 | * of timeouts later :). |
66 | * h) initially there was a hardcoded limit of 4096 outstanding events. |
66 | * h) initially there was a hardcoded limit of 4096 outstanding events. |
67 | * later versions not onlyx bump this to 32k, but also can handle |
67 | * later versions not only bump this to 32k, but also can handle |
68 | * an unlimited amount of events, so this only affects the batch size. |
68 | * an unlimited amount of events, so this only affects the batch size. |
69 | * i) unlike linux aio, you *can* register more then the limit |
69 | * i) unlike linux aio, you *can* register more then the limit |
70 | * of fd events. while early verisons of io_uring signalled an overflow |
70 | * of fd events. while early verisons of io_uring signalled an overflow |
71 | * and you ended up getting wet. 5.5+ does not do this anymore. |
71 | * and you ended up getting wet. 5.5+ does not do this anymore. |
72 | * j) but, oh my! it had exactly the same bugs as the linux aio backend, |
72 | * j) but, oh my! it had exactly the same bugs as the linux aio backend, |