* Lai Jiangshan ([email protected]) wrote:
> Signed-off-by: Lai Jiangshan <[email protected]>

[ Impact: refactor duplicated code ]

Merged, thanks!

Mathieu

> ---
>  urcu-call-rcu-impl.h |   19 +++++++------------
>  1 files changed, 7 insertions(+), 12 deletions(-)
> 
> diff --git a/urcu-call-rcu-impl.h b/urcu-call-rcu-impl.h
> index e0a8fd8..1fbce98 100644
> --- a/urcu-call-rcu-impl.h
> +++ b/urcu-call-rcu-impl.h
> @@ -435,22 +435,17 @@ struct call_rcu_data *get_default_call_rcu_data(void)
>   */
>  struct call_rcu_data *get_call_rcu_data(void)
>  {
> -     int curcpu;
> -     static int warned = 0;
> +     struct call_rcu_data *crd;
>  
>       if (thread_call_rcu_data != NULL)
>               return thread_call_rcu_data;
> -     if (maxcpus <= 0)
> -             return get_default_call_rcu_data();
> -     curcpu = sched_getcpu();
> -     if (!warned && (curcpu < 0 || maxcpus <= curcpu)) {
> -             fprintf(stderr, "[error] liburcu: gcrd CPU # out of range\n");
> -             warned = 1;
> +
> +     if (maxcpus > 0) {
> +             crd = get_cpu_call_rcu_data(sched_getcpu());
> +             if (crd)
> +                     return crd;
>       }
> -     if (curcpu >= 0 && maxcpus > curcpu &&
> -         per_cpu_call_rcu_data != NULL &&
> -         per_cpu_call_rcu_data[curcpu] != NULL)
> -             return per_cpu_call_rcu_data[curcpu];
> +
>       return get_default_call_rcu_data();
>  }
>  
> -- 
> 1.7.4.4
> 

-- 
Mathieu Desnoyers
Operating System Efficiency R&D Consultant
EfficiOS Inc.
http://www.efficios.com

_______________________________________________
ltt-dev mailing list
[email protected]
http://lists.casi.polymtl.ca/cgi-bin/mailman/listinfo/ltt-dev

Reply via email to