Bila hendak menggunakan mutex_lock_interruptible?

Isi kandungan:

Bila hendak menggunakan mutex_lock_interruptible?
Bila hendak menggunakan mutex_lock_interruptible?

Video: Bila hendak menggunakan mutex_lock_interruptible?

Video: Bila hendak menggunakan mutex_lock_interruptible?
Video: Safety and Speed Issues with Threads. (pthreads, mutex, locks) 2024, September
Anonim

Gunakan fungsi mutex_lock_interruptible untuk membenarkan pemandu anda diganggu oleh sebarang isyarat. Ini menunjukkan bahawa panggilan sistem anda harus ditulis supaya ia boleh dimulakan semula. (Lihat juga ERESTARTSYS.)

Bolehkah saya mengunci kunci spin dalam satu CPU dan membuka kunci CPU lain?

Menggunakan spinlock pada sistem teras tunggal/CPU tunggal biasanya tidak masuk akal, kerana selagi pengundian kunci spin menyekat satu-satunya teras CPU yang tersedia, tiada utas lain boleh berjalan dan kerana tiada utas lain boleh berjalan, kunci tidak akan dibuka kunci sama ada.

Bolehkah saya memanggil Kmalloc Gfp_kernel sambil memegang kunci spin?

Anda tidak boleh, walau bagaimanapun, melakukan apa sahaja yang akan tidur sambil memegang kunci spin. Sebagai contoh, jangan sekali-kali memanggil mana-mana fungsi yang menyentuh memori pengguna, kmalloc dengan bendera GFP_KERNEL, sebarang fungsi semafor atau mana-mana fungsi jadual semasa memegang spinlock. … Semaphore dalam Linux adalah kunci tidur.

Apakah itu Spinlock_t?

int spin_trylock(spinlock_t lock) Mengunci kunci spin jika ia belum dikunci. Jika tidak dapat memperoleh kunci ia keluar dengan ralat dan tidak memutar kunci. spin_lock_irq: spin_lock_irq(spinlock_t lock)

Apakah itu mutex kernel?

Dalam kernel Linux, mutex merujuk kepada primitif penguncian tertentu yang menguatkuasakan siri pada sistem memori dikongsi, dan bukan sahaja kepada istilah generik yang merujuk kepada 'pengecualian bersama' yang terdapat dalam akademik atau buku teks teori yang serupa.

Disyorkan: