Re: [PATCH] [2.5] include/asm-generic/bitops.h {set,clear}_bit return

Carl-Daniel Hailfinger (c-d.hailfinger.kernel.2003@gmx.net)
Tue, 15 Apr 2003 23:27:49 +0200


Arnd Bergmann wrote:
> Carl-Daniel Hailfinger wrote:
>
>
>>+ mask = 1 << (nr & 0x1f);
>>+ cli();
>>+ *addr |= mask;
>>+ sti();
>
>
> cli() and sti() are no more. Moreover, the file you are trying to fix is

What is the preferred way to achieve atomicity in an operation now that
cli() and sti() are gone?

> not even used anywhere. Better submit a patch to remove it completely.

The point of asm-generic is not to use the files, but to give porters a
hint about the functionality. Quoting asm-generic/bitops.h:

/* For the benefit of those who are trying to port Linux to another
* architecture, here are some C-language equivalents. You should
* recode these in the native assembly language, if at all possible.
* To guarantee atomicity, these routines call cli() and sti() to
* disable interrupts while they operate. (You have to provide inline
* routines to cli() and sti().) */

Or is this comment wrong, too?

Regards,
Carl-Daniel

-- 
http://www.hailfinger.org/

- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/