[sheepdog] [PATCH 1/3] sheep: queue local gateway request instead of directly call forward_*_obj_req

Liu Yuan namei.unix at gmail.com
Mon Jun 25 16:48:15 CEST 2012


On 06/25/2012 10:26 PM, levin li wrote:
>>> How about this, we put the work into a worker thread using queue_work()
>>> >> and make queue_request() called in the worker_done() function.
>>> >>
>> > 
>> > Maybe we can take advantage of sockfd cache, we can use lightweight unix
>> > domain FD for self-queuing requests. This require smallest code change
>> > and also doesn't compromise performance as bad as TCP sockfd.
>> > 
>> > Thanks,
>> > Yuan
>> > 
> After further thinking, I think even we use a cached fd, it still not so efficient,
> write/read_object() needs transfer about 4M data if we send a gateway request,
> which I think is inefficient.

Then I suggest register a dedicated handler for process self-queuing and
use eventfd for notification. It looks better than use current work queue.

Thanks,
Yuan




More information about the sheepdog mailing list