ARM架構中的ASID(地址空間標識符)在寄存器中佔用8位。這意味着可以分配256個ASID。但是在linux內核中,甚至有超過1024個任務可以同時運行。如何處理ASID的情況在Linux內核中已經用完了? 我已經檢查了內核源代碼,當ASID用完時,內核會從再次啓動時將ASID分配給新的任務。考慮到一種情況,最新的任務擁有第一個ASID(0b1000 0000 0000 0001),但是有一個任務必須已經擁有相同的ASID。如果這兩項任務需要cantext切換?我沒有找到相關的內核源代碼。 linux內核中的相關代碼位於〜/ kernel/core.c context_switch()中。任何回覆將非常感謝,提前致謝如何處理ASID的情況在Linux內核中用完了?
此致敬意。 蒼鷺