“serial8250 : irq4에 너무 많은 작업”커널 메시지 이해


17

dmesg serial8250의 많은 메시지를 보여줍니다.

$ dmesg | grep -i serial
[    0.884481] Serial: 8250/16550 driver, 32 ports, IRQ sharing enabled
[    6.584431] systemd[1]: Created slice system-serial\x2dgetty.slice.
[633232.317222] serial8250: too much work for irq4
[633232.453355] serial8250: too much work for irq4
[633248.378343] serial8250: too much work for irq4
...

나는이 메시지를 전에 본 적이 없다. 일반적으로 무엇을 의미합니까? 걱정해야합니까?

(내 연구에서 배포별로 다르지 않지만 관련이있는 경우 Ubuntu 16.04를 실행하는 EC2 인스턴스에 메시지가 표시됩니다.)


EC2 인스턴스에 직렬 드라이버가 필요한 이유는 무엇입니까? 직렬 "포트"에 무엇이 연결되어 있습니까? (추측 : 다른 것이 많은 irq4 신호를 발생시키고 드라이버가 혼동됩니다. 해결책 : 필요하지 않을 수도 있으므로 드라이버를 비활성화하십시오).
dirkt

SSH를 통해 로그인하고 콘솔과 상호 작용하면 발생할 수 있습니까?
Philipp Claßen

2
EC2 인스턴스의 직렬 포트는 EC2 "콘솔 출력", dirkt입니다.
JdeBP

답변:


19

커널이나 장치 드라이버에는 아무런 문제가 없습니다. 기계 하드웨어에 문제가 있습니다. 문제는 불가능한 하드웨어입니다.

이것은 적어도 10 년 동안 사람들을 괴롭힌 몇 가지 가상화 플랫폼 (적어도 XEN, QEMU 및 VirtualBox 포함)에서 발생하는 오류입니다. 문제는 다양한 브랜드의 가상 머신에 의해 에뮬레이트 된 UART 하드웨어가 불가능하게 동작하여 문자를 엄청나게 빠른 라인 속도로 전송한다는 것입니다. 커널의 경우 빈 출력 버퍼 / 전체 입력 버퍼에 대한 인터럽트를 지속적으로 발생시키는 결함이있는 실제 UART 하드웨어와 구별 할 수 없습니다 . (실제 하드웨어에 결함이 있기 때문에 임베디드 리눅스 사람들이이 문제를 여기저기서 논의하고 있음을 알게 될 것입니다.) 커널은 데이터를 내보내거나 데이터를 끌어 당기고 UART는 즉시 더 많은 준비가되었다고 말하는 인터럽트를 발생시킵니다. .

H. Peter Anvin은 2008 년 QEMU를 수정하기위한 패치를 제공했습니다. EC2가 언제 잡힐 지 Amazon에 문의해야합니다.

추가 자료


1
2008 년에 패치가 나왔습니까? "EC2가 따라 올 때 Amazon에 문의해야합니다."
KevinY

2

JdeBP 를 지원하기 위해 데이터 포인트를 추가하기 만하면 : 나는 XEN VM에서 이것을 보았고 dmesg를 실행할 때만 보았습니다. 내 생각에 dmesg를 실행할 때 가상 UART를 오버로드하고 (위에서 설명한 버그를 나타냅니다) dmesg가 한 번에 많은 것들을 뿜어 내기 때문입니다. 어쨌든, 그것은 빨간 청어와 같은 문제가 아닙니다.


Mac OS High Sierra 10.13.6의 Mac 18.06.1-ce-mac73 (26764) 용 docker의 Debian Stretch Docker 컨테이너는 세 번째 OS 설정을보고 할 수 있습니다. python app)가 때때로 응답하지 않습니다 ...
Henning
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.