public inbox for linux-ia64@vger.kernel.org
 help / color / mirror / Atom feed
From: Russ Anderson <rja@sgi.com>
To: linux-ia64@vger.kernel.org
Subject: Re: ia64_mca_cpe_int_handler
Date: Fri, 22 Feb 2008 23:44:31 +0000	[thread overview]
Message-ID: <20080222234428.GA29913@sgi.com> (raw)
In-Reply-To: <47BF02EC.4080102@bull.net>

On Fri, Feb 22, 2008 at 02:32:11PM -0800, Luck, Tony wrote:
> 
> The SAL spec doesn't say that we must have interrupts enabled if
> it is safe to do so, it says: "The operating system-corrected
> error handler shall run with interrupts enabled".

The footnote explains: "It is required that the operating system
handlers operate with interrupts enabled, so that system firmware
can manage its resources (like NVRAM based error records) without
impacting system performance."

The goal of limiting the performance impact of corrected errors
is certainly reasonable.  The system should not hold off other 
interrupts while handling corrected errors.  The trouble is if
we get a second corrected error while handling the first. 

What the polling mode code does is disable just the CPE interrupt.

	disable_irq_nosync(local_vector_to_irq(IA64_CPE_VECTOR));

Would it be unreasonable to disable the CPE interrupt, then enable
do the local_irq_enable() ?  It would functionally be the same as
going into polling mode for the length of time it takes to handle
the CPE, then returning to interrupt mode.  I think that would
meet both the letter and the intent of the SAL spec.



> Perhaps just update the comment to:
> 
> 		/* SAL spec says CMC and CPE handler must enable interrupts */
> 
> which at least points the reader a little more clearly to what is
> going on.  Either that or make the test:
> 
> 	if (sal_info_type = SAL_INFO_TYPE_CMC || sal_info_type = SAL_INFO_TYPE_CPE) {
> 		/* SAL spec states these should run w/ interrupts enabled */
> 
> [This looks way too verbose]
> 
> -Tony

-- 
Russ Anderson, OS RAS/Partitioning Project Lead  
SGI - Silicon Graphics Inc          rja@sgi.com

  parent reply	other threads:[~2008-02-22 23:44 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-02-22 17:14 ia64_mca_cpe_int_handler Zoltan Menyhart
2008-02-22 22:32 ` ia64_mca_cpe_int_handler Luck, Tony
2008-02-22 23:44 ` Russ Anderson [this message]
2008-02-23  0:02 ` ia64_mca_cpe_int_handler Luck, Tony
2008-02-25 17:05 ` ia64_mca_cpe_int_handler Zoltan Menyhart
2008-02-26 21:01 ` ia64_mca_cpe_int_handler Russ Anderson
2008-02-27 10:06 ` ia64_mca_cpe_int_handler Zoltan Menyhart
2008-02-27 10:53 ` ia64_mca_cpe_int_handler Robin Holt
2008-02-27 12:18 ` ia64_mca_cpe_int_handler Zoltan Menyhart
2008-02-27 16:29 ` ia64_mca_cpe_int_handler Russ Anderson

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=20080222234428.GA29913@sgi.com \
    --to=rja@sgi.com \
    --cc=linux-ia64@vger.kernel.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox