Hi, I couldn't understand the logic behind the insertion of a new subsection ".section .text.lock" as shown below (highlighted) in the older version (<= 2.6.8). Can you please explain how this section is only called upon when the 'SIGN' bit is SET by line:58? If the 'SIGN' bit is not SET, where would the control go from line: 58?
55 <http://lxr.linux.no/linux-bk+v2.5.0/include/asm-i386/include/asm-i386/spinlock.h#L55>#define spin_lock_string <http://lxr.linux.no/linux-bk+v2.5.0/include/asm-i386/+code=spin_lock_string> \ 56 <http://lxr.linux.no/linux-bk+v2.5.0/include/asm-i386/include/asm-i386/spinlock.h#L56> "\n1:\t" \ 57 <http://lxr.linux.no/linux-bk+v2.5.0/include/asm-i386/include/asm-i386/spinlock.h#L57> "lock ; decb %0\n\t" \ 58 <http://lxr.linux.no/linux-bk+v2.5.0/include/asm-i386/include/asm-i386/spinlock.h#L58> "js 2f\n" \ 59 <http://lxr.linux.no/linux-bk+v2.5.0/include/asm-i386/include/asm-i386/spinlock.h#L59> *".section .text.lock,\"ax\"\n"** \* 60 <http://lxr.linux.no/linux-bk+v2.5.0/include/asm-i386/include/asm-i386/spinlock.h#L60> "2:\t" \ 61 <http://lxr.linux.no/linux-bk+v2.5.0/include/asm-i386/include/asm-i386/spinlock.h#L61> "cmpb $0,%0\n\t" \ 62 <http://lxr.linux.no/linux-bk+v2.5.0/include/asm-i386/include/asm-i386/spinlock.h#L62> "rep;nop\n\t" \ 63 <http://lxr.linux.no/linux-bk+v2.5.0/include/asm-i386/include/asm-i386/spinlock.h#L63> "jle 2b\n\t" \ 64 <http://lxr.linux.no/linux-bk+v2.5.0/include/asm-i386/include/asm-i386/spinlock.h#L64> "jmp 1b\n" \ 65 <http://lxr.linux.no/linux-bk+v2.5.0/include/asm-i386/include/asm-i386/spinlock.h#L65> ".previous" * * *Thanks and regards,* *Sushil*
