From 74c879ac75d5e9262b668c8c6fdaa5d36e3c3bf3 Mon Sep 17 00:00:00 2001 From: Timothy Arceri Date: Sun, 5 Mar 2017 10:41:31 +1100 Subject: [PATCH] gallium/util: replace pipe_condvar_wait() with cnd_wait() MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit pipe_condvar_wait() was made unnecessary with fd33a6bcd7f12. Reviewed-by: Emil Velikov Reviewed-by: Marek Olšák --- src/gallium/auxiliary/os/os_thread.h | 7 ++----- src/gallium/auxiliary/util/u_queue.c | 6 +++--- src/gallium/auxiliary/util/u_ringbuffer.c | 4 ++-- src/gallium/drivers/llvmpipe/lp_fence.c | 2 +- src/gallium/drivers/rbug/rbug_context.c | 2 +- src/gallium/state_trackers/nine/nine_queue.c | 4 ++-- src/gallium/state_trackers/nine/nine_state.c | 2 +- 7 files changed, 12 insertions(+), 15 deletions(-) diff --git a/src/gallium/auxiliary/os/os_thread.h b/src/gallium/auxiliary/os/os_thread.h index e230d06149e..6895f4e97f4 100644 --- a/src/gallium/auxiliary/os/os_thread.h +++ b/src/gallium/auxiliary/os/os_thread.h @@ -148,9 +148,6 @@ __pipe_mutex_assert_locked(pipe_mutex *mutex) */ typedef cnd_t pipe_condvar; -#define pipe_condvar_wait(cond, mutex) \ - cnd_wait(&(cond), &(mutex)) - #define pipe_condvar_signal(cond) \ cnd_signal(&(cond)) @@ -219,7 +216,7 @@ static inline void pipe_barrier_wait(pipe_barrier *barrier) uint64_t sequence = barrier->sequence; do { - pipe_condvar_wait(barrier->condvar, barrier->mutex); + cnd_wait(&barrier->condvar, &barrier->mutex); } while (sequence == barrier->sequence); } else { barrier->waiters = 0; @@ -277,7 +274,7 @@ pipe_semaphore_wait(pipe_semaphore *sema) { pipe_mutex_lock(sema->mutex); while (sema->counter <= 0) { - pipe_condvar_wait(sema->cond, sema->mutex); + cnd_wait(&sema->cond, &sema->mutex); } sema->counter--; pipe_mutex_unlock(sema->mutex); diff --git a/src/gallium/auxiliary/util/u_queue.c b/src/gallium/auxiliary/util/u_queue.c index 87f0120d888..8fc2f3b3bb2 100644 --- a/src/gallium/auxiliary/util/u_queue.c +++ b/src/gallium/auxiliary/util/u_queue.c @@ -105,7 +105,7 @@ util_queue_fence_wait(struct util_queue_fence *fence) { pipe_mutex_lock(fence->mutex); while (!fence->signalled) - pipe_condvar_wait(fence->cond, fence->mutex); + cnd_wait(&fence->cond, &fence->mutex); pipe_mutex_unlock(fence->mutex); } @@ -156,7 +156,7 @@ static PIPE_THREAD_ROUTINE(util_queue_thread_func, input) /* wait if the queue is empty */ while (!queue->kill_threads && queue->num_queued == 0) - pipe_condvar_wait(queue->has_queued_cond, queue->lock); + cnd_wait(&queue->has_queued_cond, &queue->lock); if (queue->kill_threads) { pipe_mutex_unlock(queue->lock); @@ -305,7 +305,7 @@ util_queue_add_job(struct util_queue *queue, /* if the queue is full, wait until there is space */ while (queue->num_queued == queue->max_jobs) - pipe_condvar_wait(queue->has_space_cond, queue->lock); + cnd_wait(&queue->has_space_cond, &queue->lock); ptr = &queue->jobs[queue->write_idx]; assert(ptr->job == NULL); diff --git a/src/gallium/auxiliary/util/u_ringbuffer.c b/src/gallium/auxiliary/util/u_ringbuffer.c index 334be6a1d47..adba9ead773 100644 --- a/src/gallium/auxiliary/util/u_ringbuffer.c +++ b/src/gallium/auxiliary/util/u_ringbuffer.c @@ -85,7 +85,7 @@ void util_ringbuffer_enqueue( struct util_ringbuffer *ring, /* Wait for free space: */ while (util_ringbuffer_space(ring) < packet->dwords) - pipe_condvar_wait(ring->change, ring->mutex); + cnd_wait(&ring->change, &ring->mutex); /* Copy data to ring: */ @@ -123,7 +123,7 @@ enum pipe_error util_ringbuffer_dequeue( struct util_ringbuffer *ring, */ if (wait) { while (util_ringbuffer_empty(ring)) - pipe_condvar_wait(ring->change, ring->mutex); + cnd_wait(&ring->change, &ring->mutex); } else { if (util_ringbuffer_empty(ring)) { diff --git a/src/gallium/drivers/llvmpipe/lp_fence.c b/src/gallium/drivers/llvmpipe/lp_fence.c index 3b35eb2e9f2..1a8e365f004 100644 --- a/src/gallium/drivers/llvmpipe/lp_fence.c +++ b/src/gallium/drivers/llvmpipe/lp_fence.c @@ -119,7 +119,7 @@ lp_fence_wait(struct lp_fence *f) pipe_mutex_lock(f->mutex); assert(f->issued); while (f->count < f->rank) { - pipe_condvar_wait(f->signalled, f->mutex); + cnd_wait(&f->signalled, &f->mutex); } pipe_mutex_unlock(f->mutex); } diff --git a/src/gallium/drivers/rbug/rbug_context.c b/src/gallium/drivers/rbug/rbug_context.c index 9634f88d5f4..e34278e64ff 100644 --- a/src/gallium/drivers/rbug/rbug_context.c +++ b/src/gallium/drivers/rbug/rbug_context.c @@ -108,7 +108,7 @@ rbug_draw_block_locked(struct rbug_context *rb_pipe, int flag) /* wait for rbug to clear the blocked flag */ while (rb_pipe->draw_blocked & flag) { rb_pipe->draw_blocked |= flag; - pipe_condvar_wait(rb_pipe->draw_cond, rb_pipe->draw_mutex); + cnd_wait(&rb_pipe->draw_cond, &rb_pipe->draw_mutex); } } diff --git a/src/gallium/state_trackers/nine/nine_queue.c b/src/gallium/state_trackers/nine/nine_queue.c index 004d5816b84..fdfbdbb2472 100644 --- a/src/gallium/state_trackers/nine/nine_queue.c +++ b/src/gallium/state_trackers/nine/nine_queue.c @@ -89,7 +89,7 @@ nine_queue_wait_flush(struct nine_queue_pool* ctx) while (!cmdbuf->full) { DBG("waiting for full cmdbuf\n"); - pipe_condvar_wait(ctx->event_push, ctx->mutex_push); + cnd_wait(&ctx->event_push, &ctx->mutex_push); } DBG("got cmdbuf=%p\n", cmdbuf); pipe_mutex_unlock(ctx->mutex_push); @@ -162,7 +162,7 @@ nine_queue_flush(struct nine_queue_pool* ctx) while (cmdbuf->full) { DBG("waiting for empty cmdbuf\n"); - pipe_condvar_wait(ctx->event_pop, ctx->mutex_pop); + cnd_wait(&ctx->event_pop, &ctx->mutex_pop); } DBG("got empty cmdbuf=%p\n", cmdbuf); pipe_mutex_unlock(ctx->mutex_pop); diff --git a/src/gallium/state_trackers/nine/nine_state.c b/src/gallium/state_trackers/nine/nine_state.c index e1a2ff0cf97..0a2a0b9c792 100644 --- a/src/gallium/state_trackers/nine/nine_state.c +++ b/src/gallium/state_trackers/nine/nine_state.c @@ -81,7 +81,7 @@ nine_csmt_wait_processed(struct csmt_context *ctx) { pipe_mutex_lock(ctx->mutex_processed); while (!p_atomic_read(&ctx->processed)) { - pipe_condvar_wait(ctx->event_processed, ctx->mutex_processed); + cnd_wait(&ctx->event_processed, &ctx->mutex_processed); } pipe_mutex_unlock(ctx->mutex_processed); } -- 2.30.2