linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: David Miller <davem@davemloft.net>
To: dhowells@redhat.com
Cc: netdev@vger.kernel.org, linux-afs@lists.infradead.org,
	linux-kernel@vger.kernel.org
Subject: Re: [PATCH net 0/6] rxrpc, afs: Interruptibility fixes
Date: Thu, 19 Mar 2020 20:28:55 -0700 (PDT)	[thread overview]
Message-ID: <20200319.202855.777232170285897789.davem@davemloft.net> (raw)
In-Reply-To: <158461880968.3094720.5019510060910604912.stgit@warthog.procyon.org.uk>

From: David Howells <dhowells@redhat.com>
Date: Thu, 19 Mar 2020 11:53:29 +0000

> Here are a number of fixes for AF_RXRPC and AFS that make AFS system calls
> less interruptible and so less likely to leave the filesystem in an
> uncertain state.  There's also a miscellaneous patch to make tracing
> consistent.
> 
>  (1) Firstly, abstract out the Tx space calculation in sendmsg.  Much the
>      same code is replicated in a number of places that subsequent patches
>      are going to alter, including adding another copy.
> 
>  (2) Fix Tx interruptibility by allowing a kernel service, such as AFS, to
>      request that a call be interruptible only when waiting for a call slot
>      to become available (ie. the call has not taken place yet) or that a
>      call be not interruptible at all (e.g. when we want to do writeback
>      and don't want a signal interrupting a VM-induced writeback).
> 
>  (3) Increase the minimum delay on MSG_WAITALL for userspace sendmsg() when
>      waiting for Tx buffer space as a 2*RTT delay is really small over 10G
>      ethernet and a 1 jiffy timeout might be essentially 0 if at the end of
>      the jiffy period.
> 
>  (4) Fix some tracing output in AFS to make it consistent with rxrpc.
> 
>  (5) Make sure aborted asynchronous AFS operations are tidied up properly
>      so we don't end up with stuck rxrpc calls.
> 
>  (6) Make AFS client calls uninterruptible in the Rx phase.  If we don't
>      wait for the reply to be fully gathered, we can't update the local VFS
>      state and we end up in an indeterminate state with respect to the
>      server.
> 
> The patches are tagged here:
> 
> 	git://git.kernel.org/pub/scm/linux/kernel/git/dhowells/linux-fs.git
> 	rxrpc-fixes-20200319

Pulled, thanks David.

      parent reply	other threads:[~2020-03-20  3:28 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-03-19 11:53 [PATCH net 0/6] rxrpc, afs: Interruptibility fixes David Howells
2020-03-19 11:53 ` [PATCH net 1/6] rxrpc: Abstract out the calculation of whether there's Tx space David Howells
2020-03-19 11:53 ` [PATCH net 2/6] rxrpc: Fix call interruptibility handling David Howells
2020-03-19 11:53 ` [PATCH net 3/6] rxrpc: Fix sendmsg(MSG_WAITALL) handling David Howells
2020-03-19 11:53 ` [PATCH net 4/6] afs: Fix some tracing details David Howells
2020-03-19 11:54 ` [PATCH net 5/6] afs: Fix handling of an abort from a service handler David Howells
2020-03-19 11:54 ` [PATCH net 6/6] afs: Fix client call Rx-phase signal handling David Howells
2020-03-20  3:28 ` David Miller [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20200319.202855.777232170285897789.davem@davemloft.net \
    --to=davem@davemloft.net \
    --cc=dhowells@redhat.com \
    --cc=linux-afs@lists.infradead.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=netdev@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).