Brian Foster d6244e2389 quick-read, md-cache: selectively cache xattr data to conserve memory
The md-cache translator can cache items for a long period of time and
thus is sensitive to memory usage associated with the items it
references. This implements two changes to help conserve memory:

- quick-read - Migrate the file content data to a local dict and
	delete from the xdata dict that passes through the stack.
- md-cache - Create a local dict to selectively store the xattr
	data md-cache is interested in. This includes a slight
	optimization to not allocate an empty dict in the case
	where we have not received any xattr's of interest.

I've tested both changes independently and together by running a
readdirp test against several compiled source trees (~340k files).
The base test results in a 7.7GB RSS on the client. The quick-read
modification cuts RSS down to 4.1GB, which is still large due
to md-cache unintelligently caching a large number of empty
dictionaries. The combined modification cuts RSS down to 462MB
on the same workload.

NOTE: Theoretically the md-cache change should supercede the
quick-read change, but practically I save an extra 150MB or so with
both. I already had the change and consider it an improvement that
quick-read clean up after itself.

BUG: 812876
Change-Id: Id59734d12dd6476b0e32480939e633448adb6884
Signed-off-by: Brian Foster <bfoster@redhat.com>
Reviewed-on: http://review.gluster.com/3268
Tested-by: Gluster Build System <jenkins@build.gluster.com>
Reviewed-by: Raghavendra G <raghavendra@gluster.com>
Reviewed-by: Amar Tumballi <amarts@redhat.com>
Reviewed-by: Jeff Darcy <jdarcy@redhat.com>
2012-05-08 15:34:01 -07:00
2011-08-05 01:50:35 -07:00
2011-08-10 10:57:19 -07:00
2012-04-23 14:51:35 -07:00
2011-08-10 10:57:19 -07:00
2010-03-12 04:09:34 -08:00
2009-02-18 17:36:07 +05:30
2012-04-23 21:29:03 -07:00
2011-12-05 03:25:29 -08:00
2009-02-18 17:36:07 +05:30
2011-10-19 22:51:36 -07:00
2011-07-18 17:24:14 +05:30
2011-07-18 15:47:16 +05:30
2011-11-23 04:57:57 -08:00

For more info, please visit http://www.gluster.org/.
Description
No description provided
Readme 86 MiB
Languages
C 86.6%
Shell 7.5%
Python 3.6%
Perl 0.7%
Makefile 0.4%
Other 0.9%