Re: PREEMPT_RT + HIGHMEM = segfaults during boot on ppc32

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

 



Hi Thomas,

This patch solved my problem.

Thanks!

-Steve

Thomas Gleixner wrote:

> does the patch below help ?
>
> Thanks,
>
>	tglx
> ---
> Subject: powerpc-fixup-pagefault-disable-changes.patch
> From: Thomas Gleixner <tglx@xxxxxxxxxxxxx>
> Date: Mon, 06 Jul 2009 17:36:01 +0200
>
> Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx>
> ---
> arch/powerpc/include/asm/highmem.h |    3 +++
> 1 file changed, 3 insertions(+)
>
> Index: linux-2.6-tip/arch/powerpc/include/asm/highmem.h
> ===================================================================
> --- linux-2.6-tip.orig/arch/powerpc/include/asm/highmem.h
> +++ linux-2.6-tip/arch/powerpc/include/asm/highmem.h
> @@ -90,6 +90,7 @@ static inline void *kmap_atomic_prot(str
>  	unsigned long vaddr;
>
>  	/* even !CONFIG_PREEMPT needs this, for in_atomic in
> do_page_fault */
> +	preempt_disable();
> 	pagefault_disable();
> 	if (!PageHighMem(page))
> 		return page_address(page);
> @@ -118,6 +119,7 @@ static inline void kunmap_atomic(void *k
>
> 	if (vaddr < __fix_to_virt(FIX_KMAP_END)) {
> 		pagefault_enable();
> +		preempt_enable();
> 		return;
> 	}
>
> @@ -131,6 +133,7 @@ static inline void kunmap_atomic(void *k
>  	local_flush_tlb_page(NULL, vaddr);
>  #endif
> 	pagefault_enable();
> +	preempt_enable();
> }
>
> static inline struct page *kmap_atomic_to_page(void *ptr)
--
To unsubscribe from this list: send the line "unsubscribe linux-rt-users" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [RT Stable]     [Kernel Newbies]     [IDE]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux ATA RAID]     [Samba]     [Video 4 Linux]     [Device Mapper]

  Powered by Linux