<feed xmlns='http://www.w3.org/2005/Atom'>
<title>user/sven/linux.git/include/linux/sunrpc/sched.h, branch stable/5.2.y</title>
<subtitle>Linux Kernel
</subtitle>
<id>https://git.stealer.net/cgit.cgi/user/sven/linux.git/atom?h=stable%2F5.2.y</id>
<link rel='self' href='https://git.stealer.net/cgit.cgi/user/sven/linux.git/atom?h=stable%2F5.2.y'/>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/linux.git/'/>
<updated>2019-09-06T08:23:45Z</updated>
<entry>
<title>Revert "NFSv4/flexfiles: Abort I/O early if the layout segment was invalidated"</title>
<updated>2019-09-06T08:23:45Z</updated>
<author>
<name>Trond Myklebust</name>
<email>trond.myklebust@hammerspace.com</email>
</author>
<published>2019-08-16T12:37:26Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/linux.git/commit/?id=e0e3650991cd69492258e1fcfb9731d86b4e38e9'/>
<id>urn:sha1:e0e3650991cd69492258e1fcfb9731d86b4e38e9</id>
<content type='text'>
commit d5711920ec6e578f51db95caa6f185f5090b865e upstream.

This reverts commit a79f194aa4879e9baad118c3f8bb2ca24dbef765.
The mechanism for aborting I/O is racy, since we are not guaranteed that
the request is asleep while we're changing both task-&gt;tk_status and
task-&gt;tk_action.

Signed-off-by: Trond Myklebust &lt;trond.myklebust@hammerspace.com&gt;
Cc: stable@vger.kernel.org # v5.1
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
</entry>
<entry>
<title>SUNRPC: Add tracking of RPC level errors</title>
<updated>2019-04-25T18:18:13Z</updated>
<author>
<name>Trond Myklebust</name>
<email>trondmy@gmail.com</email>
</author>
<published>2019-04-07T17:58:54Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/linux.git/commit/?id=5ad64b36dda962797ce3ed579a27189ec7482d0d'/>
<id>urn:sha1:5ad64b36dda962797ce3ed579a27189ec7482d0d</id>
<content type='text'>
Add variables to track RPC level errors so that we can distinguish
between issue that arose in the RPC transport layer as opposed to
those arising from the reply message.

Signed-off-by: Trond Myklebust &lt;trond.myklebust@hammerspace.com&gt;
Signed-off-by: Anna Schumaker &lt;Anna.Schumaker@Netapp.com&gt;
</content>
</entry>
<entry>
<title>SUNRPC: Simplify queue timeouts using timer_reduce()</title>
<updated>2019-04-25T18:18:13Z</updated>
<author>
<name>Trond Myklebust</name>
<email>trondmy@gmail.com</email>
</author>
<published>2019-04-07T17:58:51Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/linux.git/commit/?id=24a9d9a21e568f494198eea2bb864e0b6c593051'/>
<id>urn:sha1:24a9d9a21e568f494198eea2bb864e0b6c593051</id>
<content type='text'>
Simplify the setting of queue timeouts by using the timer_reduce()
function.

Signed-off-by: Trond Myklebust &lt;trond.myklebust@hammerspace.com&gt;
Signed-off-by: Anna Schumaker &lt;Anna.Schumaker@Netapp.com&gt;
</content>
</entry>
<entry>
<title>SUNRPC: Fix up tracking of timeouts</title>
<updated>2019-04-25T18:18:13Z</updated>
<author>
<name>Trond Myklebust</name>
<email>trondmy@gmail.com</email>
</author>
<published>2019-04-07T17:58:50Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/linux.git/commit/?id=5efd1876e61fe61b61e2d056782027c11bcd0982'/>
<id>urn:sha1:5efd1876e61fe61b61e2d056782027c11bcd0982</id>
<content type='text'>
Add a helper to ensure that debugfs and friends print out the
correct current task timeout value.

Signed-off-by: Trond Myklebust &lt;trond.myklebust@hammerspace.com&gt;
Signed-off-by: Anna Schumaker &lt;Anna.Schumaker@Netapp.com&gt;
</content>
</entry>
<entry>
<title>SUNRPC: Add function rpc_sleep_on_timeout()</title>
<updated>2019-04-25T18:18:13Z</updated>
<author>
<name>Trond Myklebust</name>
<email>trondmy@gmail.com</email>
</author>
<published>2019-04-07T17:58:49Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/linux.git/commit/?id=6b2e6856275d7b8d0acbf06d2e8da72e1a6bc857'/>
<id>urn:sha1:6b2e6856275d7b8d0acbf06d2e8da72e1a6bc857</id>
<content type='text'>
Clean up the RPC task sleep interfaces by replacing the task-&gt;tk_timeout
'hidden parameter' to rpc_sleep_on() with a new function that takes an
absolute timeout.

Signed-off-by: Trond Myklebust &lt;trond.myklebust@hammerspace.com&gt;
Signed-off-by: Anna Schumaker &lt;Anna.Schumaker@Netapp.com&gt;
</content>
</entry>
<entry>
<title>SUNRPC: Remove unused argument 'action' from rpc_sleep_on_priority()</title>
<updated>2019-04-25T18:18:12Z</updated>
<author>
<name>Trond Myklebust</name>
<email>trondmy@gmail.com</email>
</author>
<published>2019-04-07T17:58:48Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/linux.git/commit/?id=8357a9b60fe7500699a9dec540ca1c48df3cb455'/>
<id>urn:sha1:8357a9b60fe7500699a9dec540ca1c48df3cb455</id>
<content type='text'>
None of the callers set the 'action' argument, so let's just remove it.

Signed-off-by: Trond Myklebust &lt;trond.myklebust@hammerspace.com&gt;
Signed-off-by: Anna Schumaker &lt;Anna.Schumaker@Netapp.com&gt;
</content>
</entry>
<entry>
<title>SUNRPC: Fix up task signalling</title>
<updated>2019-04-25T18:18:12Z</updated>
<author>
<name>Trond Myklebust</name>
<email>trondmy@gmail.com</email>
</author>
<published>2019-04-07T17:58:44Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/linux.git/commit/?id=ae67bd3821bb0a54d97e7883d211196637d487a9'/>
<id>urn:sha1:ae67bd3821bb0a54d97e7883d211196637d487a9</id>
<content type='text'>
The RPC_TASK_KILLED flag should really not be set from another context
because it can clobber data in the struct task when task-&gt;tk_flags is
changed non-atomically.
Let's therefore swap out RPC_TASK_KILLED with an atomic flag, and add
a function to set that flag and safely wake up the task.

Signed-off-by: Trond Myklebust &lt;trond.myklebust@hammerspace.com&gt;
Signed-off-by: Anna Schumaker &lt;Anna.Schumaker@Netapp.com&gt;
</content>
</entry>
<entry>
<title>Revert "SUNRPC: Micro-optimise when the task is known not to be sleeping"</title>
<updated>2019-04-11T19:41:14Z</updated>
<author>
<name>Trond Myklebust</name>
<email>trond.myklebust@hammerspace.com</email>
</author>
<published>2019-04-11T19:16:52Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/linux.git/commit/?id=af6b61d7ef58099c82d854395a0e002be6bd036c'/>
<id>urn:sha1:af6b61d7ef58099c82d854395a0e002be6bd036c</id>
<content type='text'>
This reverts commit 009a82f6437490c262584d65a14094a818bcb747.

The ability to optimise here relies on compiler being able to optimise
away tail calls to avoid stack overflows. Unfortunately, we are seeing
reports of problems, so let's just revert.

Reported-by: Daniel Mack &lt;daniel@zonque.org&gt;
Signed-off-by: Trond Myklebust &lt;trond.myklebust@hammerspace.com&gt;
</content>
</entry>
<entry>
<title>SUNRPC: Micro-optimise when the task is known not to be sleeping</title>
<updated>2019-03-10T18:08:19Z</updated>
<author>
<name>Trond Myklebust</name>
<email>trond.myklebust@hammerspace.com</email>
</author>
<published>2019-03-09T17:07:17Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/linux.git/commit/?id=009a82f6437490c262584d65a14094a818bcb747'/>
<id>urn:sha1:009a82f6437490c262584d65a14094a818bcb747</id>
<content type='text'>
In cases where we know the task is not sleeping, try to optimise
away the indirect call to task-&gt;tk_action() by replacing it with
a direct call.
Only change tail calls, to allow gcc to perform tail call
elimination.

Signed-off-by: Trond Myklebust &lt;trond.myklebust@hammerspace.com&gt;
</content>
</entry>
<entry>
<title>NFSv4/flexfiles: Abort I/O early if the layout segment was invalidated</title>
<updated>2019-03-01T21:20:16Z</updated>
<author>
<name>Trond Myklebust</name>
<email>trond.myklebust@hammerspace.com</email>
</author>
<published>2019-02-27T20:37:36Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/linux.git/commit/?id=a79f194aa4879e9baad118c3f8bb2ca24dbef765'/>
<id>urn:sha1:a79f194aa4879e9baad118c3f8bb2ca24dbef765</id>
<content type='text'>
If a layout segment gets invalidated while a pNFS I/O operation
is queued for transmission, then we ideally want to abort
immediately. This is particularly the case when there is a large
number of I/O related RPCs queued in the RPC layer, and the layout
segment gets invalidated due to an ENOSPC error, or an EACCES (because
the client was fenced). We may end up forced to spam the MDS with a
lot of otherwise unnecessary LAYOUTERRORs after that I/O fails.

Signed-off-by: Trond Myklebust &lt;trond.myklebust@hammerspace.com&gt;
</content>
</entry>
</feed>
