Kdy použít mutex_lock_interruptible?

Obsah:

Kdy použít mutex_lock_interruptible?
Kdy použít mutex_lock_interruptible?

Video: Kdy použít mutex_lock_interruptible?

Video: Kdy použít mutex_lock_interruptible?
Video: Mutex Lock 2024, Září
Anonim

Použijte funkci mutex_lock_interruptible , aby byl váš řidič přerušen jakýmkoli signálem. To znamená, že vaše systémové volání by mělo být zapsáno tak, aby bylo možné jej restartovat. (Viz také ERESTARTSYS.)

Mohu uzamknout spinlock v jednom CPU a odemknout jej v jiném CPU?

Používání spinlocků na jednojádrovém/jednojádrovém systému obvykle nemá smysl, protože dokud dotazování spinlocku blokuje jediné dostupné jádro CPU, nemůže běžet žádné jiné vlákno a protože nemůže běžet žádné jiné, nebude odemčen ani zámek.

Mohu zavolat Kmalloc Gfp_kernel, když mám spinlock?

Nemůžete dělat nic, co by při držení spinlocku usnulo. Například nikdy nevolejte žádnou funkci, která se dotýká uživatelské paměti, kmalloc s příznakem GFP_KERNEL, žádné semaforové funkce nebo žádnou z plánovacích funkcí, když držíte spinlock. … Semafory v Linuxu jsou spící zámky.

Co je Spinlock_t?

int spin_trylock(spinlock_t lock) Zamkne spinlock pokud již není zamčený. Pokud nelze zámek získat, opustí se s chybou a zámek se neotočí. spin_lock_irq: spin_lock_irq(spinlock_t lock)

Co je to kernel mutex?

V linuxovém jádře označují mutexy konkrétní zamykací primitivum, které vynucuje serializaci na systémech se sdílenou pamětí, a nikoli pouze obecný termín odkazující na „vzájemné vyloučení“, který se nachází v akademická obec nebo podobné teoretické učebnice.

Doporučuje: