Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | Library import 7 (#937) | AlexSm | 2024-01-11 | 1 | -3/+0 |
| | |||||
* | Перенести проверку TTL до парсинга ↵ | conterouz | 2023-09-11 | 1 | -0/+66 |
| | | | | заголовков | ||||
* | finally, allow more than one listener thread | kulikov | 2023-08-30 | 1 | -4/+23 |
| | | | | | | | | | | | | | | | | | | With single poller thread on incoming connections, every OS scheduler latency on this thread wakeup directly affects requests timings. With oneshot poll events, we can poll on the same poller from many threads, and, if one thread has stalled for some reason, some other will take it's work on the next incoming event. So: - make vector of listener threads instead of single one; - add nListenerThreads option; - stop request queues and listening sockets from the last finished thread; - check incoming options and set OneShotPoll if needed. There is a problem around removing connections on MaxConnections limit or ExpirationTimeout. There is no simple way to safely remove items from epoll (https://lwn.net/Articles/520012/) if it has raw pointers in event data. Try to handle it via postponed deletion of connection objects, wait until all listener threads are ready to reenter poller wait and there are no threads where deleted object can be used: - close socket immediately after remove from poller, but instead of immediate TClientConnection destruction, put it to "pending delete" list; - add cleanup state with thread mask, each bit stating that corresponding thread should reenter poller; - call Cleanup routine before each poller wait, it will switch to 0 current thread's bit for each pending connection; - when thread mask becomes all zero, really delete the connection; - force there is a timeout for poller wait, ensure that all threads do reenter; - add more configurations for some tests. There is no significant changes or overhead for standard case with single listener thread, cleanup and pending deletion are just skipped. Also there is no overhead for common case where removing connections is rare. Here is the same review with nListenerThreads = 4 by default https://a.yandex-team.ru/review/4413226. | ||||
* | simplify, prepare for more than one listener thread | kulikov | 2023-08-24 | 1 | -0/+25 |
| | | | | | | | | - move out listener and thread pools initialization stage from listener thread (no actual changes, this part of code was awaited via ListenStartEvent anyway) ; - remove ListenerStartEvent and ListenerRunningOK flag, no use now; - make Reqs list of listening sockets class member; - leave Reqs list destruction in listener thread (it should happen just after Shutdown but after polling loop stopped to prevent races); - ut for server startup fail. | ||||
* | one shot poller | kulikov | 2023-08-22 | 1 | -36/+41 |
| | | | | | | | | With WaitReadOneShot: - there is no need to do Unwait on connection activation, one less syscall per request; - this allows to make several listener threads over one epoll poller. Turn option on for search daemons (check it turned on by default here https://a.yandex-team.ru/review/4372795/details). | ||||
* | Intermediate changes | robot-piglet | 2023-08-21 | 1 | -1/+49 |
| | |||||
* | Intermediate changes | robot-piglet | 2023-08-18 | 1 | -0/+118 |
| | |||||
* | Intermediate changes | robot-piglet | 2023-08-16 | 1 | -99/+68 |
| | |||||
* | Remove extra semicolon (library) | bulatman | 2023-06-10 | 1 | -3/+3 |
| | |||||
* | intermediate changes | arcadia-devtools | 2022-04-21 | 1 | -0/+33 |
| | | | | ref:f15213aec8036b5997a8dd8c73570eb4babaa6c2 | ||||
* | Restoring authorship annotation for <[email protected]>. Commit 2 ↵ | cherenkov-p-a | 2022-02-10 | 1 | -20/+20 |
| | | | | of 2. | ||||
* | Restoring authorship annotation for <[email protected]>. Commit 1 ↵ | cherenkov-p-a | 2022-02-10 | 1 | -20/+20 |
| | | | | of 2. | ||||
* | Restoring authorship annotation for <[email protected]>. Commit 2 of 2. | atayan1 | 2022-02-10 | 1 | -43/+43 |
| | |||||
* | Restoring authorship annotation for <[email protected]>. Commit 1 of 2. | atayan1 | 2022-02-10 | 1 | -43/+43 |
| | |||||
* | Restoring authorship annotation for <[email protected]>. Commit 2 of 2. | jimmy | 2022-02-10 | 1 | -4/+4 |
| | |||||
* | Restoring authorship annotation for <[email protected]>. Commit 1 of 2. | jimmy | 2022-02-10 | 1 | -4/+4 |
| | |||||
* | Restoring authorship annotation for <[email protected]>. Commit 2 of 2. | suns | 2022-02-10 | 1 | -1/+1 |
| | |||||
* | Restoring authorship annotation for <[email protected]>. Commit 1 of 2. | suns | 2022-02-10 | 1 | -1/+1 |
| | |||||
* | Restoring authorship annotation for <[email protected]>. Commit 2 of 2. | markov | 2022-02-10 | 1 | -133/+133 |
| | |||||
* | Restoring authorship annotation for <[email protected]>. Commit 1 of 2. | markov | 2022-02-10 | 1 | -133/+133 |
| | |||||
* | Restoring authorship annotation for Alexey Salmin <[email protected]>. ↵ | Alexey Salmin | 2022-02-10 | 1 | -52/+52 |
| | | | | Commit 2 of 2. | ||||
* | Restoring authorship annotation for Alexey Salmin <[email protected]>. ↵ | Alexey Salmin | 2022-02-10 | 1 | -52/+52 |
| | | | | Commit 1 of 2. | ||||
* | Restoring authorship annotation for <[email protected]>. Commit 2 of 2. | andrew-iv | 2022-02-10 | 1 | -42/+42 |
| | |||||
* | Restoring authorship annotation for <[email protected]>. Commit 1 of 2. | andrew-iv | 2022-02-10 | 1 | -42/+42 |
| | |||||
* | Restoring authorship annotation for <[email protected]>. Commit 2 of 2. | kulikov | 2022-02-10 | 1 | -45/+45 |
| | |||||
* | Restoring authorship annotation for <[email protected]>. Commit 1 of 2. | kulikov | 2022-02-10 | 1 | -45/+45 |
| | |||||
* | Restoring authorship annotation for <[email protected]>. Commit 2 of 2. | feldsherov | 2022-02-10 | 1 | -37/+37 |
| | |||||
* | Restoring authorship annotation for <[email protected]>. Commit 1 of 2. | feldsherov | 2022-02-10 | 1 | -37/+37 |
| | |||||
* | Restoring authorship annotation for <[email protected]>. Commit 2 of 2. | timestep | 2022-02-10 | 1 | -2/+2 |
| | |||||
* | Restoring authorship annotation for <[email protected]>. Commit 1 of 2. | timestep | 2022-02-10 | 1 | -2/+2 |
| | |||||
* | Restoring authorship annotation for <[email protected]>. Commit 2 of 2. | agri | 2022-02-10 | 1 | -36/+36 |
| | |||||
* | Restoring authorship annotation for <[email protected]>. Commit 1 of 2. | agri | 2022-02-10 | 1 | -36/+36 |
| | |||||
* | Restoring authorship annotation for Aleksandr <[email protected]>. Commit ↵ | Aleksandr | 2022-02-10 | 1 | -4/+4 |
| | | | | 2 of 2. | ||||
* | Restoring authorship annotation for Aleksandr <[email protected]>. Commit ↵ | Aleksandr | 2022-02-10 | 1 | -4/+4 |
| | | | | 1 of 2. | ||||
* | Restoring authorship annotation for Alexey Bykov <[email protected]>. ↵ | Alexey Bykov | 2022-02-10 | 1 | -40/+40 |
| | | | | Commit 2 of 2. | ||||
* | Restoring authorship annotation for Alexey Bykov <[email protected]>. ↵ | Alexey Bykov | 2022-02-10 | 1 | -40/+40 |
| | | | | Commit 1 of 2. | ||||
* | Restoring authorship annotation for <[email protected]>. Commit 2 of 2. | and42 | 2022-02-10 | 1 | -95/+95 |
| | |||||
* | Restoring authorship annotation for <[email protected]>. Commit 1 of 2. | and42 | 2022-02-10 | 1 | -95/+95 |
| | |||||
* | Restoring authorship annotation for <[email protected]>. Commit 2 of 2. | agorodilov | 2022-02-10 | 1 | -2/+2 |
| | |||||
* | Restoring authorship annotation for <[email protected]>. Commit 1 of 2. | agorodilov | 2022-02-10 | 1 | -2/+2 |
| | |||||
* | Restoring authorship annotation for <[email protected]>. Commit 2 of 2. | yazevnul | 2022-02-10 | 1 | -8/+8 |
| | |||||
* | Restoring authorship annotation for <[email protected]>. Commit 1 of 2. | yazevnul | 2022-02-10 | 1 | -8/+8 |
| | |||||
* | Restoring authorship annotation for Vlad Yaroslavlev <[email protected]>. ↵ | Vlad Yaroslavlev | 2022-02-10 | 1 | -23/+23 |
| | | | | Commit 2 of 2. | ||||
* | Restoring authorship annotation for Vlad Yaroslavlev <[email protected]>. ↵ | Vlad Yaroslavlev | 2022-02-10 | 1 | -23/+23 |
| | | | | Commit 1 of 2. | ||||
* | Restoring authorship annotation for <[email protected]>. Commit 2 of 2. | eeight | 2022-02-10 | 1 | -10/+10 |
| | |||||
* | Restoring authorship annotation for <[email protected]>. Commit 1 of 2. | eeight | 2022-02-10 | 1 | -10/+10 |
| | |||||
* | Restoring authorship annotation for Ilnur Khuziev <[email protected]>. ↵ | Ilnur Khuziev | 2022-02-10 | 1 | -2/+2 |
| | | | | Commit 2 of 2. | ||||
* | Restoring authorship annotation for Ilnur Khuziev <[email protected]>. ↵ | Ilnur Khuziev | 2022-02-10 | 1 | -2/+2 |
| | | | | Commit 1 of 2. | ||||
* | Restoring authorship annotation for <[email protected]>. Commit 2 of 2. | danlark | 2022-02-10 | 1 | -13/+13 |
| | |||||
* | Restoring authorship annotation for <[email protected]>. Commit 1 of 2. | danlark | 2022-02-10 | 1 | -13/+13 |
| |