Comment faire atomique d'incrémentation et de chercher dans C?

Je suis à la recherche d'un moyen de atomiquement incrémenter un court, et ensuite de retour à cette valeur. J'ai besoin de faire tout cela à la fois en mode noyau et le mode utilisateur, il est donc en C sous Linux, Intel 32 bits de l'architecture. Malheureusement, en raison des exigences en matière de vitesse, un mutex lock ne va pas être une bonne option.

Est-il un autre moyen pour ce faire? À ce stade, il semble que la seule option disponible est associé un peu de montage. Si c'est le cas, quelqu'un pourrait-il me diriger vers les instructions appropriées?

OriginalL'auteur Bryan | 2010-03-01