Re: [PATCH 2/3] mm: Extract might_alloc() debug check

From: Daniel Vetter
Date: Fri Nov 20 2020 - 12:31:54 EST


On Fri, Nov 20, 2020 at 6:20 PM Randy Dunlap <rdunlap@xxxxxxxxxxxxx> wrote:
>
> Hi,
>
> On 11/20/20 1:54 AM, Daniel Vetter wrote:
> > diff --git a/include/linux/sched/mm.h b/include/linux/sched/mm.h
> > index d5ece7a9a403..f94405d43fd1 100644
> > --- a/include/linux/sched/mm.h
> > +++ b/include/linux/sched/mm.h
> > @@ -180,6 +180,22 @@ static inline void fs_reclaim_acquire(gfp_t gfp_mask) { }
> > static inline void fs_reclaim_release(gfp_t gfp_mask) { }
> > #endif
> >
> > +/**
> > + * might_alloc - Marks possible allocation sites
>
> Mark
>
> > + * @gfp_mask: gfp_t flags that would be use to allocate
>
> used
>
> > + *
> > + * Similar to might_sleep() and other annotations this can be used in functions
>
> annotations,
>
> > + * that might allocate, but often dont. Compiles to nothing without
>
> don't.
>
> > + * CONFIG_LOCKDEP. Includes a conditional might_sleep() if @gfp allows blocking.
>
> ? might_sleep_if() if

That's one if too many, I'll do the others for next round. Thanks for
taking a look.
-Daniel

>
> > + */
> > +static inline void might_alloc(gfp_t gfp_mask)
> > +{
> > + fs_reclaim_acquire(gfp_mask);
> > + fs_reclaim_release(gfp_mask);
> > +
> > + might_sleep_if(gfpflags_allow_blocking(gfp_mask));
> > +}
>
>
> --
> ~Randy
>


--
Daniel Vetter
Software Engineer, Intel Corporation
http://blog.ffwll.ch