เนื่องจาก Linux BSP เริ่มต้นไม่เปิดใช้งานแคชและการออกอากาศการบํารุงรักษา TLB (บิต0 ของการลงทะเบียน ACTLR เหลืออยู่ '0') ในโหมด SMP ปัญหาการทํางานร่วมกันแคชอาจพบเห็นได้
สําหรับคําอธิบายบิตนี้ โปรดดูที่ ส่วนที่ 1.7.3 การดําเนินการบํารุงรักษาที่แพร่ภาพใน ARM A9 MPCore Technical Reference Manual[2]:
โปรเซสเซอร์ทั้งหมดที่ทํางานในโหมด SMP บนโดเมนที่สอดคล้องกันเดียวกันสามารถส่งและรับการดําเนินการ TLB และ Cache Maintenance คู่มืออ้างอิงสถาปัตยกรรม ARM ให้ข้อมูลโดยละเอียดเกี่ยวกับการดําเนินการออกอากาศ โปรเซสเซอร์ Cortex-A9 ในคลัสเตอร์ A9-MP จะกระจายการดําเนินการบํารุงรักษาที่ออกอากาศได้เมื่อทํางานในโหมด SMP (ACTLR SMP=1) และเมื่อเปิดใช้งานการออกอากาศการดําเนินการบํารุงรักษา (ACTLR FW=1) โปรเซสเซอร์ Cortex-A9 สามารถรับและดําเนินการบํารุงรักษาการออกอากาศเมื่อทํางานในโหมด SMP, ACTLR SMP=1
ขอแนะนําให้ ตั้งค่า ทั้ง ACTLR FW และ ACTLR SMP ไปยัง 1 เราสามารถตั้งค่าบิตโดยการแก้ไขรหัส Linux ใน proc-v7 ไฟล์ S ดังนี้:
#ifdef CONFIG_SMP
ALT_SMP(mrc p15, 0, r0, c1, c0, 1)
ALT_UP(mov r0, #(1 << 6)) @ ปลอมเพื่อ UP
tst r0, #(1 << 6) ที่เปิดใช้งานโหมด SMP/nAMP?
orreq r0, r0, #(1 << 6) @ เปิดใช้งานโหมด SMP/nAMP
orreq r0, r0, r10 @ เปิดใช้งานบิต SMP เฉพาะ CPU
orr r0, r0, #(1) @Addบรรทัดนี้เปิดใช้งาน ACTLR[0]
mcreq p15, 0, r0, c1, c0, 1
#endif