Revision 6c791aab
b/drivers/block-archipelago.c | ||
---|---|---|
52 | 52 |
#include "config.h" |
53 | 53 |
#endif |
54 | 54 |
|
55 |
#define MAX_ARCHIPELAGO_REQS TAPDISK_DATA_REQUESTS |
|
55 |
#define MAX_ARCHIPELAGO_REQS TAPDISK_DATA_REQUESTS
|
|
56 | 56 |
#define MAX_ARCHIPELAGO_MERGED_REQS 32 |
57 |
#define NUM_XSEG_THREADS 2 |
|
57 |
#define MAX_MERGE_SIZE 524288 |
|
58 |
#define NUM_XSEG_THREADS 2 |
|
58 | 59 |
|
59 | 60 |
#define XSEG_TYPENAME "posix" |
60 | 61 |
#define XSEG_NAME "archipelago" |
... | ... | |
648 | 649 |
} |
649 | 650 |
|
650 | 651 |
if(!merged || (size != (11 * 4096)) || //44k request |
651 |
(dr->size >= 1024 * 1024) ||
|
|
652 |
(dr->size >= MAX_MERGE_SIZE) ||
|
|
652 | 653 |
(dr->treq_count == MAX_ARCHIPELAGO_MERGED_REQS)) |
653 | 654 |
{ |
654 | 655 |
tdarchipelago_submit_request(prv, dr); |
... | ... | |
681 | 682 |
req->size = size; |
682 | 683 |
req->buf = treq.buf; |
683 | 684 |
|
684 |
if ((size == (11 * 4096)) && (size < 1024 * 1024)) {
|
|
685 |
if ((size == (11 * 4096)) && (size < MAX_MERGE_SIZE)) {
|
|
685 | 686 |
prv->req_deferred = req; |
686 | 687 |
} else { |
687 | 688 |
tdarchipelago_submit_request(prv, req); |
... | ... | |
729 | 730 |
tapdisk_stats_field(st, "req_miss_op", "d", prv->stat.req_miss_op); |
730 | 731 |
tapdisk_stats_field(st, "req_miss_ofs", "d", prv->stat.req_miss_ofs); |
731 | 732 |
tapdisk_stats_field(st, "req_miss_buf", "d", prv->stat.req_miss_buf); |
732 |
tapdisk_stats_field(st, "max_merge_size", "d", 1024 * 1024);
|
|
733 |
tapdisk_stats_field(st, "max_merge_size", "d", MAX_MERGE_SIZE);
|
|
733 | 734 |
} |
734 | 735 |
|
735 | 736 |
struct tap_disk tapdisk_archipelago = { |
Also available in: Unified diff