patch-2.4.20 linux-2.4.20/arch/x86_64/lib/bitstr.c

Next file: linux-2.4.20/arch/x86_64/lib/clear_page.S
Previous file: linux-2.4.20/arch/x86_64/lib/Makefile
Back to the patch index
Back to the overall index

diff -urN linux-2.4.19/arch/x86_64/lib/bitstr.c linux-2.4.20/arch/x86_64/lib/bitstr.c
@@ -0,0 +1,25 @@
+#include <asm/bitops.h>
+
+/* Find string of zero bits in a bitmap */ 
+unsigned long 
+find_next_zero_string(unsigned long *bitmap, long start, long nbits, int len)
+{ 
+	unsigned long n, end, i; 	
+
+ again:
+	n = find_next_zero_bit(bitmap, nbits, start);
+	if (n == -1) 
+		return -1;
+	
+	/* could test bitsliced, but it's hardly worth it */
+	end = n+len;
+	if (end >= nbits) 
+		return -1; 
+	for (i = n+1; i < end; i++) { 
+		if (test_bit(i, bitmap)) {  
+			start = i+1; 
+			goto again; 
+		} 
+	}
+	return n;
+}

FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen (who was at: slshen@lbl.gov)