On Tue, Jun 19, 2001 at 04:23:02PM +0200, Florian Lohoff wrote: > Hi, > i am just staring at the bitops as it seems they are the culprit for > the non working ext2 currently - While staring and comparing i found > that the mips ext2_set_bit and co do an save_and_cli/restore_flags > which is very obscure. I cant find any similar in other archs - I guess > the above is due to a possible "atomic" requirement which ext2 doesnt > seem to have (upper layer locking ?) Another one - This only fixes the big endian case - the little endian case still has the penalty of cli/restore on every bit set as the ext2 macros get defined to the "atomic" ops defined there I propose this patch Index: include/asm-mips/bitops.h =================================================================== RCS file: /cvs/linux/include/asm-mips/bitops.h,v retrieving revision 1.16 diff -u -r1.16 bitops.h --- include/asm-mips/bitops.h 2001/06/14 05:33:12 1.16 +++ include/asm-mips/bitops.h 2001/06/19 14:32:51 @@ -887,8 +883,8 @@ #else /* !(__MIPSEB__) */ /* Native ext2 byte ordering, just collapse using defines. */ -#define ext2_set_bit(nr, addr) test_and_set_bit((nr), (addr)) -#define ext2_clear_bit(nr, addr) test_and_clear_bit((nr), (addr)) +#define ext2_set_bit(nr, addr) __test_and_set_bit((nr), (addr)) +#define ext2_clear_bit(nr, addr) __test_and_clear_bit((nr), (addr)) #define ext2_test_bit(nr, addr) test_bit((nr), (addr)) #define ext2_find_first_zero_bit(addr, size) find_first_zero_bit((addr), (size)) #define ext2_find_next_zero_bit(addr, size, offset) \ Comments ? Flo -- Florian Lohoff flo@rfc822.org +49-5201-669912 Why is it called "common sense" when nobody seems to have any?