aboutsummaryrefslogtreecommitdiff
path: root/driver/gator_events_block.c
diff options
context:
space:
mode:
Diffstat (limited to 'driver/gator_events_block.c')
-rw-r--r--driver/gator_events_block.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/driver/gator_events_block.c b/driver/gator_events_block.c
index f1bbbc8..a8b8114 100644
--- a/driver/gator_events_block.c
+++ b/driver/gator_events_block.c
@@ -26,7 +26,7 @@ static ulong block_rq_rd_enabled;
static ulong block_rq_wr_key;
static ulong block_rq_rd_key;
static DEFINE_PER_CPU(int[BLOCK_TOTAL], blockCnt);
-static DEFINE_PER_CPU(int[BLOCK_TOTAL * 2], blockGet);
+static DEFINE_PER_CPU(int[BLOCK_TOTAL * 4], blockGet);
static DEFINE_PER_CPU(bool, new_data_avail);
GATOR_DEFINE_PROBE(block_rq_complete, TP_PROTO(struct request_queue *q, struct request *rq))
@@ -129,6 +129,8 @@ static int gator_events_block_read(int **buffer)
per_cpu(blockCnt, cpu)[BLOCK_RQ_WR] = 0;
local_irq_restore(flags);
per_cpu(blockGet, cpu)[len++] = block_rq_wr_key;
+ per_cpu(blockGet, cpu)[len++] = 0; // indicates to Streamline that value bytes were written now, not since the last message
+ per_cpu(blockGet, cpu)[len++] = block_rq_wr_key;
per_cpu(blockGet, cpu)[len++] = value;
data += value;
}
@@ -138,6 +140,8 @@ static int gator_events_block_read(int **buffer)
per_cpu(blockCnt, cpu)[BLOCK_RQ_RD] = 0;
local_irq_restore(flags);
per_cpu(blockGet, cpu)[len++] = block_rq_rd_key;
+ per_cpu(blockGet, cpu)[len++] = 0; // indicates to Streamline that value bytes were read now, not since the last message
+ per_cpu(blockGet, cpu)[len++] = block_rq_rd_key;
per_cpu(blockGet, cpu)[len++] = value;
data += value;
}