<feed xmlns='http://www.w3.org/2005/Atom'>
<title>user/sven/linux.git/fs/dlm/lowcomms.c, branch v3.2.67</title>
<subtitle>Linux Kernel
</subtitle>
<id>https://git.stealer.net/cgit.cgi/user/sven/linux.git/atom?h=v3.2.67</id>
<link rel='self' href='https://git.stealer.net/cgit.cgi/user/sven/linux.git/atom?h=v3.2.67'/>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/linux.git/'/>
<updated>2011-07-06T21:37:23Z</updated>
<entry>
<title>dlm: dump address of unknown node</title>
<updated>2011-07-06T21:37:23Z</updated>
<author>
<name>Masatake YAMATO</name>
<email>yamato@redhat.com</email>
</author>
<published>2011-07-04T03:25:51Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/linux.git/commit/?id=bcaadf5c1ac4ff84b52174a84adb86a1e3e806dd'/>
<id>urn:sha1:bcaadf5c1ac4ff84b52174a84adb86a1e3e806dd</id>
<content type='text'>
When the dlm fails to make a network connection to another
node, include the address of the node in the error message.

Signed-off-by: Masatake YAMATO &lt;yamato@redhat.com&gt;
Signed-off-by: David Teigland &lt;teigland@redhat.com&gt;
</content>
</entry>
<entry>
<title>Fix common misspellings</title>
<updated>2011-03-31T14:26:23Z</updated>
<author>
<name>Lucas De Marchi</name>
<email>lucas.demarchi@profusion.mobi</email>
</author>
<published>2011-03-31T01:57:33Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/linux.git/commit/?id=25985edcedea6396277003854657b5f3cb31a628'/>
<id>urn:sha1:25985edcedea6396277003854657b5f3cb31a628</id>
<content type='text'>
Fixes generated by 'codespell' and manually reviewed.

Signed-off-by: Lucas De Marchi &lt;lucas.demarchi@profusion.mobi&gt;
</content>
</entry>
<entry>
<title>dlm: use alloc_workqueue function</title>
<updated>2011-03-10T19:22:34Z</updated>
<author>
<name>David Teigland</name>
<email>teigland@redhat.com</email>
</author>
<published>2011-03-10T19:22:34Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/linux.git/commit/?id=e43f055a953721ed1787a039ab5e720755596ea2'/>
<id>urn:sha1:e43f055a953721ed1787a039ab5e720755596ea2</id>
<content type='text'>
Replaces deprecated create_singlethread_workqueue().

Signed-off-by: David Teigland &lt;teigland@redhat.com&gt;
</content>
</entry>
<entry>
<title>dlm: use single thread workqueues</title>
<updated>2011-02-11T22:50:47Z</updated>
<author>
<name>David Teigland</name>
<email>teigland@redhat.com</email>
</author>
<published>2011-02-11T22:44:31Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/linux.git/commit/?id=6b155c8fd4d239f7d883d455bbad1be47724bbfc'/>
<id>urn:sha1:6b155c8fd4d239f7d883d455bbad1be47724bbfc</id>
<content type='text'>
The recent commit to use cmwq for send and recv threads
dcce240ead802d42b1e45ad2fcb2ed4a399cb255 introduced problems,
apparently due to multiple workqueue threads.  Single threads
make the problems go away, so return to that until we fully
understand the concurrency issues with multiple threads.

Signed-off-by: David Teigland &lt;teigland@redhat.com&gt;
</content>
</entry>
<entry>
<title>dlm: sanitize work_start() in lowcomms.c</title>
<updated>2010-12-13T19:42:24Z</updated>
<author>
<name>Namhyung Kim</name>
<email>namhyung@gmail.com</email>
</author>
<published>2010-12-13T19:42:24Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/linux.git/commit/?id=b9d41052794385f9d47ebb7acf4a772f3ad02398'/>
<id>urn:sha1:b9d41052794385f9d47ebb7acf4a772f3ad02398</id>
<content type='text'>
The create_workqueue() returns NULL if failed rather than ERR_PTR().
Fix error checking and remove unnecessary variable 'error'.

Signed-off-by: Namhyung Kim &lt;namhyung@gmail.com&gt;
Cc: Tejun Heo &lt;tj@kernel.org&gt;
Signed-off-by: David Teigland &lt;teigland@redhat.com&gt;
</content>
</entry>
<entry>
<title>dlm: reduce cond_resched during send</title>
<updated>2010-11-12T17:15:20Z</updated>
<author>
<name>Bob Peterson</name>
<email>rpeterso@redhat.com</email>
</author>
<published>2010-11-12T17:15:20Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/linux.git/commit/?id=f92c8dd7a0eb18124521e2b549f88422e17f707b'/>
<id>urn:sha1:f92c8dd7a0eb18124521e2b549f88422e17f707b</id>
<content type='text'>
Calling cond_resched() after every send can unnecessarily
degrade performance.  Go back to an old method of scheduling
after 25 messages.

Signed-off-by: Bob Peterson &lt;rpeterso@redhat.com&gt;
Signed-off-by: David Teigland &lt;teigland@redhat.com&gt;
</content>
</entry>
<entry>
<title>dlm: use TCP_NODELAY</title>
<updated>2010-11-12T17:12:55Z</updated>
<author>
<name>David Teigland</name>
<email>teigland@redhat.com</email>
</author>
<published>2010-11-12T17:12:55Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/linux.git/commit/?id=cb2d45da81c86d5191b19d0f67732a854bc0253c'/>
<id>urn:sha1:cb2d45da81c86d5191b19d0f67732a854bc0253c</id>
<content type='text'>
Nagling doesn't help and can sometimes hurt dlm comms.

Signed-off-by: David Teigland &lt;teigland@redhat.com&gt;
</content>
</entry>
<entry>
<title>dlm: Use cmwq for send and receive workqueues</title>
<updated>2010-11-12T17:08:03Z</updated>
<author>
<name>Steven Whitehouse</name>
<email>swhiteho@redhat.com</email>
</author>
<published>2010-11-12T12:12:29Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/linux.git/commit/?id=dcce240ead802d42b1e45ad2fcb2ed4a399cb255'/>
<id>urn:sha1:dcce240ead802d42b1e45ad2fcb2ed4a399cb255</id>
<content type='text'>
So far as I can tell, there is no reason to use a single-threaded
send workqueue for dlm, since it may need to send to several sockets
concurrently. Both workqueues are set to WQ_MEM_RECLAIM to avoid
any possible deadlocks, WQ_HIGHPRI since locking traffic is highly
latency sensitive (and to avoid a priority inversion wrt GFS2's
glock_workqueue) and WQ_FREEZABLE just in case someone needs to do
that (even though with current cluster infrastructure, it doesn't
make sense as the node will most likely land up ejected from the
cluster) in the future.

Signed-off-by: Steven Whitehouse &lt;swhiteho@redhat.com&gt;
Cc: Tejun Heo &lt;tj@kernel.org&gt;
Signed-off-by: David Teigland &lt;teigland@redhat.com&gt;
</content>
</entry>
<entry>
<title>dlm: Handle application limited situations properly.</title>
<updated>2010-11-11T19:05:12Z</updated>
<author>
<name>David Miller</name>
<email>davem@davemloft.net</email>
</author>
<published>2010-11-11T05:56:39Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/linux.git/commit/?id=b36930dd508e00f0c5083bcd57d25de6d0375c76'/>
<id>urn:sha1:b36930dd508e00f0c5083bcd57d25de6d0375c76</id>
<content type='text'>
In the normal regime where an application uses non-blocking I/O
writes on a socket, they will handle -EAGAIN and use poll() to
wait for send space.

They don't actually sleep on the socket I/O write.

But kernel level RPC layers that do socket I/O operations directly
and key off of -EAGAIN on the write() to "try again later" don't
use poll(), they instead have their own sleeping mechanism and
rely upon -&gt;sk_write_space() to trigger the wakeup.

So they do effectively sleep on the write(), but this mechanism
alone does not let the socket layers know what's going on.

Therefore they must emulate what would have happened, otherwise
TCP cannot possibly see that the connection is application window
size limited.

Handle this, therefore, like SUNRPC by setting SOCK_NOSPACE and
bumping the -&gt;sk_write_count as needed when we hit the send buffer
limits.

This should make TCP send buffer size auto-tuning and the
-&gt;sk_write_space() callback invocations actually happen.

Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
Signed-off-by: David Teigland &lt;teigland@redhat.com&gt;
</content>
</entry>
<entry>
<title>fs/dlm: Drop unnecessary null test</title>
<updated>2010-08-05T19:23:45Z</updated>
<author>
<name>Julia Lawall</name>
<email>julia@diku.dk</email>
</author>
<published>2010-08-03T21:34:16Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/linux.git/commit/?id=f70cb33b9c270f4f1a7f28327e7d35dbf1a6fc40'/>
<id>urn:sha1:f70cb33b9c270f4f1a7f28327e7d35dbf1a6fc40</id>
<content type='text'>
hlist_for_each_entry binds its first argument to a non-null value, and thus
any null test on the value of that argument is superfluous.

The semantic patch that makes this change is as follows:
(http://coccinelle.lip6.fr/)

// &lt;smpl&gt;
@@
iterator I;
expression x,E,E1,E2;
statement S,S1,S2;
@@

I(x,...) { &lt;...
- (x != NULL) &amp;&amp;
  E
  ...&gt; }
// &lt;/smpl&gt;

Signed-off-by: Julia Lawall &lt;julia@diku.dk&gt;
Signed-off-by: David Teigland &lt;teigland@redhat.com&gt;
</content>
</entry>
</feed>
