[ltt-dev] [PATCH 2/9] rculfhash: merge thread_id to struct partition_resize_work
Mathieu Desnoyers
mathieu.desnoyers at efficios.com
Fri Oct 14 09:57:33 EDT 2011
* Lai Jiangshan (laijs at cn.fujitsu.com) wrote:
> Signed-off-by: Lai Jiangshan <laijs at cn.fujitsu.com>
Merged, thanks!
Mathieu
> ---
> rculfhash.c | 8 +++-----
> 1 files changed, 3 insertions(+), 5 deletions(-)
>
> diff --git a/rculfhash.c b/rculfhash.c
> index 1327418..e379c71 100644
> --- a/rculfhash.c
> +++ b/rculfhash.c
> @@ -255,6 +255,7 @@ struct rcu_resize_work {
> };
>
> struct partition_resize_work {
> + pthread_t thread_id;
> struct cds_lfht *ht;
> unsigned long i, start, len;
> void (*fct)(struct cds_lfht *ht, unsigned long i,
> @@ -1033,7 +1034,6 @@ void partition_resize_helper(struct cds_lfht *ht, unsigned long i,
> struct partition_resize_work *work;
> int thread, ret;
> unsigned long nr_threads;
> - pthread_t *thread_id;
>
> /*
> * Note: nr_cpus_mask + 1 is always power of 2.
> @@ -1048,7 +1048,6 @@ void partition_resize_helper(struct cds_lfht *ht, unsigned long i,
> }
> partition_len = len >> get_count_order_ulong(nr_threads);
> work = calloc(nr_threads, sizeof(*work));
> - thread_id = calloc(nr_threads, sizeof(*thread_id));
> assert(work);
> for (thread = 0; thread < nr_threads; thread++) {
> work[thread].ht = ht;
> @@ -1056,16 +1055,15 @@ void partition_resize_helper(struct cds_lfht *ht, unsigned long i,
> work[thread].len = partition_len;
> work[thread].start = thread * partition_len;
> work[thread].fct = fct;
> - ret = pthread_create(&thread_id[thread], ht->resize_attr,
> + ret = pthread_create(&(work[thread].thread_id), ht->resize_attr,
> partition_resize_thread, &work[thread]);
> assert(!ret);
> }
> for (thread = 0; thread < nr_threads; thread++) {
> - ret = pthread_join(thread_id[thread], NULL);
> + ret = pthread_join(work[thread].thread_id, NULL);
> assert(!ret);
> }
> free(work);
> - free(thread_id);
> }
>
> /*
> --
> 1.7.4.4
>
--
Mathieu Desnoyers
Operating System Efficiency R&D Consultant
EfficiOS Inc.
http://www.efficios.com
More information about the lttng-dev
mailing list