저는 SuSE 9의 POS 버전을 실행하는 아주 오래된 POS 시스템을 다루고 있습니다. 해당 커널은 USB 2.0 기능을 불안정하게 만드는 오래된 버그의 영향을 받은 것으로 밝혀졌습니다(장치를 핫플러그하면 /var/log/messages에 "ep0out의 제어 시간 초과" 메시지가 나타날 수 있으며 장치의 핫플러그를 사용할 수 없게 됩니다). 먼저 USB 2.0 장치가 USB 1.1로 대체되도록 ehci-hcd 모듈을 제거하여 이 문제를 해결하려고 했습니다. 그런데 POS 기기에 연결된 HP 레이저 프린터가 USB 1.1 모드에서 인쇄 속도가 매우 느린 것을 발견했습니다.
Google에서 더 많이 검색하면 대체 솔루션은 /boot/grub/menu.lst에 noapic 옵션을 넣는 것입니다.
그러나 APIC가 비활성화되면 성능 저하 외에도 어떤 나쁜 일이 발생할 수 있습니까? ACPI가 APIC와 밀접하게 관련되어 있다고 들었지만 어쨌든 GRUB에서는 ACPI를 명시적으로 해제하므로 ACPI에 대해서는 걱정하지 않습니다. 이론적으로 APIC가 비활성화되면 일부 장치가 전혀 작동하지 않을 수 있습니까?
추가 정보:
- 단일 CPU, 단일 코어 시스템(일부 Celeron 2.5GHz)
- 커널 2.6.5-어떤 것 어떤 것
답변1
음, 우선 최신 커널로 교체할 수 있는지 궁금합니다. 또는 버그를 수정하는 패치를 찾으면 2.6.5 커널에 적용할 수 있습니다.
이 외에도 APIC는 라우팅을 중단하는 데 사용됩니다. 이 기능을 끄면 커널은 이전 PIC 접근 방식으로 돌아가야 합니다. 결과적으로 장치 공유가 더 많이 중단되고(장치 수가 훨씬 적어지기 때문에) 약간의 속도 저하가 발생합니다. 아마도 그것은 중요하지 않을 것입니다.
중단될 수 있는 점은 인터럽트를 완전히 잃게 될 수도 있고(이 경우 확실히 부팅되지 않음) 일부 장치에서 인터럽트를 잃을 수도 있다는 것입니다(이는 매우 명백할 수 있으며 장치가 부팅되거나 초기화될 수도 있습니다). 아마도 가장 미묘한 문제인 시스템 타이밍 방법을 잃게 될 것입니다. 시스템 시계가 이전과 다르게 표류하거나 표류할 수 있습니다.
noapic이 작동하지 않으면 noapic을 시도하거나 PCI USB 2.0 컨트롤러를 추가할 수도 있습니다(하드웨어에서 허용한다고 가정).