Results 137 comments of Huiba Li

Yes it does, but I don't think it's necessary.

I believe we can store thread info in _st_epoll_data[], and resume the threads without iterating the IOQ.

I'm a heavy user of ST. Please make sure there is a problem, and I'll arrange a patch.

@winlinvip @xiaosuo I found the issue in my production server, where there were lots of idle connections. The server consumed several times more CPU resource than expected. I believe the...

@xiaosuo I'm on sth else these days, and I think I'll do the tests next week.

the patched ST is much slower than before, due to the added functions, as the figure below: ![image](https://user-images.githubusercontent.com/282919/27120659-092708c6-5117-11e7-8b66-197887bd4ce1.png)

there were 10,000 idle connections (from a custom tool) in the test, and only 1 active connection from ab.

@xiaosuo No. One coroutine is responsible for a single connection.

### 1. diff of server.c: ``` @@ -942,7 +942,7 @@ void handle_session(long srv_socket_index, st_netfd_t cli_nfd) struct in_addr *from = st_netfd_getspecific(cli_nfd); - if (st_read(cli_nfd, buf, sizeof(buf), SEC2USEC(REQUEST_TIMEOUT)) < 0) { +...