From: anserper Date: Wed, 30 Jul 2008 20:50:46 +0000 (+0000) Subject: Branch b1_8_gate X-Git-Tag: v1_7_72~1^25~5 X-Git-Url: https://git.whamcloud.com/?a=commitdiff_plain;h=01e865c3d2a3942cd939b6e717e0c2c2487cfb23;p=fs%2Flustre-release.git Branch b1_8_gate b=16037 i=Alexey Lyshkov (shadow) i=Alexander Zarochentsev (zam) changing readahead values to use only a part of available lowmem pages --- diff --git a/lustre/llite/llite_lib.c b/lustre/llite/llite_lib.c index cb27c00..12e883e 100644 --- a/lustre/llite/llite_lib.c +++ b/lustre/llite/llite_lib.c @@ -70,6 +70,8 @@ extern struct address_space_operations ll_dir_aops; static struct ll_sb_info *ll_init_sbi(void) { struct ll_sb_info *sbi = NULL; + unsigned long pages; + struct sysinfo si; class_uuid_t uuid; int i; ENTRY; @@ -84,11 +86,13 @@ static struct ll_sb_info *ll_init_sbi(void) spin_lock_init(&sbi->ll_process_lock); sbi->ll_rw_stats_on = 0; INIT_LIST_HEAD(&sbi->ll_pglist); - if (num_physpages >> (20 - CFS_PAGE_SHIFT) < 512) - sbi->ll_async_page_max = num_physpages / 2; + si_meminfo(&si); + pages = si.totalram - si.totalhigh; + if (pages >> (20 - CFS_PAGE_SHIFT) < 512) + sbi->ll_async_page_max = pages / 2; else - sbi->ll_async_page_max = (num_physpages / 4) * 3; - sbi->ll_ra_info.ra_max_pages = min(num_physpages / 8, + sbi->ll_async_page_max = (pages / 4) * 3; + sbi->ll_ra_info.ra_max_pages = min(pages / 32, SBI_DEFAULT_READAHEAD_MAX); sbi->ll_ra_info.ra_max_read_ahead_whole_pages = SBI_DEFAULT_READAHEAD_WHOLE_MAX;