• David Howells's avatar
    afs: Make read subreqs async · 2e45b922
    David Howells authored
    Perform AFS read subrequests in a work item rather than in the calling
    thread.  For normal buffered reads, this will allow the calling thread to
    copy data from the pagecache to the application at the same time as the
    demarshalling thread is shovelling data from skbuffs into the pagecache.
    
    This will also allow the RA mark to trigger a new read before we've
    finished shovelling the data from the current one.
    
    Note: This would be a bit safer if the FS.FetchData RPC ops returned the
    metadata (including the data version number) before returning the data.
    This would allow me to flush the pagecache before installing the new data.
    
    In future, it may be possible to asynchronously flush the pagecache either
    side of the region being read.
    Signed-off-by: default avatarDavid Howells <dhowells@redhat.com>
    cc: Marc Dionne <marc.dionne@auristor.com>
    cc: Jeff Layton <jlayton@kernel.org>
    cc: linux-afs@lists.infradead.org
    cc: netfs@lists.linux.dev
    cc: linux-fsdevel@vger.kernel.org
    Link: https://lore.kernel.org/r/20240814203850.2240469-19-dhowells@redhat.com/ # v2
    Signed-off-by: default avatarChristian Brauner <brauner@kernel.org>
    2e45b922
file.c 12.6 KB