Re: [PATCH 2/3] page allocator: Do not allow interrupts to use ALLOC_HARDER

Pavel Machek
2009-10-31T18:41:00Z

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