Messages in this thread | | | From | KOSAKI Motohiro <> | Subject | Re: [PATCH]vmscan: handle underflow for get_scan_ratio | Date | Tue, 30 Mar 2010 15:40:07 +0900 (JST) |
| |
> On Tue, 2010-03-30 at 14:08 +0800, KOSAKI Motohiro wrote: > > Hi > > > > > Commit 84b18490d1f1bc7ed5095c929f78bc002eb70f26 introduces a regression. > > > With it, our tmpfs test always oom. The test has a lot of rotated anon > > > pages and cause percent[0] zero. Actually the percent[0] is a very small > > > value, but our calculation round it to zero. The commit makes vmscan > > > completely skip anon pages and cause oops. > > > An option is if percent[x] is zero in get_scan_ratio(), forces it > > > to 1. See below patch. > > > But the offending commit still changes behavior. Without the commit, we scan > > > all pages if priority is zero, below patch doesn't fix this. Don't know if > > > It's required to fix this too. > > > > Can you please post your /proc/meminfo > attached. > > and reproduce program? I'll digg it. > our test is quite sample. mount tmpfs with double memory size and store several > copies (memory size * 2/G) of kernel in tmpfs, and then do kernel build. > for example, there is 3G memory and then tmpfs size is 6G and there is 6 > kernel copy.
Wow, tmpfs size > memsize!
> > Very unfortunately, this patch isn't acceptable. In past time, vmscan > > had similar logic, but 1% swap-out made lots bug reports. > can you elaborate this? > Completely restore previous behavior (do full scan with priority 0) is > ok too.
This is a option. but we need to know the root cause anyway. if not, we might reintroduce this issue again in the future.
| |