FW: problem s NFS

Jiri Kosina jikos na jikos.cz
Sobota Srpen 26 15:40:52 CEST 2006


On Sat, 26 Aug 2006, Daniel Staněk wrote:

> - aplikovat tento patch pokud mas jadro 2.6.x a SMP system:
> --- linux.orig/fs/nfs/inode.c   2005-07-06 11:08:27.000000000 -0700
> +++ linux/fs/nfs/inode.c        2005-07-06 11:20:19.000000000 -0700
> @@ -1153,10 +1155,12 @@ void nfs_end_data_update(struct inode *i
>     if (!nfs_have_delegation(inode, FMODE_READ)) {
>         /* Mark the attribute cache for revalidation */
> +               lock_kernel();
>         nfsi->flags |= NFS_INO_INVALID_ATTR;
>         /* Directories and symlinks: invalidate page cache too */
>         if (S_ISDIR(inode->i_mode) || S_ISLNK(inode->i_mode))
>             nfsi->flags |= NFS_INO_INVALID_DATA;
> +               unlock_kernel();
>     }
>     nfsi->cache_change_attribute ++;
>     atomic_dec(&nfsi->data_updates);

Big kernel lock neni zrovna dobre reseni obecne, natoz v zalezitostech 
spojenych s vykonostnimi problemy :) Spravne reseni je kolem tehle 
invalidace cache pouzit spinlock inode->i_lock. Jak to ostatne novejsi 
kernely delaji.

-- 
JiKos.


Další informace o konferenci Linux