Re: [PATCH 05/19] NFS: Use local caching



On Wed, 2006-11-15 at 16:00 +0000, David Howells wrote:
Trond Myklebust <trond.myklebust@xxxxxxxxxx> wrote:

Why is fscache being given a vote on whether or not the NFS page can be
removed from the mapping? If the file has changed on the server, so that
we have to invalidate the mapping, then I don't care about the fact that
fscache is busy: the page has to go.

This is releasepage() not invalidatepage(). It is conditional.

...and invalidate_complete_page2() calls try_to_release_page() which
again calls releasepage(). Success or failure of the latter should
therefore not depend on the internal fscache state.

@@ -942,11 +954,13 @@ static int nfs_update_inode(struct inode
...
+ nfs_fscache_set_size(inode);

Doesn't nfs_fscache_set_size try to grab rw_semaphores? This function is
_always_ called with the inode->i_lock spinlock held.

Hmmm... I wonder if I need to do this in nfs_update_inode() at all. Won't the
pages and the cache object attached to an inode be discarded anyway if the file
attributes returned by the server change?

In the case of a read-only file, yes. That is not true of a read/write
file.

static void nfs_readpage_release(struct nfs_page *req)
{
+ struct inode *d_inode = req->wb_context->dentry->d_inode;
+
+ if (PageUptodate(req->wb_page))
+ nfs_readpage_to_fscache(d_inode, req->wb_page, 0);
+

Will usually be called from an rpciod context. Should therefore not be
grabbing semaphores, doing memory allocation etc.

Is it possible to make an NFS kernel thread that can have completed nfs_page
structs queued for writing to the cache?

Why should we add extra context switches for the non-fscache case? Just
move the call to nfs_readpage_to_fscache into its own kernel thread.

Trond

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/



Relevant Pages

  • Re: Validation Summary
    ... I had to add .axd mapping to my website ... needed to uncheck the box. ... the default Web properties to use Visual Studio Development Server to run the ... IIS server configuration, which seems to be the case since it doesn't work ...
    (microsoft.public.dotnet.framework.aspnet)
  • Re: Anyone configured IMS 5.1 to work with Spamhaus?
    ... for access control and other table lookups ... The left hand side of the ORIG_MAIL_ACCESS mapping is of the format ... "server error" is returned, so some bad domain mail could slip through ...
    (comp.unix.solaris)
  • Re: network home folder not mapped correctly
    ... server was installed so that's not the issue. ... I have not been able to recreate the problem with a reboot. ... When the mapping is incorrect, ... Frequently when clients login to the domain from XP Pro computers ...
    (microsoft.public.windowsxp.general)
  • Re: Config Manager 2007.. packages.. programs.. command .. can spe
    ... server and it would have no O: drive mapping in that account context so I ...
    (microsoft.public.sms.admin)
  • Re: 2xSBS2003, 2x Domains, connection lost ...??
    ... you have to advise that you have not broken the EULA by mapping a drive ... forbidden in the EULA. ... Your present scenario is what I would expect. ... viewers saying i.e dhcp server on one shutting down. ...
    (microsoft.public.windows.server.sbs)