Reputation: 2036
I am trying to implement a spin lock using the test_and_set_bit function. I found a bitops.h file which consisted of this function. However, in my current kernel version which is 3.0, the function is not included in that header file i.e, bitops.h. Any anyone provide some references where I can find that?
Upvotes: 0
Views: 1364
Reputation: 6583
Not sure if I totally understand your question, but including <linux/bitops.h>
should bring in the definition of test_and_set_bit()
. The actual definition of the function is not in include/linux/bitops.h
but it is picked up via the include of <asm/bitops.h>
that is in the linux/
version of the include.
So to see the actual definition of test_and_set_bit()
you can look in arch/arm/include/asm/bitops.h
or arch/x86/include/asm/bitops.h
(or whatever other architecture you're interested in).
By the way, there's no reason to need to implement your own spinlock -- the kernel has (of course) the standard spinlock_t
and also functions like bit_spin_lock()
that use a single bit as a lock.
Upvotes: 3