On Thu, 4 Jun 2009, Sven-Thorsten Dietrich wrote: > On Fri, 2009-06-05 at 00:21 +0200, Jan Engelhardt wrote: > > > > > > Cc'ing linux-rt. Mabye someone has a flash of an idea. > > > > On Thursday 2009-06-04 23:42, Hector Centeno wrote to Jan Engelhardt: > > > > > >I hope it is OK to contact you directly to this email. I've been > > >trying to use your 2.6.29 RT kernel for OpenSuse 11.1 and came across > > >some problems related to the Intel graphics driver (I have a laptop > > >with intel GMA 950). The problem seems to be related to the new intel > > >driver development that is going on and that seems to affect older > > >hardware like mine. I get a constantly growing list of errors in > > >/var/log/mesages like these: > > > > > Try this patch: > > Signed-off-by: Sven-Thorsten Dietrich <sdietrich@xxxxxxx> > > Index: b/arch/x86/mm/iomap_32.c > =================================================================== > --- a/arch/x86/mm/iomap_32.c > +++ b/arch/x86/mm/iomap_32.c > @@ -38,7 +38,7 @@ void *kmap_atomic_prot_pfn(unsigned long > > pagefault_disable(); > > - idx = type + KM_TYPE_NR * smp_processor_id(); > + idx = type + KM_TYPE_NR * raw_smp_processor_id(); > vaddr = __fix_to_virt(FIX_KMAP_BEGIN + idx); > set_pte(kmap_pte - idx, pfn_pte(pfn, prot)); > arch_flush_lazy_mmu_mode(); > @@ -69,7 +69,7 @@ void > iounmap_atomic(void *kvaddr, enum km_type type) > { > unsigned long vaddr = (unsigned long) kvaddr & PAGE_MASK; > - enum fixed_addresses idx = type + KM_TYPE_NR*smp_processor_id(); > + enum fixed_addresses idx = type + KM_TYPE_NR*raw_smp_processor_id(); > > /* > * Force other mappings to Oops if they'll try to access this pte No, that's wrong. We need to disable preemption across that pagefault_disabled region. We might get preempted or migrated otherwise. Actually the correct fix for preempt-rt is to map this atomic mapping magic to standard mappings, but that's more than a 5 minutes job. Thanks, tglx -- 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