Kada koristiti mutex_lock_interruptible?

Sadržaj:

Kada koristiti mutex_lock_interruptible?
Kada koristiti mutex_lock_interruptible?

Video: Kada koristiti mutex_lock_interruptible?

Video: Kada koristiti mutex_lock_interruptible?
Video: Kada koristiti WIE, a kada ALS na njemačkom jeziku? 🇩🇪 | Vokabula 2024, Novembar
Anonim

Koristite funkciju mutex_lock_interruptible da dozvolite da vaš vozač bude prekinut bilo kojim signalom. Ovo implicira da bi vaš sistemski poziv trebao biti napisan tako da se može ponovo pokrenuti. (Takođe pogledajte ERESTARTSYS.)

Mogu li zaključati spinlock u jednom CPU-u i otključati ga drugim CPU-om?

Korišćenje spinlocka na sistemu sa jednim jezgrom/jednom CPU-om obično nema smisla, budući da sve dok prozivanje spinlock blokira jedino dostupno jezgro CPU-a, nijedna druga nit se ne može pokrenuti i pošto se nijedna druga nit ne može pokrenuti, ni brava se neće otključati.

Mogu li pozvati Kmalloc Gfp_kernel dok držim spinlock?

Ne možete, međutim, učiniti bilo šta što će spavati dok držite spinlock. Na primjer, nikada ne pozivajte nijednu funkciju koja dodiruje korisničku memoriju, kmalloc sa GFP_KERNEL zastavicom, bilo koju funkciju semafora ili bilo koju od funkcija rasporeda dok držite spinlock. … Semafori u Linuxu su brave za spavanje.

Šta je Spinlock_t?

int spin_trylock(spinlock_t lock) Zaključava spinlock ako već nije zaključan. Ako ne može doći do zaključavanja, izlazi se s greškom i ne okreće zaključavanje. spin_lock_irq: spin_lock_irq(spinlock_t lock)

Šta je mutex kernela?

U Linux kernelu, muteksi se odnose na određeni primitiv za zaključavanje koji nameće serijalizaciju na sistemima dijeljene memorije, a ne samo na generički termin koji se odnosi na 'međusobno isključenje' koji se nalazi u akademske zajednice ili sličnih teorijskih udžbenika.

Preporučuje se: