Re: [GIT PULL] SLAB changes for v2.6.39-rc1

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

 



Le jeudi 24 mars 2011 Ã 13:15 -0500, Christoph Lameter a Ãcrit :

> But then we would get the bug in kmem_cache_alloc() and not in the
> *_emu() function. So the _emu is executing but failing on Ingo's system
> but not on mine. Question is why.
> 
> For some reason the first reference to %gs:(%rsi) wont work right on his
> system:
> 
> From arch/x86/lib/cmpxchg16b_emu
> 
> #
> # Emulate 'cmpxchg16b %gs:(%rsi)' except we return the result in %al not
> # via the ZF.  Caller will access %al to get result.
> #
> # Note that this is only useful for a cpuops operation.  Meaning that we
> # do *not* have a fully atomic operation but just an operation that is
> # *atomic* on a single cpu (as provided by the this_cpu_xx class of
> # macros).
> #
> this_cpu_cmpxchg16b_emu:
>         pushf
>         cli
> 
>         cmpq %gs:(%rsi), %rax
>         jne not_same
>         cmpq %gs:8(%rsi), %rdx
>         jne not_same
> 
>         movq %rbx, %gs:(%rsi)
>         movq %rcx, %gs:8(%rsi)
> 
>         popf
>         mov $1, %al
>         ret
> 
>  not_same:
>         popf
>         xor %al,%al
>         ret
> 
> CFI_ENDPROC

Random guess

Masking interrupts, and accessing vmalloc() based memory for the first
time ?




--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@xxxxxxxxxx  For more info on Linux MM,
see: http://www.linux-mm.org/ .
Fight unfair telecom internet charges in Canada: sign http://stopthemeter.ca/
Don't email: <a href=mailto:"dont@xxxxxxxxx";> email@xxxxxxxxx </a>


[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Bugtraq]     [Linux]     [Linux OMAP]     [Linux MIPS]     [ECOS]     [Asterisk Internet PBX]     [Linux API]