1 | /* |
1 | /* |
2 | * libev linux io_uring fd activity backend |
2 | * libev linux io_uring fd activity backend |
3 | * |
3 | * |
4 | * Copyright (c) 2019 Marc Alexander Lehmann <libev@schmorp.de> |
4 | * Copyright (c) 2019-2020 Marc Alexander Lehmann <libev@schmorp.de> |
5 | * All rights reserved. |
5 | * All rights reserved. |
6 | * |
6 | * |
7 | * Redistribution and use in source and binary forms, with or without modifica- |
7 | * Redistribution and use in source and binary forms, with or without modifica- |
8 | * tion, are permitted provided that the following conditions are met: |
8 | * tion, are permitted provided that the following conditions are met: |
9 | * |
9 | * |
… | |
… | |
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 from the author Jens Axboe, it simply didn't |
63 | * (from what I gather from the author Jens Axboe, it simply didn't |
64 | * occur to him, and he made good on it by adding an unlimited nuber |
64 | * occur to him, and he made good on it by adding an unlimited number |
65 | * of timeouts 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 only 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 |