<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel.git/include/linux/sunrpc/sched.h, branch linux-6.0.y</title>
<subtitle>Hosts the 0x221E linux distro kernel.
</subtitle>
<id>https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-6.0.y</id>
<link rel='self' href='https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-6.0.y'/>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/'/>
<updated>2022-07-23T18:47:28Z</updated>
<entry>
<title>SUNRPC: Shrink size of struct rpc_task</title>
<updated>2022-07-23T18:47:28Z</updated>
<author>
<name>Trond Myklebust</name>
</author>
<published>2022-07-23T18:47:28Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=ba8ec7a607e98e8491a1fcf924a2e6c96ac9d413'/>
<id>urn:sha1:ba8ec7a607e98e8491a1fcf924a2e6c96ac9d413</id>
<content type='text'>
Move the field 'tk_rpc_status' so that we eliminate a 4 byte hole in the
structure.
For x86_64, this shrinks the size of the struct by 8 bytes.

'pahole' output before the change:
        /* size: 232, cachelines: 4, members: 27 */
        /* sum members: 222, holes: 1, sum holes: 4 */
        /* sum bitfield members: 8 bits (1 bytes) */
        /* padding: 5 */
        /* last cacheline: 40 bytes */

'pahole' output after the change:
        /* size: 224, cachelines: 4, members: 27 */
        /* padding: 1 */
        /* last cacheline: 32 bytes */

Signed-off-by: Trond Myklebust &lt;trond.myklebust@hammerspace.com&gt;
</content>
</entry>
<entry>
<title>NFS: Fix memory allocation in rpc_malloc()</title>
<updated>2022-03-22T19:52:55Z</updated>
<author>
<name>Trond Myklebust</name>
</author>
<published>2022-03-15T02:02:22Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=33e5c765bc1ea5e06ea7603637f14d727e6fcdf3'/>
<id>urn:sha1:33e5c765bc1ea5e06ea7603637f14d727e6fcdf3</id>
<content type='text'>
When in a low memory situation, we do want rpciod to kick off direct
reclaim in the case where that helps, however we don't want it looping
forever in mempool_alloc().
So first try allocating from the slab using GFP_KERNEL | __GFP_NORETRY,
and then fall back to a GFP_NOWAIT allocation from the mempool.

Ditto for rpc_alloc_task()

Signed-off-by: Trond Myklebust &lt;trond.myklebust@hammerspace.com&gt;
</content>
</entry>
<entry>
<title>NFS: discard NFS_RPC_SWAPFLAGS and RPC_TASK_ROOTCREDS</title>
<updated>2022-03-13T16:59:35Z</updated>
<author>
<name>NeilBrown</name>
</author>
<published>2022-03-06T23:41:44Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=89c2be8a951654758dffeaaa6272328d9c8f29be'/>
<id>urn:sha1:89c2be8a951654758dffeaaa6272328d9c8f29be</id>
<content type='text'>
NFS_RPC_SWAPFLAGS is only used for READ requests.
It sets RPC_TASK_SWAPPER which gives some memory-allocation priority to
requests.  This is not needed for swap READ - though it is for writes
where it is set via a different mechanism.

RPC_TASK_ROOTCREDS causes the 'machine' credential to be used.
This is not needed as the root credential is saved when the swap file is
opened, and this is used for all IO.

So NFS_RPC_SWAPFLAGS isn't needed, and as it is the only user of
RPC_TASK_ROOTCREDS, that isn't needed either.

Remove both.

Signed-off-by: NeilBrown &lt;neilb@suse.de&gt;
Signed-off-by: Trond Myklebust &lt;trond.myklebust@hammerspace.com&gt;
</content>
</entry>
<entry>
<title>SUNRPC: Remove unnecessary memory barriers</title>
<updated>2021-10-04T00:49:05Z</updated>
<author>
<name>Trond Myklebust</name>
</author>
<published>2021-07-12T16:24:15Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=b9f8713f42af11ae6d7f63075334ba5298436be6'/>
<id>urn:sha1:b9f8713f42af11ae6d7f63075334ba5298436be6</id>
<content type='text'>
The only check for RPC_TASK_RUNNING is the one in rpc_make_runnable(),
which happens under the same spin lock held when we call
rpc_clear_running().

Ditto, the last check for RPC_TASK_QUEUED in rpc_execute() is performed
under the same lock as the one held when we call rpc_clear_queued().

Signed-off-by: Trond Myklebust &lt;trond.myklebust@hammerspace.com&gt;
</content>
</entry>
<entry>
<title>NFSv4.1 identify and mark RPC tasks that can move between transports</title>
<updated>2021-07-08T18:03:24Z</updated>
<author>
<name>Olga Kornievskaia</name>
</author>
<published>2021-06-24T03:28:51Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=85e39feead948bdf8322c961d7a9bebc20d629f3'/>
<id>urn:sha1:85e39feead948bdf8322c961d7a9bebc20d629f3</id>
<content type='text'>
In preparation for when we can re-try a task on a different transport,
identify and mark such RPC tasks as moveable. Only 4.1+ operarations can
be re-tried on a different transport.

Signed-off-by: Olga Kornievskaia &lt;kolga@netapp.com&gt;
Signed-off-by: Trond Myklebust &lt;trond.myklebust@hammerspace.com&gt;
</content>
</entry>
<entry>
<title>SUNRPC: Add a flag to avoid reference counts on credentials</title>
<updated>2020-03-16T12:34:28Z</updated>
<author>
<name>Trond Myklebust</name>
</author>
<published>2020-02-08T00:11:12Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=7eac52648a4c24ad23a05f62db97867c92a5747b'/>
<id>urn:sha1:7eac52648a4c24ad23a05f62db97867c92a5747b</id>
<content type='text'>
Add a flag to signal to the RPC layer that the credential is already
pinned for the duration of the RPC call.

Signed-off-by: Trond Myklebust &lt;trond.myklebust@hammerspace.com&gt;
</content>
</entry>
<entry>
<title>Merge tag 'nfs-for-5.4-1' of git://git.linux-nfs.org/projects/anna/linux-nfs</title>
<updated>2019-09-26T19:20:14Z</updated>
<author>
<name>Linus Torvalds</name>
</author>
<published>2019-09-26T19:20:14Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=972a2bf7dfe39ebf49dd47f68d27c416392e53b1'/>
<id>urn:sha1:972a2bf7dfe39ebf49dd47f68d27c416392e53b1</id>
<content type='text'>
Pull NFS client updates from Anna Schumaker:
 "Stable bugfixes:
   - Dequeue the request from the receive queue while we're re-encoding
     # v4.20+
   - Fix buffer handling of GSS MIC without slack # 5.1

  Features:
   - Increase xprtrdma maximum transport header and slot table sizes
   - Add support for nfs4_call_sync() calls using a custom
     rpc_task_struct
   - Optimize the default readahead size
   - Enable pNFS filelayout LAYOUTGET on OPEN

  Other bugfixes and cleanups:
   - Fix possible null-pointer dereferences and memory leaks
   - Various NFS over RDMA cleanups
   - Various NFS over RDMA comment updates
   - Don't receive TCP data into a reset request buffer
   - Don't try to parse incomplete RPC messages
   - Fix congestion window race with disconnect
   - Clean up pNFS return-on-close error handling
   - Fixes for NFS4ERR_OLD_STATEID handling"

* tag 'nfs-for-5.4-1' of git://git.linux-nfs.org/projects/anna/linux-nfs: (53 commits)
  pNFS/filelayout: enable LAYOUTGET on OPEN
  NFS: Optimise the default readahead size
  NFSv4: Handle NFS4ERR_OLD_STATEID in LOCKU
  NFSv4: Handle NFS4ERR_OLD_STATEID in CLOSE/OPEN_DOWNGRADE
  NFSv4: Fix OPEN_DOWNGRADE error handling
  pNFS: Handle NFS4ERR_OLD_STATEID on layoutreturn by bumping the state seqid
  NFSv4: Add a helper to increment stateid seqids
  NFSv4: Handle RPC level errors in LAYOUTRETURN
  NFSv4: Handle NFS4ERR_DELAY correctly in return-on-close
  NFSv4: Clean up pNFS return-on-close error handling
  pNFS: Ensure we do clear the return-on-close layout stateid on fatal errors
  NFS: remove unused check for negative dentry
  NFSv3: use nfs_add_or_obtain() to create and reference inodes
  NFS: Refactor nfs_instantiate() for dentry referencing callers
  SUNRPC: Fix congestion window race with disconnect
  SUNRPC: Don't try to parse incomplete RPC messages
  SUNRPC: Rename xdr_buf_read_netobj to xdr_buf_read_mic
  SUNRPC: Fix buffer handling of GSS MIC without slack
  SUNRPC: RPC level errors should always set task-&gt;tk_rpc_status
  SUNRPC: Don't receive TCP data into a request buffer that has been reset
  ...
</content>
</entry>
<entry>
<title>Revert "NFSv4/flexfiles: Abort I/O early if the layout segment was invalidated"</title>
<updated>2019-08-26T19:31:29Z</updated>
<author>
<name>Trond Myklebust</name>
</author>
<published>2019-08-16T12:37:26Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=d5711920ec6e578f51db95caa6f185f5090b865e'/>
<id>urn:sha1:d5711920ec6e578f51db95caa6f185f5090b865e</id>
<content type='text'>
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
</content>
</entry>
<entry>
<title>SUNRPC: Remove rpc_wake_up_queued_task_on_wq()</title>
<updated>2019-08-20T14:02:22Z</updated>
<author>
<name>Chuck Lever</name>
</author>
<published>2019-08-19T22:36:19Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=691b45ddbd182a4ce0bc91953c70c845cf0935f1'/>
<id>urn:sha1:691b45ddbd182a4ce0bc91953c70c845cf0935f1</id>
<content type='text'>
Clean up: commit c544577daddb ("SUNRPC: Clean up transport write
space handling") appears to have removed the last caller of
rpc_wake_up_queued_task_on_wq().

Signed-off-by: Chuck Lever &lt;chuck.lever@oracle.com&gt;
Signed-off-by: Anna Schumaker &lt;Anna.Schumaker@Netapp.com&gt;
</content>
</entry>
<entry>
<title>Merge branch 'multipath_tcp'</title>
<updated>2019-07-06T18:54:52Z</updated>
<author>
<name>Trond Myklebust</name>
</author>
<published>2019-06-11T20:53:33Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=c98ebe2937404d8e6e028ac9cadcf870a6faccc2'/>
<id>urn:sha1:c98ebe2937404d8e6e028ac9cadcf870a6faccc2</id>
<content type='text'>
</content>
</entry>
</feed>
