[SSI] openssi/kernel/cluster/ssi/util ssidev.c,1.31,1.32
Roger Tsang <[email protected]> Mon, 25 Oct 2010 04:45:14 +0000
| Newsgroups | gmane.linux.cluster.ssic.cvs |
|---|---|
| Message-ID | <[email protected]> |
Update of /cvsroot/ssic-linux/openssi/kernel/cluster/ssi/util
In directory sfp-cvsdas-3.v30.ch3.sourceforge.com:/tmp/cvs-serv31769/cluster/ssi/util
Modified Files:
Tag: OPENSSI-FC
ssidev.c
Log Message:
SSI devices (#ifdef SSIDEV_POLL_CLI_HASH_TABLE):
- In ssidev_poll_cli_alloc() calculate ssidev_pc_list hash outside critical section.
cluster/ssi/util/ssidev.c | 8 +++++++-
1 files changed, 7 insertions(+), 1 deletion(-)
Index: ssidev.c
===================================================================
RCS file: /cvsroot/ssic-linux/openssi/kernel/cluster/ssi/util/ssidev.c,v
retrieving revision 1.31
retrieving revision 1.32
diff -u -d -r1.31 -r1.32
--- ssidev.c 5 Mar 2010 06:14:12 -0000 1.31
+++ ssidev.c 25 Oct 2010 04:45:11 -0000 1.32
@@ -1164,6 +1164,9 @@
int (*retfunc)(ssidev_pollfd_t *))
{
ssidev_poll_cli_t *pcp;
+#ifdef SSIDEV_POLL_CLI_HASH_TABLE
+ unsigned long pc_hash;
+#endif
#ifdef SSIDEV_POLL_CLI_KMEM_CACHE
pcp = kmem_cache_alloc(ssidev_poll_cli_cachep, SLAB_KERNEL);
@@ -1195,10 +1198,13 @@
#endif
pcp->pc_events = events;
pcp->pc_retfunc = retfunc;
+#ifdef SSIDEV_POLL_CLI_HASH_TABLE
+ pc_hash = ssidev_pc_hash(pcp);
+#endif
spin_lock(&ssidev_poll_cli_spinlock);
#ifdef RCU_SSIDEV_POLL_CLI_LIST
#ifdef SSIDEV_POLL_CLI_HASH_TABLE
- hlist_add_head_rcu(&pcp->pc_list, &ssidev_pc_list[ssidev_pc_hash(pcp)]);
+ hlist_add_head_rcu(&pcp->pc_list, &ssidev_pc_list[pc_hash]);
#else
list_add_rcu(&pcp->pc_list, &ssidev_poll_cli_list);
#endif
------------------------------------------------------------------------------
Nokia and AT&T present the 2010 Calling All Innovators-North America contest
Create new apps & games for the Nokia N8 for consumers in U.S. and Canada
$10 million total in prizes - $4M cash, 500 devices, nearly $6M in marketing
Develop with Nokia Qt SDK, Web Runtime, or Java and Publish to Ovi Store
http://p.sf.net/sfu/nokia-dev2dev