[PATCH] staging: zcache: fix serialization bug in zv stats
Konrad Rzeszutek Wilk
konrad.wilk at oracle.com
Tue Jan 3 21:38:12 UTC 2012
On Fri, Dec 30, 2011 at 11:35:45AM -0600, Seth Jennings wrote:
> On 12/30/2011 11:02 AM, Dan Magenheimer wrote:
> >> From: Seth Jennings [mailto:sjenning at linux.vnet.ibm.com]
> >> Sent: Friday, December 30, 2011 9:42 AM
> >> To: Greg Kroah-Hartman
> >> Cc: Seth Jennings; Dan Magenheimer; Brian King; devel at driverdev.osuosl.org; linux-
> >> kernel at vger.kernel.org
> >> Subject: [PATCH] staging: zcache: fix serialization bug in zv stats
> >> In a multithreaded workload, the zv_curr_dist_counts
> >> and zv_cumul_dist_counts statistics are being corrupted
> >> because the increments and decrements in zv_create
> >> and zv_free are not atomic.
> >> This patch converts these statistics and their corresponding
> >> increments/decrements/reads to atomic operations.
> >> Based on v3.2-rc7
> >> Signed-off-by: Seth Jennings <sjenning at linux.vnet.ibm.com>
> > I'm inclined to nack this change, at least unless inside an #ifdef DEBUG,
> I guess I didn't respond to this suggestion. We could put #ifdef DEBUG
> around the updates in zv_create and zv_free and around the two sysfs
> *_show functions. Kinda messy though. I guess it might not matter
> if we'll be re-evaluating this whole thing soon.
Perhaps also add in the TODO file that we want to move the stats collection
out of the code and only be enabled if CONFIG_DEBUGFS is set? (Which granted means
we need to implement the stats output in debugfs instead of sysfs).
More information about the devel