Re: [PATCH] mm/memory-failure.c: support dedicated thread to handle SIGBUS(BUS_MCEERR_AO) thread

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Wed, May 28, 2014 at 03:00:11PM -0700, Tony Luck wrote:
> On Wed, May 28, 2014 at 11:47 AM, Naoya Horiguchi
> <n-horiguchi@xxxxxxxxxxxxx> wrote:
> > Could you take a look?
> 
> It looks good - and should be a workable API for
> application writers to use.
> 
> > @@ -84,6 +84,11 @@ PR_MCE_KILL
> >                 PR_MCE_KILL_EARLY: Early kill
> >                 PR_MCE_KILL_LATE:  Late kill
> >                 PR_MCE_KILL_DEFAULT: Use system global default
> > +       Note that if you want to have a dedicated thread which handles
> > +       the SIGBUS(BUS_MCEERR_AO) on behalf of the process, you should
> > +       call prctl() on the thread. Otherwise, the SIGBUS is sent to
> > +       the main thread.
> 
> Perhaps be more explicit here that the user should call
> prctl(PR_MCE_KILL_EARLY) on the designated thread
> to get this behavior?

OK.

>  The user could also mark more than
> one thread in this way - in which case the kernel will pick
> the first one it sees (is that oldest, or newest?) that is marked.
> Not sure if this would ever be useful unless you want to pass
> responsibility around in an application that is dynamically
> creating and removing threads.

I'm not sure which is better to send signal to first-found marked thread
or to all marked threads. If we have a good reason to do the latter,
I'm ok about it. Any idea?

> 
> > +               if (t->flags & PF_MCE_PROCESS && t->flags & PF_MCE_EARLY)
> 
> This is correct - but made me twitch to add extra brackets:
> 
>                   if ((t->flags & PF_MCE_PROCESS) && (t->flags & PF_MCE_EARLY))

OK, I'll take this.

Thanks,
Naoya Horiguchi

--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@xxxxxxxxx.  For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"dont@xxxxxxxxx";> email@xxxxxxxxx </a>




[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Bugtraq]     [Linux]     [Linux OMAP]     [Linux MIPS]     [ECOS]     [Asterisk Internet PBX]     [Linux API]