<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux/net/tipc/node.c, branch v3.0.62</title>
<subtitle>Linux kernel source tree</subtitle>
<id>https://git.amat.us/linux/atom/net/tipc/node.c?h=v3.0.62</id>
<link rel='self' href='https://git.amat.us/linux/atom/net/tipc/node.c?h=v3.0.62'/>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/'/>
<updated>2011-03-13T20:35:18Z</updated>
<entry>
<title>tipc: Optimizations to link creation code</title>
<updated>2011-03-13T20:35:18Z</updated>
<author>
<name>Allan Stephens</name>
<email>Allan.Stephens@windriver.com</email>
</author>
<published>2011-02-28T16:32:27Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=37b9c08a88f9a82456bb11fa050cccb544e8dc60'/>
<id>urn:sha1:37b9c08a88f9a82456bb11fa050cccb544e8dc60</id>
<content type='text'>
Enhances link creation code as follows:

1) Detects illegal attempts to add a requested link earlier in the
   link creation process. This prevents TIPC from wasting time
   initializing a link object it then throws away, and also eliminates
   the code needed to do the throwing away.

2) Passes in the node object associated with the requested link.
   This allows TIPC to eliminate a search to locate the node object,
   as well as code that attempted to create the node if it doesn't
   exist.

Signed-off-by: Allan Stephens &lt;Allan.Stephens@windriver.com&gt;
Signed-off-by: Paul Gortmaker &lt;paul.gortmaker@windriver.com&gt;
</content>
</entry>
<entry>
<title>tipc: cosmetic - function names are not to be full sentences</title>
<updated>2011-03-13T20:35:17Z</updated>
<author>
<name>Paul Gortmaker</name>
<email>paul.gortmaker@windriver.com</email>
</author>
<published>2011-02-28T15:36:21Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=8f19afb2dbc885befef2a4e7931dfcb51702a212'/>
<id>urn:sha1:8f19afb2dbc885befef2a4e7931dfcb51702a212</id>
<content type='text'>
Function names like "tipc_node_has_redundant_links" are unweildy
and result in long lines even for simple lines.  The "has" doesn't
contribute any value add, so dropping that is a slight step in the
right direction.   This is a cosmetic change, basic result of:

for i in `grep -l tipc_node_has_ *` ; do sed -i s/tipc_node_has_/tipc_node_/ $i ; done

Signed-off-by: Paul Gortmaker &lt;paul.gortmaker@windriver.com&gt;
</content>
</entry>
<entry>
<title>tipc: manually inline net_start/stop, make assoc. vars static</title>
<updated>2011-03-13T20:35:17Z</updated>
<author>
<name>Allan Stephens</name>
<email>allan.stephens@windriver.com</email>
</author>
<published>2011-02-26T00:11:25Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=34e46258cb9f53b41e8ffd2e9acd58e0cf64b158'/>
<id>urn:sha1:34e46258cb9f53b41e8ffd2e9acd58e0cf64b158</id>
<content type='text'>
Relocates network-related variables into the subsystem files where
they are now primarily used (following the recent rework of TIPC's
node table), and converts globals into locals where possible. Changes
the initialization of tipc_num_links from run-time to compile-time,
and eliminates the net_start routine that becomes empty as a result.
Also eliminates the corresponding net_stop routine by moving its
(trivial) content into the one location that called the routine.

Signed-off-by: Allan Stephens &lt;allan.stephens@windriver.com&gt;
Signed-off-by: Paul Gortmaker &lt;paul.gortmaker@windriver.com&gt;
</content>
</entry>
<entry>
<title>tipc: Convert node object array to a hash table</title>
<updated>2011-03-13T20:35:17Z</updated>
<author>
<name>Allan Stephens</name>
<email>allan.stephens@windriver.com</email>
</author>
<published>2011-02-25T23:42:52Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=672d99e19a12b703c9e2d71ead8fb8b8a85a3886'/>
<id>urn:sha1:672d99e19a12b703c9e2d71ead8fb8b8a85a3886</id>
<content type='text'>
Replaces the dynamically allocated array of pointers to the cluster's
node objects with a static hash table. Hash collisions are resolved
using chaining, with a typical hash chain having only a single node,
to avoid degrading performance during processing of incoming packets.
The conversion to a hash table reduces the memory requirements for
TIPC's node table to approximately the same size it had prior to
the previous commit.

In addition to the hash table itself, TIPC now also maintains a
linked list for the node objects, sorted by ascending network address.
This list allows TIPC to continue sending responses to user space
applications that request node and link information in sorted order.
The list also improves performance when name table update messages are
sent by making it easier to identify the nodes that must be notified.

Signed-off-by: Allan Stephens &lt;allan.stephens@windriver.com&gt;
Signed-off-by: Paul Gortmaker &lt;paul.gortmaker@windriver.com&gt;
</content>
</entry>
<entry>
<title>tipc: Split up unified structure of network-related variables</title>
<updated>2011-03-13T20:35:17Z</updated>
<author>
<name>Allan Stephens</name>
<email>allan.stephens@windriver.com</email>
</author>
<published>2011-02-25T15:01:58Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=d1bcb11544109114d72965afea7805cc3e16a83a'/>
<id>urn:sha1:d1bcb11544109114d72965afea7805cc3e16a83a</id>
<content type='text'>
Converts the fields of the global "tipc_net" structure into individual
variables.  Since the struct was never referenced as a complete unit,
its existence was pointless.  This will facilitate upcoming changes to
TIPC's node table and simpify upcoming relocation of the variables so
they are only visible to the files that actually use them.

This change is essentially cosmetic in nature, and doesn't affect the
operation of TIPC.

Signed-off-by: Allan Stephens &lt;allan.stephens@windriver.com&gt;
Signed-off-by: Paul Gortmaker &lt;paul.gortmaker@windriver.com&gt;
</content>
</entry>
<entry>
<title>tipc: Fix problem with missing link in "tipc-config -l" output</title>
<updated>2011-03-13T20:35:16Z</updated>
<author>
<name>Allan Stephens</name>
<email>Allan.Stephens@windriver.com</email>
</author>
<published>2011-02-24T18:20:20Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=9df3b7eb6ec1c7734482f782bf8335a2737c02f0'/>
<id>urn:sha1:9df3b7eb6ec1c7734482f782bf8335a2737c02f0</id>
<content type='text'>
Removes a race condition that could cause TIPC's internal counter
of the number of links it has to neighboring nodes to have the
incorrect value if two independent threads of control simultaneously
create new link endpoints connecting to two different nodes using two
different bearers. Such under counting would result in TIPC failing to
list the final link(s) in its response to a configuration request to
list all of the node's links. The counter is now updated atomically
to ensure that simultaneous increments do not interfere with each
other.

Thanks go to Peter Butler &lt;pbutler@pt.com&gt; for his assistance in
diagnosing and fixing this problem.

Signed-off-by: Allan Stephens &lt;Allan.Stephens@windriver.com&gt;
Signed-off-by: Paul Gortmaker &lt;paul.gortmaker@windriver.com&gt;
</content>
</entry>
<entry>
<title>tipc: Cosmetic changes to node subscription code</title>
<updated>2011-03-13T20:35:16Z</updated>
<author>
<name>Allan Stephens</name>
<email>Allan.Stephens@windriver.com</email>
</author>
<published>2011-02-23T19:13:41Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=f1379173326de4c745c4f610501486e4f3bd9248'/>
<id>urn:sha1:f1379173326de4c745c4f610501486e4f3bd9248</id>
<content type='text'>
Relocates the code that notifies users of node subscriptions so that
it is adjacent to the rest of the routines that implement TIPC's node
subscription capability. Renames the name table routine that is
invoked by a node subscription to better reflect its purpose and to
be consistent with other, similar name table routines.

These changes are cosmetic in nature, and do not alter the behavior
of TIPC.

Signed-off-by: Allan Stephens &lt;Allan.Stephens@windriver.com&gt;
Signed-off-by: Paul Gortmaker &lt;paul.gortmaker@windriver.com&gt;
</content>
</entry>
<entry>
<title>tipc: Prevent null pointer error when removing a node subscription</title>
<updated>2011-03-13T20:35:16Z</updated>
<author>
<name>Allan Stephens</name>
<email>Allan.Stephens@windriver.com</email>
</author>
<published>2011-02-23T18:51:15Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=431697eb60d2d36614096aff12bd1b826a9f9bc1'/>
<id>urn:sha1:431697eb60d2d36614096aff12bd1b826a9f9bc1</id>
<content type='text'>
Prevents a null pointer dereference from occurring if a node subscription
is triggered at the same time that the subscribing port or publication is
terminating the subscription. The problem arises if the triggering routine
asynchronously activates and deregisters the node subscription while
deregistration is already underway -- the deregistration routine may find
that the pointer it has just verified to be non-NULL is now NULL.
To avoid this race condition the triggering routine now simply marks the
node subscription as defunct (to prevent it from re-activating)
instead of deregistering it. The subscription is now both deregistered
and destroyed only when the subscribing port or publication code terminates
the node subscription.

Signed-off-by: Allan Stephens &lt;Allan.Stephens@windriver.com&gt;
Signed-off-by: Paul Gortmaker &lt;paul.gortmaker@windriver.com&gt;
</content>
</entry>
<entry>
<title>tipc: Add network address mask helper routines</title>
<updated>2011-03-13T20:35:16Z</updated>
<author>
<name>Allan Stephens</name>
<email>Allan.Stephens@windriver.com</email>
</author>
<published>2011-02-23T16:44:49Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=a3796f895ff2917aea331a8d40036c73452b2203'/>
<id>urn:sha1:a3796f895ff2917aea331a8d40036c73452b2203</id>
<content type='text'>
Introduces a pair of helper routines that convert the network address
for a TIPC node into the network address for its cluster or zone.

This is a cosmetic change designed to avoid future errors caused by
the incorrect use of address bitmasks, and does not alter the existing
operation of TIPC.

Signed-off-by: Allan Stephens &lt;Allan.Stephens@windriver.com&gt;
Signed-off-by: Paul Gortmaker &lt;paul.gortmaker@windriver.com&gt;
</content>
</entry>
<entry>
<title>tipc: Correct broadcast link peer info when displaying links</title>
<updated>2011-03-13T20:35:16Z</updated>
<author>
<name>Allan Stephens</name>
<email>Allan.Stephens@windriver.com</email>
</author>
<published>2011-02-21T14:45:31Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=aa8472948487432bacbd099b86e313bc16319495'/>
<id>urn:sha1:aa8472948487432bacbd099b86e313bc16319495</id>
<content type='text'>
Fixes a typo in the calculation of the network address of a node's own
cluster when generating a response to the configuration command that
lists all of the node's links. The correct mask value for a &lt;Z.C.N&gt;
network address uses 1's for the 8-bit zone and 12-bit cluster parts
and 0's for the 12-bit node part.

Signed-off-by: Allan Stephens &lt;Allan.Stephens@windriver.com&gt;
Signed-off-by: Paul Gortmaker &lt;paul.gortmaker@windriver.com&gt;
</content>
</entry>
</feed>
