On Wed 04-04-18 08:59:01, Steven Rostedt wrote: [...] > + /* > + * Check if the available memory is there first. > + * Note, si_mem_available() only gives us a rough estimate of available > + * memory. It may not be accurate. But we don't care, we just want > + * to prevent doing any allocation when it is obvious that it is > + * not going to succeed. > + */ > + i = si_mem_available(); > + if (i < nr_pages) > + return -ENOMEM; > + > > Better? I must be really missing something here. How can that work at all for e.g. the zone_{highmem/movable}. You will get false on the above tests even when you will have hard time to allocate anything from your destination zones. -- Michal Hocko SUSE Labs