From: Al Viro <viro@ZenIV.linux.org.uk>
To: zwu.kernel@gmail.com
Cc: torvalds@linux-foundation.org, linux-fsdevel@vger.kernel.org,
Zhi Yong Wu <wuzhy@linux.vnet.ibm.com>
Subject: Re: [[RESEND]PATCH v4 00/10] VFS hot tracking
Date: Tue, 13 Aug 2013 22:22:03 +0100 [thread overview]
Message-ID: <20130813212203.GD27005@ZenIV.linux.org.uk> (raw)
In-Reply-To: <1376274024-28689-1-git-send-email-zwu.kernel@gmail.com>
On Mon, Aug 12, 2013 at 10:20:14AM +0800, zwu.kernel@gmail.com wrote:
> From: Zhi Yong Wu <wuzhy@linux.vnet.ibm.com>
>
> The patchset is trying to introduce hot tracking function in
> VFS layer, which will keep track of real disk I/O in memory.
> By it, you will easily know more details about disk I/O, and
> then detect where disk I/O hot spots are. Also, specific FS
> can take use of it to do accurate defragment, and hot relocation
> support, etc.
Sigh...
a) ioctl_heat_info() calls hot_inode_item_put() with no locks held.
Obviously racy.
b) refcount on range_item is completely pointless; there are two call
sites of hot_range_item_put() that might drop the final reference
*and* they always do so - hot_range_item_lookup() after having lost
the race (in which case we are freeing an item that had never been
seen by anybody else) and hot_range_tree_free(), which is doing bulk
freeing of range_item when an inode_item is being freed.
c) ->m_lock is going to be badly contended from time to time (== when
hot_update_worker() is doing list_sort()). Moreover, the same spinlock
will see one hell of cacheline bouncing...
How much overhead does that thing cause on reasonable loads on large
SMP setups? Is that supposed to be possible to enable on production
boxen?
prev parent reply other threads:[~2013-08-13 21:22 UTC|newest]
Thread overview: 14+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-08-12 2:20 [[RESEND]PATCH v4 00/10] VFS hot tracking zwu.kernel
2013-08-12 2:20 ` [[RESEND]PATCH v4 01/10] VFS hot tracking: Define basic data structures and functions zwu.kernel
2013-08-12 2:20 ` [[RESEND]PATCH v4 02/10] VFS hot tracking: Track IO and record heat information zwu.kernel
2013-08-12 2:20 ` [[RESEND]PATCH v4 03/10] VFS hot tracking: Add a workqueue to move items between hot maps zwu.kernel
2013-08-12 2:20 ` [[RESEND]PATCH v4 04/10] VFS hot tracking: Add shrinker functionality to curtail memory usage zwu.kernel
2013-08-12 2:20 ` [[RESEND]PATCH v4 05/10] VFS hot tracking: Add an ioctl to get hot tracking information zwu.kernel
2013-08-12 2:20 ` [[RESEND]PATCH v4 06/10] VFS hot tracking: Add a /proc interface to make the interval tunable zwu.kernel
2013-08-12 2:20 ` [[RESEND]PATCH v4 07/10] VFS hot tracking: Add a /proc interfaces to control memory usage zwu.kernel
2013-08-12 2:20 ` [[RESEND]PATCH v4 08/10] VFS hot tracking: Add documentation zwu.kernel
2013-08-12 2:20 ` [[RESEND]PATCH v4 09/10] VFS hot tracking, btrfs: Add hot tracking support zwu.kernel
2013-08-12 2:20 ` [[RESEND]PATCH v4 10/10] VFS hot tracking, xfs: " zwu.kernel
2013-08-12 2:27 ` [[RESEND]PATCH v4 00/10] VFS hot tracking Zhi Yong Wu
2013-08-13 18:32 ` Jörn Engel
2013-08-13 21:22 ` Al Viro [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=20130813212203.GD27005@ZenIV.linux.org.uk \
--to=viro@zeniv.linux.org.uk \
--cc=linux-fsdevel@vger.kernel.org \
--cc=torvalds@linux-foundation.org \
--cc=wuzhy@linux.vnet.ibm.com \
--cc=zwu.kernel@gmail.com \
/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).