From mboxrd@z Thu Jan 1 00:00:00 1970 Message-ID: <394C0A09.CD2CBF62@norran.net> Date: Sun, 18 Jun 2000 01:30:17 +0200 From: Roger Larsson MIME-Version: 1.0 Subject: Re: PATCH: Improvements in shrink_mmap and kswapd References: Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Sender: owner-linux-mm@kvack.org Return-Path: To: "Juan J. Quintela" Cc: Alan Cox , lkml , linux-mm@kvack.org, linux-fsdevel@vger.rutgers.edu List-ID: > diff -urN --exclude-from=/home/lfcia/quintela/work/kernel/exclude base/include/asm-i386/bitops.h working/include/asm-i386/bitops.h > --- base/include/asm-i386/bitops.h Sat Jun 17 23:37:03 2000 > +++ working/include/asm-i386/bitops.h Sat Jun 17 23:52:49 2000 > @@ -29,6 +29,7 @@ > extern void change_bit(int nr, volatile void * addr); > extern int test_and_set_bit(int nr, volatile void * addr); > extern int test_and_clear_bit(int nr, volatile void * addr); > +extern int test_and_test_and_clear_bit(int nr, volatile void * addr); > extern int test_and_change_bit(int nr, volatile void * addr); > extern int __constant_test_bit(int nr, const volatile void * addr); > extern int __test_bit(int nr, volatile void * addr); > @@ -87,6 +88,13 @@ > :"=r" (oldbit),"=m" (ADDR) > :"Ir" (nr)); > return oldbit; > +} > + > +extern __inline__ int test_and_test_and_clear_bit(int nr, volatile void *addr) > +{ > + if(!(((unsigned long)addr) & (1< + return 0; > + return test_and_clear_bit(nr,addr); > } This does not look correct. It basically tests if the ADDRESS has bit #nr set... Shouldn't it be + if(!(((unsigned long)*addr) & (1<