Messages in this thread | | | Date | Sat, 31 Oct 2009 19:40:54 +0100 | From | Pavel Machek <> | Subject | Re: [PATCH 2/3] page allocator: Do not allow interrupts to use ALLOC_HARDER |
| |
On Tue 2009-10-27 14:12:36, David Rientjes wrote: > On Tue, 27 Oct 2009, Andrew Morton wrote: > > > > diff --git a/mm/page_alloc.c b/mm/page_alloc.c > > > index dfa4362..7f2aa3e 100644 > > > --- a/mm/page_alloc.c > > > +++ b/mm/page_alloc.c > > > @@ -1769,7 +1769,7 @@ gfp_to_alloc_flags(gfp_t gfp_mask) > > > * See also cpuset_zone_allowed() comment in kernel/cpuset.c. > > > */ > > > alloc_flags &= ~ALLOC_CPUSET; > > > - } else if (unlikely(rt_task(p))) > > > + } else if (unlikely(rt_task(p)) && !in_interrupt()) > > > alloc_flags |= ALLOC_HARDER; > > > > > > if (likely(!(gfp_mask & __GFP_NOMEMALLOC))) { > > > > What are the runtime-observeable effects of this change? > > > > Giving rt tasks access to memory reserves is necessary to reduce latency, > the privilege does not apply to interrupts that subsequently get run on > the same cpu.
If rt task needs to allocate memory like that, then its broken, anyway...
-- (english) http://www.livejournal.com/~pavelmachek (cesky, pictures) http://atrey.karlin.mff.cuni.cz/~pavel/picture/horses/blog.html
| |