Je travaille sur une amélioration de la performance d'un pilote et devrait envisager la possibilité de blocage. Dans un contexte SoftIRQ, spin_lock sera conservé et protégera certaines variables. Dans ce cas, devrais-je utiliser spin_lock ou spin_lock_bh? spin_lock_bh semble plus sûr, mais j'ai une question générale sur l'implémentation de SoftIRQ.Le SoftIRQ peut-il exécuter le même SoftIRQ avec le noyau Linux?
- la même fonction de softirq peut être programmée sur le même CPU lors de l'exécution du softirq -> nous devons utiliser spin_lock_bh dans le softirq
- la même fonction de softirq peut être programmée sur l'autre CPU, mais pas le même CPU -> nous pouvons utiliser spin_lock dans le SoftIRQ
Qu'est-ce qui est vrai à partir de l'instruction ci-dessus?