qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCH v3 02/24] thread-pool: Remove thread_pool_submit() function


From: Peter Xu
Subject: Re: [PATCH v3 02/24] thread-pool: Remove thread_pool_submit() function
Date: Wed, 4 Dec 2024 14:24:59 -0500

On Sun, Nov 17, 2024 at 08:19:57PM +0100, Maciej S. Szmigiero wrote:
> From: "Maciej S. Szmigiero" <maciej.szmigiero@oracle.com>
> 
> This function name conflicts with one used by a future generic thread pool
> function and it was only used by one test anyway.
> 
> Update the trace event name in thread_pool_submit_aio() accordingly.
> 
> Signed-off-by: Maciej S. Szmigiero <maciej.szmigiero@oracle.com>

Reviewed-by: Peter Xu <peterx@redhat.com>

One nitpick:

> ---
>  include/block/thread-pool.h   | 3 +--
>  tests/unit/test-thread-pool.c | 2 +-
>  util/thread-pool.c            | 7 +------
>  util/trace-events             | 2 +-
>  4 files changed, 4 insertions(+), 10 deletions(-)
> 
> diff --git a/include/block/thread-pool.h b/include/block/thread-pool.h
> index 948ff5f30c31..4f6694026123 100644
> --- a/include/block/thread-pool.h
> +++ b/include/block/thread-pool.h
> @@ -30,13 +30,12 @@ ThreadPool *thread_pool_new(struct AioContext *ctx);
>  void thread_pool_free(ThreadPool *pool);
>  
>  /*
> - * thread_pool_submit* API: submit I/O requests in the thread's
> + * thread_pool_submit_{aio,co} API: submit I/O requests in the thread's
>   * current AioContext.
>   */
>  BlockAIOCB *thread_pool_submit_aio(ThreadPoolFunc *func, void *arg,
>                                     BlockCompletionFunc *cb, void *opaque);
>  int coroutine_fn thread_pool_submit_co(ThreadPoolFunc *func, void *arg);
> -void thread_pool_submit(ThreadPoolFunc *func, void *arg);
>  
>  void thread_pool_update_params(ThreadPool *pool, struct AioContext *ctx);
>  
> diff --git a/tests/unit/test-thread-pool.c b/tests/unit/test-thread-pool.c
> index 1483e53473db..7a7055141ddb 100644
> --- a/tests/unit/test-thread-pool.c
> +++ b/tests/unit/test-thread-pool.c
> @@ -46,7 +46,7 @@ static void done_cb(void *opaque, int ret)
>  static void test_submit(void)

The test name was still trying to follow the name of API.  It can be
renamed to test_submit_no_complete() (also the test name str below).

>  {
>      WorkerTestData data = { .n = 0 };
> -    thread_pool_submit(worker_cb, &data);
> +    thread_pool_submit_aio(worker_cb, &data, NULL, NULL);
>      while (data.n == 0) {
>          aio_poll(ctx, true);
>      }
> diff --git a/util/thread-pool.c b/util/thread-pool.c
> index 27eb777e855b..2f751d55b33f 100644
> --- a/util/thread-pool.c
> +++ b/util/thread-pool.c
> @@ -256,7 +256,7 @@ BlockAIOCB *thread_pool_submit_aio(ThreadPoolFunc *func, 
> void *arg,
>  
>      QLIST_INSERT_HEAD(&pool->head, req, all);
>  
> -    trace_thread_pool_submit(pool, req, arg);
> +    trace_thread_pool_submit_aio(pool, req, arg);
>  
>      qemu_mutex_lock(&pool->lock);
>      if (pool->idle_threads == 0 && pool->cur_threads < pool->max_threads) {
> @@ -290,11 +290,6 @@ int coroutine_fn thread_pool_submit_co(ThreadPoolFunc 
> *func, void *arg)
>      return tpc.ret;
>  }
>  
> -void thread_pool_submit(ThreadPoolFunc *func, void *arg)
> -{
> -    thread_pool_submit_aio(func, arg, NULL, NULL);
> -}
> -
>  void thread_pool_update_params(ThreadPool *pool, AioContext *ctx)
>  {
>      qemu_mutex_lock(&pool->lock);
> diff --git a/util/trace-events b/util/trace-events
> index 49a4962e1886..5be12d7fab89 100644
> --- a/util/trace-events
> +++ b/util/trace-events
> @@ -14,7 +14,7 @@ aio_co_schedule_bh_cb(void *ctx, void *co) "ctx %p co %p"
>  reentrant_aio(void *ctx, const char *name) "ctx %p name %s"
>  
>  # thread-pool.c
> -thread_pool_submit(void *pool, void *req, void *opaque) "pool %p req %p 
> opaque %p"
> +thread_pool_submit_aio(void *pool, void *req, void *opaque) "pool %p req %p 
> opaque %p"
>  thread_pool_complete(void *pool, void *req, void *opaque, int ret) "pool %p 
> req %p opaque %p ret %d"
>  thread_pool_cancel(void *req, void *opaque) "req %p opaque %p"
>  
> 

-- 
Peter Xu




reply via email to

[Prev in Thread] Current Thread [Next in Thread]