Kapan menggunakan mutex_lock_interruptible?

Daftar Isi:

Kapan menggunakan mutex_lock_interruptible?
Kapan menggunakan mutex_lock_interruptible?

Video: Kapan menggunakan mutex_lock_interruptible?

Video: Kapan menggunakan mutex_lock_interruptible?
Video: Проблемы безопасности и скорости с потоками. (pthreads, mutex, блокировки) 2024, September
Anonim

Gunakan fungsi mutex_lock_interruptible untuk memungkinkan driver Anda terganggu oleh sinyal apa pun. Ini menyiratkan bahwa panggilan sistem Anda harus ditulis sehingga dapat dimulai ulang. (Juga lihat ERESTARTSYS.)

Dapatkah saya mengunci spinlock di satu CPU dan membukanya di CPU lain?

Menggunakan spinlock pada sistem single-core/single-CPU biasanya tidak masuk akal, karena selama polling spinlock memblokir satu-satunya inti CPU yang tersedia, tidak ada utas lain yang dapat berjalan dan karena tidak ada utas lain yang dapat berjalan, kunci juga tidak bisa dibuka.

Dapatkah saya memanggil Kmalloc Gfp_kernel sambil memegang spinlock?

Anda tidak dapat, namun, melakukan apa pun yang akan tidur sambil menahan spinlock. Misalnya, jangan pernah memanggil fungsi apa pun yang menyentuh memori pengguna, kmalloc dengan flag GFP_KERNEL, fungsi semaphore atau fungsi jadwal mana pun saat menahan spinlock. … Semaphore di Linux adalah sleep lock.

Apa itu Spinlock_t?

int spin_trylock(spinlock_t lock) Mengunci spinlock jika belum terkunci. Jika tidak dapat memperoleh kunci, itu keluar dengan kesalahan dan tidak memutar kunci. spin_lock_irq: spin_lock_irq(spinlock_t lock)

Apa itu kernel mutex?

Dalam kernel Linux, mutex merujuk ke sebuah penguncian primitif tertentu yang memberlakukan serialisasi pada sistem memori bersama, dan tidak hanya pada istilah umum yang mengacu pada 'pengecualian bersama' yang ditemukan di akademisi atau buku teks teoretis serupa.

Direkomendasikan: