Re: [PATCH 1/9] xfs: use per-filesystem dquot LRU lists

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Tue, Feb 14, 2012 at 09:29:27PM -0500, Christoph Hellwig wrote:
> Replace the global dquot lru lists with a per-filesystem one.
> 
> Note that the shrinker isn't wired up to the per-superblock VFS shrinker
> infrastructure, as doing so would cause problems due to summing up and
> splitting out again the counts for inodes and dquots.  I do not believe this
> is a major issue as the quota cache is not deeply interwinded with inode
> and dentry caching.

Yes, that's fine, like the xfs_buf cache has it's own shrinker
and reclaim algorithm....

> Also temporarily stop tracking the system-wide count of dquots on the LRU
> lists for /proc/fs/xfs/xqm, which will be added back later in the series.
> 
> Signed-off-by: Christoph Hellwig <hch@xxxxxx>
....
> @@ -869,12 +868,13 @@ recurse:
>  
>  	trace_xfs_dqput_free(dqp);
>  
> -	mutex_lock(&xfs_Gqm->qm_dqfrlist_lock);
> -	if (list_empty(&dqp->q_freelist)) {
> -		list_add_tail(&dqp->q_freelist, &xfs_Gqm->qm_dqfrlist);
> -		xfs_Gqm->qm_dqfrlist_cnt++;
> +	mutex_lock(&dqp->q_mount->m_quotainfo->qi_lru_lock);
> +	if (list_empty(&dqp->q_lru)) {
> +		list_add_tail(&dqp->q_lru,
> +			      &dqp->q_mount->m_quotainfo->qi_lru_list);
> +		dqp->q_mount->m_quotainfo->qi_lru_count++;
>  	}
> -	mutex_unlock(&xfs_Gqm->qm_dqfrlist_lock);
> +	mutex_unlock(&dqp->q_mount->m_quotainfo->qi_lru_lock);

Might be nice to add a

+	struct xfs_quotainfo	*qi = dqp->q_mount->m_quotainfo;

here  to make the code a little easier to read and consistent with
all the other functions.

Regardless, change looks good.

Reviewed-by: Dave Chinner <dchinner@xxxxxxxxxx>

-- 
Dave Chinner
david@xxxxxxxxxxxxx

_______________________________________________
xfs mailing list
xfs@xxxxxxxxxxx
http://oss.sgi.com/mailman/listinfo/xfs


[Index of Archives]     [Linux XFS Devel]     [Linux Filesystem Development]     [Filesystem Testing]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux