Messages in this thread | | | Date | Wed, 9 Mar 2011 14:37:04 +0900 | From | KAMEZAWA Hiroyuki <> | Subject | Re: [PATCH] mm: check zone->all_unreclaimable in all_unreclaimable() |
| |
On Tue, 8 Mar 2011 08:45:51 +0900 Minchan Kim <minchan.kim@gmail.com> wrote:
> On Tue, Mar 8, 2011 at 6:58 AM, Andrew Morton <akpm@linux-foundation.org> wrote: > > On Sun, 6 Mar 2011 02:07:59 +0900 > > Minchan Kim <minchan.kim@gmail.com> wrote: > > Any alternative proposals? We should get the livelock fixed if possible.. > > > > And we should avoid unnecessary OOM kill if possible. > > I think the problem is caused by (zone->pages_scanned < > zone_reclaimable_pages(zone) * 6). I am not sure (* 6) is a best. It > would be rather big on recent big DRAM machines. >
It means 3 times full-scan from the highest priority to the lowest and cannot freed any pages. I think big memory machine tend to have more cpus, so don't think it's big.
> I think it is a trade-off between latency and OOM kill. > If we decrease the magic value, maybe we should prevent the almost > livelock but happens unnecessary OOM kill. >
Hmm, should I support a sacrifice feature 'some signal(SIGINT?) will be sent by the kernel when it detects system memory is in short' in cgroup ? (For example, if full LRU scan is done in a zone, notifier works and SIGINT will be sent.)
> And I think zone_reclaimable not fair. > For example, too many scanning makes reclaimable state to > unreclaimable state. Maybe it takes a very long time. But just some > page free makes unreclaimable state to reclaimabe with very easy. So > we need much painful reclaiming for changing reclaimable state with > unreclaimabe state. it would affect latency very much. > > Maybe we need more smart zone_reclaimabe which is adaptive with memory pressure. > I agree.
Thanks, -Kame
-- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |