I have a CentOS 4.4 system with 2.6.9-42 kernel. I will update the kernel to
the new one.
Regards,
Pravin
-Original Message-
From: Roland Dreier [mailto:[EMAIL PROTECTED]
Sent: Friday, January 18, 2008 1:03 AM
To: Pravin Nanaware
Cc: John Hubbard; LKML
Subject: Re: Bitops source
> Yes, indeed none of the atomic bit operations functions has
> LOCK_PREFIX in my version of Linux kernel.
You have a broken source tree then. Where did your kernel source come
from then? I'm not able to find any version of asm-i386/bitops.h
where clear_bit() doesn't have LOCK_PREFIX in any of
Hubbard; LKML
Subject: Re: Bitops source problem
> Then, I think there is a problem with the function written below which is
> meant to be atomic.
>
> static __inline__ void change_bit(int nr, volatile void * addr)
> {
> __asm__ __volatile__(
>
Hi
> If that is indeed the source of your change_bit function then there is
> a problem. However in my kernel tree there is a LOCK_PREFIX in the
> definition of the atomic version. I don't have your exact source tree
> handy, but on a local RHEL4 system, the LOCK_PREFIX is still there:
>
> stat
> Then, I think there is a problem with the function written below which is
> meant to be atomic.
>
> static __inline__ void change_bit(int nr, volatile void * addr)
> {
> __asm__ __volatile__(
> "btcl %1,%0"
> :"=m" (ADDR)
> :"Ir"
"=m" (ADDR)
:"Ir" (nr));
}
Regards,
Pravin
-Original Message-
From: John Hubbard [mailto:[EMAIL PROTECTED]
Sent: Thursday, January 17, 2008 11:17 AM
To: Pravin Nanaware
Cc: LKML
Subject: Re: Bitops source problem
Pravin Nanaware wrote:
> Hi,
>
> I was just goi
Pravin Nanaware wrote:
Hi,
I was just going through the include file in the /usr/include/asm/bitops.h
The function description describes it as non-atomic but it seems it is not.
static __inline__ void __change_bit(int nr, volatile void * addr)
{
__asm__ __volatile__(
7 matches
Mail list logo