Question about usage of RCU in the input layer

From: Arjan van de Ven
Date: Thu Mar 19 2009 - 00:57:27 EST


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...

Can I have my second of boot time back please ?



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()

--
Arjan van de Ven Intel Open Source Technology Centre
For development, discussion and tips for power savings,
visit http://www.lesswatts.org
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/