Re: [PATCH&RFC 2/2] OS_MCA Recovery from poisoned memory read

From: Hidetoshi Seto <seto.hidetoshi_at_jp.fujitsu.com>
Date: 2004-08-06 22:17:39
Thank you for your useful reply.

But, there is one thing that I want to confirm.

Keith Owens wrote:
> +static isolate_status_t
> +mca_page_isolate(unsigned long paddr)
> +{
> +       int i;
> +       struct page *p;
> +
> +       /* whether physical address is valid or not */
> +       if ( !ia64_phys_addr_valid(paddr) )  
> 
> The calls to mca_page_isolate() are racy.  That code is running in
> normal kernel context after exiting from the MCA handler.  Other cpus
> could be modifying the page tables at the same time, there could even
> be two cpus running mca_handler_bh() at the same time for the same
> page.

I agree that there could be multiple cpus running handler_bh at the
same time, so (even though it would be a rare case) I think it would be
better if I avoid the race using something like a spinlock.

ITOH, what the handler_bh should modify is not the page tables but the
flag in a struct page which pfn_to_page convert from a physical address.
Does the result of the translation from a physical address to a page that
includes the address can be changed? (Do you suppose Memory Hotplugs?)

Thanks,
H.Seto
-
To unsubscribe from this list: send the line "unsubscribe linux-ia64" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Received on Fri Aug 6 08:17:52 2004

This archive was generated by hypermail 2.1.8 : 2005-08-02 09:20:29 EST