royguo opened a new issue, #3166:
URL: https://github.com/apache/brpc/issues/3166

   I am using brpc as my storage system's main runtime, and I believe people 
like us could probably have the same problem of slow signal cross different 
task group.
   
   
   The use case is:
   1. User request bthread submit an async IO (iouring for example), and then 
bthread::wait
   2. IO Polling thread (pthread) handle cqe and signal the bthread
   3. the bthread tid will be placed to a random task group's remote_rq (under 
high pressure)
   
   The problem is, remote_rq signal wakeup is not fast enough (under heavy 
workloads, it could take> 10ms or even worse).
   
   
   So I was wondering, is there any plan that allow users have a fast path of 
signalling? For example:
   
   ```
   user_bthread->fast_wait(); // will be wake up soon, remember current task 
group
   ......
   
   cqe_handler->fast_signal(bthread_id); // wake up the bthread in its original 
task group, avoid remote_rq lock.
   
   
   ```
   
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to