lkml.org 
[lkml]   [2011]   [Sep]   [26]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
SubjectRe: [PATCH v5 3.1.0-rc4-tip 13/26] x86: define a x86 specific exception notifier.
From
Date
> On Tue, 2011-09-20 at 17:32 +0530, Srikar Dronamraju wrote:
> > @@ -820,6 +821,19 @@ do_notify_resume(struct pt_regs *regs, void *unused, __u32 thread_info_flags)
> > mce_notify_process();
> > #endif /* CONFIG_X86_64 && CONFIG_X86_MCE */
> >
> > + if (thread_info_flags & _TIF_UPROBE) {
> > + clear_thread_flag(TIF_UPROBE);
> > +#ifdef CONFIG_X86_32
> > + /*
> > + * On x86_32, do_notify_resume() gets called with
> > + * interrupts disabled. Hence enable interrupts if they
> > + * are still disabled.
> > + */
> > + local_irq_enable();
> > +#endif
> > + uprobe_notify_resume(regs);
> > + }
> > +
> > /* deal with pending signal delivery */
> > if (thread_info_flags & _TIF_SIGPENDING)
> > do_signal(regs);
>
> It would be good to remove this difference between i386 and x86_64.


> I think, we have already discussed this. I tried getting to know why we
> have this difference in behaviour. However I havent been able to find
> the answer.

The reason for the difference between X86_64 and i386 is because of a bug
that went to address delayed signals on x86_64. More details can be found
at:

http://kerneltrap.org/mailarchive/git-commits-head/2008/7/15/2490384

It appears for some reason i386 code path left unchanged, maybe desire to
not fix it when it ain't broken.

-- Shuah





\
 
 \ /
  Last update: 2011-09-27 00:07    [from the cache]
©2003-2011 Jasper Spaans