• M
    fs, file table: reinit files_stat.max_files after deferred memory initialisation · 4248b0da
    Mel Gorman 提交于
    Dave Hansen reported the following;
    
    	My laptop has been behaving strangely with 4.2-rc2.  Once I log
    	in to my X session, I start getting all kinds of strange errors
    	from applications and see this in my dmesg:
    
            	VFS: file-max limit 8192 reached
    
    The problem is that the file-max is calculated before memory is fully
    initialised and miscalculates how much memory the kernel is using.  This
    patch recalculates file-max after deferred memory initialisation.  Note
    that using memory hotplug infrastructure would not have avoided this
    problem as the value is not recalculated after memory hot-add.
    
    4.1:             files_stat.max_files = 6582781
    4.2-rc2:         files_stat.max_files = 8192
    4.2-rc2 patched: files_stat.max_files = 6562467
    
    Small differences with the patch applied and 4.1 but not enough to matter.
    Signed-off-by: NMel Gorman <mgorman@suse.de>
    Reported-by: NDave Hansen <dave.hansen@intel.com>
    Cc: Nicolai Stange <nicstange@gmail.com>
    Cc: Dave Hansen <dave.hansen@intel.com>
    Cc: Alex Ng <alexng@microsoft.com>
    Cc: Fengguang Wu <fengguang.wu@intel.com>
    Cc: Peter Zijlstra (Intel) <peterz@infradead.org>
    Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
    Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
    4248b0da
fs.h 99.5 KB