summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorFrediano Ziglio <fziglio@redhat.com>2015-11-19 13:42:43 +0000
committerFrediano Ziglio <fziglio@redhat.com>2015-11-20 09:49:49 +0000
commit5229613d515ea8020dac32123bb34af2ab41afe1 (patch)
tree2045f50204342c6dc23a09e7cd89f793a0432581
parent1f41c295d9bcd3871f140527b2bbe6cf12037cd8 (diff)
downloadspice-5229613d515ea8020dac32123bb34af2ab41afe1.tar.gz
spice-5229613d515ea8020dac32123bb34af2ab41afe1.tar.xz
spice-5229613d515ea8020dac32123bb34af2ab41afe1.zip
worker: move glz_drawable_count to DisplayChannel
Signed-off-by: Frediano Ziglio <fziglio@redhat.com> Acked-by: Jonathon Jongsma <jjongsma@redhat.com>
-rw-r--r--server/display-channel.h2
-rw-r--r--server/red_worker.c13
2 files changed, 8 insertions, 7 deletions
diff --git a/server/display-channel.h b/server/display-channel.h
index 69ceb3c3..7f3949f3 100644
--- a/server/display-channel.h
+++ b/server/display-channel.h
@@ -194,6 +194,8 @@ struct DisplayChannel {
_Drawable drawables[NUM_DRAWABLES];
_Drawable *free_drawables;
+ uint32_t glz_drawable_count;
+
int stream_video;
uint32_t stream_count;
Stream streams_buf[NUM_STREAMS];
diff --git a/server/red_worker.c b/server/red_worker.c
index 32612d50..eab00ff4 100644
--- a/server/red_worker.c
+++ b/server/red_worker.c
@@ -146,7 +146,6 @@ struct RedWorker {
uint32_t cursor_poll_tries;
uint32_t red_drawable_count;
- uint32_t glz_drawable_count;
uint32_t bits_unique;
RedMemSlotInfo mem_slots;
@@ -1925,7 +1924,7 @@ static void red_free_some(RedWorker *worker)
RingItem *item, *next;
spice_debug("#draw=%d, #red_draw=%d, #glz_draw=%d", display->drawable_count,
- worker->red_drawable_count, worker->glz_drawable_count);
+ worker->red_drawable_count, display->glz_drawable_count);
FOREACH_DCC(worker->display_channel, item, next, dcc) {
GlzSharedDictionary *glz_dict = dcc ? dcc->glz_dict : NULL;
@@ -2084,7 +2083,7 @@ static RedGlzDrawable *red_display_get_glz_drawable(DisplayChannelClient *dcc, D
ring_item_init(&ret->drawable_link);
ring_add_before(&ret->link, &dcc->glz_drawables);
ring_add(&drawable->glz_ring, &ret->drawable_link);
- DCC_TO_WORKER(dcc)->glz_drawable_count++;
+ DCC_TO_DC(dcc)->glz_drawable_count++;
return ret;
}
@@ -2144,7 +2143,7 @@ void dcc_free_glz_drawable_instance(DisplayChannelClient *dcc,
}
red_drawable_unref(worker, glz_drawable->red_drawable,
glz_drawable->group_id);
- worker->glz_drawable_count--;
+ display_channel->glz_drawable_count--;
if (ring_item_is_linked(&glz_drawable->link)) {
ring_remove(&glz_drawable->link);
}
@@ -5364,7 +5363,7 @@ static void display_channel_client_on_disconnect(RedChannelClient *rcc)
// this was the last channel client
spice_debug("#draw=%d, #red_draw=%d, #glz_draw=%d",
display->drawable_count, worker->red_drawable_count,
- worker->glz_drawable_count);
+ display->glz_drawable_count);
}
void red_disconnect_all_display_TODO_remove_me(RedChannel *channel)
@@ -6950,7 +6949,7 @@ static void handle_dev_oom(void *opaque, void *payload)
spice_debug("OOM1 #draw=%u, #red_draw=%u, #glz_draw=%u current %u pipes %u",
display->drawable_count,
worker->red_drawable_count,
- worker->glz_drawable_count,
+ display->glz_drawable_count,
display->current_size,
worker->display_channel ?
red_channel_sum_pipes_size(display_red_channel) : 0);
@@ -6964,7 +6963,7 @@ static void handle_dev_oom(void *opaque, void *payload)
spice_debug("OOM2 #draw=%u, #red_draw=%u, #glz_draw=%u current %u pipes %u",
display->drawable_count,
worker->red_drawable_count,
- worker->glz_drawable_count,
+ display->glz_drawable_count,
display->current_size,
worker->display_channel ?
red_channel_sum_pipes_size(display_red_channel) : 0);