On 06/25/2012 01:42 PM, MORITA Kazutaka wrote:
> At Sun, 24 Jun 2012 20:51:50 +0800,
> Liu Yuan wrote:
>>
>> From: Liu Yuan <[email protected]>
>>
>> This is inspired by the observation that each Guest can issue as much
>> as 4 requests in one go.
>
> Is it true for any kind of guest OSes?
>
Dunno others, but current Linux virtio_blk driver can only issue as much
as 4 requests in one go. IDE driver is less than 4 I think. From the
driver perspective, it seems that only scsi driver can issue more than 4
requests in one go, but QEMU support to emulate scsi disk ?
Anyway, this is just a hint. Suppose request size from guest is 512k,
then 4M / 512k = 8, so at most 8 request can be issued to one sheep
object. So I think 8 is enough.
>
>> @@ -42,9 +56,10 @@ static struct sockfd_cache sockfd_cache = {
>>
>> struct sockfd_cache_entry {
>> struct rb_node rb;
>> - int fd;
>> - uint8_t refcount;
>> struct node_id nid;
>> +#define SOCKFD_CACHE_MAX_FD 8 /* How many FDs we cache for one node */
>> + int fd[SOCKFD_CACHE_MAX_FD];
>> + uint8_t fd_in_use[SOCKFD_CACHE_MAX_FD];
>> };
>
> SOCKFD_CACHE_MAX_FD should be 12 because the default redundancy level
> is 3?
>
why? I think FD number has nothing to do with redundancy, instead it is
affected by how many requests Guest can issue in one go.
Thanks,
Yuan
--
sheepdog mailing list
[email protected]
http://lists.wpkg.org/mailman/listinfo/sheepdog