[Spice-devel] [PATCH 16/16] worker: rename process_commands process_display

Jonathon Jongsma jjongsma at redhat.com
Fri Nov 27 10:02:15 PST 2015


On Fri, 2015-11-27 at 04:16 -0500, Frediano Ziglio wrote:
> And move a function from a line to another on same file.
> I'll revert the move.
> 
> Does this change (the rename) sounds good ?

I get the impression that the rename was done to make it easy to distinguish
from red_process_cursor.


> 
> I don't know to me would sound good to move all display
> processing to display-channel.c (with the generation field too).

if red_process_display() was moved into display-channel.c (and
red_process_cursor() was moved into cursor-channel.c) then the names would not
be easily confused and so the rename would not be necessary. However, I suspect
that some more refactoring might need to be done to enable this move.


> 
> Frediano
> 
> 
> > 
> > From: Marc-André Lureau <marcandre.lureau at gmail.com>
> > 
> > ---
> >  server/red_worker.c | 53
> >  ++++++++++++++++++++++++++---------------------------
> >  1 file changed, 26 insertions(+), 27 deletions(-)
> > 
> > diff --git a/server/red_worker.c b/server/red_worker.c
> > index 5175839..d9b98d5 100644
> > --- a/server/red_worker.c
> > +++ b/server/red_worker.c
> > @@ -87,7 +87,7 @@ struct RedWorker {
> >      spice_wan_compression_t jpeg_state;
> >      spice_wan_compression_t zlib_glz_state;
> >  
> > -    uint32_t process_commands_generation;
> > +    uint32_t process_display_generation;
> >  #ifdef RED_STATISTICS
> >      StatNodeRef stat;
> >      uint64_t *wakeup_counter;
> > @@ -165,26 +165,6 @@ void red_drawable_unref(RedWorker *worker, RedDrawable
> > *red_drawable,
> >      free(red_drawable);
> >  }
> >  
> > -static void red_process_draw(RedWorker *worker, RedDrawable *red_drawable,
> > -                             uint32_t group_id)
> > -{
> > -    DisplayChannel *display = worker->display_channel;
> > -    Drawable *drawable;
> > -    bool success = FALSE;
> > -
> > -    drawable = display_channel_drawable_try_new(display, group_id,
> > -
> > worker->process_commands_generation);
> > -    if (!drawable) {
> > -        return;
> > -    }
> > -
> > -    success = display_channel_add_drawable(worker->display_channel,
> > drawable, red_drawable);
> > -    spice_warn_if_fail(success);
> > -
> > -    display_channel_drawable_unref(display, drawable);
> > -}
> > -
> > -
> >  static int red_process_cursor(RedWorker *worker, uint32_t max_pipe_size,
> > int
> >  *ring_is_empty)
> >  {
> >      QXLCommandExt ext_cmd;
> > @@ -244,7 +224,26 @@ static RedDrawable *red_drawable_new(RedWorker *worker)
> >      return red;
> >  }
> >  
> > -static int red_process_commands(RedWorker *worker, uint32_t max_pipe_size,
> > int *ring_is_empty)
> > +static void red_process_draw(RedWorker *worker, RedDrawable *red_drawable,
> > +                                    uint32_t group_id)
> > +{
> > +    DisplayChannel *display = worker->display_channel;
> > +    Drawable *drawable;
> > +    bool success = FALSE;
> > +
> > +    drawable = display_channel_drawable_try_new(display, group_id,
> > +
> > worker->process_display_generation);
> > +    if (!drawable) {
> > +        return;
> > +    }
> > +
> > +    success = display_channel_add_drawable(worker->display_channel,
> > drawable, red_drawable);
> > +    spice_warn_if_fail(success);
> > +
> > +    display_channel_drawable_unref(display, drawable);
> > +}
> > +
> > +static int red_process_display(RedWorker *worker, uint32_t max_pipe_size,
> > int *ring_is_empty)
> >  {
> >      QXLCommandExt ext_cmd;
> >      int n = 0;
> > @@ -255,7 +254,7 @@ static int red_process_commands(RedWorker *worker,
> > uint32_t max_pipe_size, int *
> >          return n;
> >      }
> >  
> > -    worker->process_commands_generation++;
> > +    worker->process_display_generation++;
> >      *ring_is_empty = FALSE;
> >      while (!display_is_connected(worker) ||
> >             // TODO: change to average pipe size?
> > @@ -386,12 +385,12 @@ static void flush_display_commands(RedWorker *worker)
> >          uint64_t end_time;
> >          int ring_is_empty;
> >  
> > -        red_process_commands(worker, MAX_PIPE_SIZE, &ring_is_empty);
> > +        red_process_display(worker, MAX_PIPE_SIZE, &ring_is_empty);
> >          if (ring_is_empty) {
> >              break;
> >          }
> >  
> > -        while (red_process_commands(worker, MAX_PIPE_SIZE, &ring_is_empty))
> > {
> > +        while (red_process_display(worker, MAX_PIPE_SIZE, &ring_is_empty))
> > {
> >              red_channel_push(RED_CHANNEL(worker->display_channel));
> >          }
> >  
> > @@ -1004,7 +1003,7 @@ static void handle_dev_oom(void *opaque, void
> > *payload)
> >                  display->glz_drawable_count,
> >                  display->current_size,
> >                  red_channel_sum_pipes_size(display_red_channel));
> > -    while (red_process_commands(worker, MAX_PIPE_SIZE, &ring_is_empty)) {
> > +    while (red_process_display(worker, MAX_PIPE_SIZE, &ring_is_empty)) {
> >          red_channel_push(display_red_channel);
> >      }
> >      if (worker->qxl->st->qif->flush_resources(worker->qxl) == 0) {
> > @@ -1681,7 +1680,7 @@ SPICE_GNUC_NORETURN static void *red_worker_main(void
> > *arg)
> >          if (worker->running) {
> >              int ring_is_empty;
> >              red_process_cursor(worker, MAX_PIPE_SIZE, &ring_is_empty);
> > -            red_process_commands(worker, MAX_PIPE_SIZE, &ring_is_empty);
> > +            red_process_display(worker, MAX_PIPE_SIZE, &ring_is_empty);
> >          }
> >          red_push(worker);
> >      }
> 
> _______________________________________________
> Spice-devel mailing list
> Spice-devel at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/spice-devel


More information about the Spice-devel mailing list