All of lore.kernel.org
 help / color / mirror / Atom feed
From: Benjamin Herrenschmidt <benh@kernel.crashing.org>
To: Kumar Gala <galak@kernel.crashing.org>
Cc: linuxppc-dev@ozlabs.org, Paul Mackerras <paulus@samba.org>
Subject: Re: [PATCH] [POWERPC] Rework EXC_LEVEL_EXCEPTION_PROLOG code
Date: Thu, 01 May 2008 09:52:18 +1000	[thread overview]
Message-ID: <1209599538.18023.271.camel@pasglop> (raw)
In-Reply-To: <22842BC4-C424-4681-96DF-C14E3595E335@kernel.crashing.org>


On Wed, 2008-04-30 at 18:28 -0500, Kumar Gala wrote:
> > Well, you can be in trouble if you lose TIF_SIGPENDING. You don't - 
> > have-
> > to actually take the signal, it will then be done on the next
> return  
> > to
> > userspace (next timer interrupt, next syscall, ...), but  
> > TIF_SIGPENDING
> > must not be lost.
> 
> Interesting.  It seems like causing a signal from an async interrupt  
> from kernel space shouldn't be allowed.  At worse we can store back  
> the flags into the "real" thread_info.

Why shouldn't it be allowed ? We do store back flags in the real thread
info when doing irqstacks... though I just noticed we don't do that for
softirqs... paulus, isn't there a chance that we may lose a signal
there ? I wouldn't expect softirq's to often send signals to current
thread info (ie, they would use targetted flag sending which means the
SIGPENDING flag will be set in the right thread_info obtained from the
target task struct) but it still sounds safer to copy the flags back
just in case...

> yeah, so we are now pointing to stack bottom.  will fix this up.

Call it "base" rather than "bottom", sounds nicer :-)

> I agree we run all these interrupt levels with EE disabled.  Not
> sure  
> I follow what you mean by irq_enter/ext.

That should do the right thing with preempt_count(), look at do_IRQ().

Ben.

  reply	other threads:[~2008-04-30 23:52 UTC|newest]

Thread overview: 26+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-04-30  9:27 [PATCH] [POWERPC] Rework EXC_LEVEL_EXCEPTION_PROLOG code Kumar Gala
2008-04-30 21:54 ` Benjamin Herrenschmidt
2008-04-30 22:13   ` Kumar Gala
2008-04-30 22:18     ` Benjamin Herrenschmidt
2008-04-30 23:24       ` Kumar Gala
2008-04-30 22:22     ` Benjamin Herrenschmidt
2008-04-30 23:28       ` Kumar Gala
2008-04-30 23:52         ` Benjamin Herrenschmidt [this message]
2008-04-30 23:47     ` Paul Mackerras
2008-05-01  6:01       ` Kumar Gala
2008-05-01  7:53         ` Benjamin Herrenschmidt
2008-05-01 13:22           ` Kumar Gala
2008-05-01 14:26             ` Josh Boyer
2008-05-01 14:31               ` Kumar Gala
2008-05-05 11:57             ` Gabriel Paubert
2008-05-05 12:06               ` Benjamin Herrenschmidt
2008-05-01  8:24         ` Paul Mackerras
2008-05-01 13:17           ` Kumar Gala
2008-05-01 16:14             ` Scott Wood
2008-05-01 16:22               ` Scott Wood
2008-05-01 16:33               ` Kumar Gala
2008-05-01 16:42                 ` Scott Wood
2008-05-01 17:48                   ` Kumar Gala
2008-05-01 19:02                     ` Scott Wood
2008-05-01 23:34             ` Paul Mackerras
2008-05-02  4:02               ` Kumar Gala

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1209599538.18023.271.camel@pasglop \
    --to=benh@kernel.crashing.org \
    --cc=galak@kernel.crashing.org \
    --cc=linuxppc-dev@ozlabs.org \
    --cc=paulus@samba.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.