Hi Arjan, On Wednesday 18 March 2009 21:58:12 Arjan van de Ven wrote: > Hi, > > the input layer does a "synchronize_rcu()" after a list_add_tail_rcu(), > which is costing me 1 second of boot time..... > And based on my understanding of the RCU concept, you only need to > synchronize on delete, not on addition... so I think the synchronize is > entirely redundant here... It is there to guarantee that once we registered the handle all subsequent input events will be delivered through it. > > Can I have my second of boot time back please ? > Not like this I'm afraid but I will see what I can do. > > > diff --git a/drivers/input/input.c b/drivers/input/input.c > index 1730d73..d69ec56 100644 > --- a/drivers/input/input.c > +++ b/drivers/input/input.c > @@ -1544,7 +1544,6 @@ int input_register_handle(struct input_handle > *handle) return error; > list_add_tail_rcu(&handle->d_node, &dev->h_list); > mutex_unlock(&dev->mutex); > - synchronize_rcu(); > > /* > * Since we are supposed to be called from ->connect() -- Dmitry -- To unsubscribe from this list: send the line "unsubscribe linux-input" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html