Red Hat Training

A Red Hat training course is available for Red Hat Enterprise Linux

28장. 하드웨어 활성화

기본 본딩 인터페이스가 더 이상 실패하지 않은 활성 인터페이스를 인수하지 않습니다.

이전에 primary_reselect=failure bond 매개변수가 잘못 작동했습니다. 기본 인터페이스는 다른 사용자가 실패하지 않은 경우에도 항상 인수하고 있었습니다. 이번 업데이트를 통해 매개변수는 예상대로 작동하며 현재 비기본 활성 인터페이스가 실패하는 경우에만 기본 본딩 인터페이스가 사용됩니다. (BZ#1301451)

IBM Power Systems의 little-endian 변형에서 실패한 updatepp 작업에서 메모리 손상이 방지됨

이전에는 IBM Power Systems의 little-endian 변형에서 실패한 updatepp 작업으로 인해 페이지 테이블의 다음 해시 삽입 작업에 잘못된 해시 값이 사용되는 경우가 있었습니다. 이로 인해 업데이트 해시 페이지 테이블 항목(PTE) 작업이 발생하거나 무효화된 해시 PTE 작업이 누락되어 메모리 손상이 발생할 수 있습니다. 이번 업데이트를 통해 Update pp 작업 후에 해시 값이 항상 다시 계산되므로 잠재적인 메모리 손상을 방지할 수 있습니다. (BZ#1264920)

USB 장치를 제거해도 더 이상 경쟁 조건이 발생하지 않음

이전에는 USB 장치를 제거하면 동기화에 문제가 발생하여 경쟁 조건이 발생할 수 있었습니다. 결과적으로 메모리가 손상되어 USB 호스트 컨트롤러가 실패했습니다. 이번 업데이트를 통해 타이머가 경쟁 조건의 가능성을 방지할 수 있도록 미리 초기화되어 더 이상 USB 호스트 컨트롤러가 실패하지 않습니다. (BZ#1290202)

커널은 AMD Turion II 시스템에서 부팅됩니다.

이전 버전에서는 진드 브로드 캐스트 코드의 라이브 잠금으로 인해 일부 경우 AMD Turion II 시스템이 부팅 중에 잠겼고 응답하지 않았습니다. 이번 업데이트를 통해 라이브 잠금이 수정되었으며 커널은 AMD Turion II 시스템에서 더 안정적으로 부팅됩니다. (BZ#1265283)

많은 CPU가 있는 실시간 시스템에는 런타임 대기열 잠금 경합으로 인해 더 이상 대기 시간이 발생하지 않습니다.

이전에는 실시간 시스템에서 여러 CPU가 rq 잠금을 시도하여 경합 및 대기 시간이 발생했습니다. 대기 시간은 CPU 수를 곱하여 CPU가 많은 시스템에 대기 시간이 많았습니다. 이번 업데이트를 통해 32개 이상의 코어를 사용하는 시스템에서는 대신 푸시 접근 방식을 사용하므로 중요한 영역의 긴 CPU 목록을 방지할 수 있습니다. 결과적으로 CPU가 많은 실시간 시스템에는 런타임 잠금 경합으로 인한 대기 시간이 더 이상 발생하지 않습니다. (BZ#1209987)

NVM Express 장치 드라이버를 사용하여 멀티 큐 지원을 활성화할 때 부팅 시 커널이 더 이상 충돌하지 않음

코어 블록 장치 코드의 버그로 인해 일부 경우 NVMe(Nonvolatile Memory Express) 장치 드라이버에서 멀티 큐 지원을 활성화할 때 커널이 예기치 않게 종료되었습니다. nvme 드라이버에서 이 문제가 관찰되었지만 다른 블록 장치도 잠재적으로 영향을 받을 수 있었습니다. 이번 업데이트를 통해 이 버그가 수정되었으며 설명된 상황에서 커널이 더 이상 충돌하지 않습니다. (BZ#1303255)

CPU 빈도가 요청된 값에 도달

이전에는 intel_pstate 드라이버에 의해 CPU 빈도 값이 잘못 반올림되었습니다. 결과적으로 CPU 빈도가 사용자가 요청한 것보다 낮았습니다. 이번 업데이트를 통해 반올림 오류가 수정되었으며 CPU 빈도가 요청된 값에 도달합니다. (BZ#1279617)

FCoE 코드의 실시간 커널 스케줄링 코드가 수정되었습니다.

실시간 커널의 FCP(Fibre Channel over Ethernet) 드라이버가 더 일반적인 get_cpu()put_cpu() 함수 대신 get_cpu_light()put_cpu_light() 함수를 사용하도록 변경되었습니다. 그러나 get_cpu() 의 한 가지 발생은 get_cpu_light() 로 변경되지 않았습니다. 그 결과 선점이 비활성화되었으며 FCoE 코드에서 원자 버그가 발생한 동안 BUG: 스케줄링 이 발생했습니다. 이번 업데이트를 통해 코드가 수정되었으며 더 이상 버그가 발생하지 않습니다. (BZ#1258295)

IBM Power Systems의 성능은 PCI 어댑터에 대해 보고되지 않는 NUMA 노드가 더 이상 저하되지 않습니다.

이전 버전에서는 회귀 문제로 인해 PCI 어댑터에 대해 NUMA(Non-Uniform Memory Access) 노드가 보고되지 않았습니다. 이로 인해 Red Hat Enterprise Linux 7에서 배포된 모든 IBM Power System의 성능이 크게 저하되었습니다. 이번 업데이트를 통해 회귀 문제가 해결되었으며 이러한 상황에서 시스템 성능이 더 이상 저하되지 않습니다. (BZ#1273978)

DMA 전송을 설정하는 동안 시스템이 더 이상 충돌하지 않음

IOMMU(Input/Output Memory Management Unit) 페이지 크기의 불일치, NVMe(Non-volatile Memory Express) 장치 및 커널로 인해 이전에 nvme_setup_prps() 함수에서 BUG_ON 신호가 발생했습니다. 이로 인해 DMA(직접 메모리 액세스) 전송을 설정하는 동안 시스템이 예기치 않게 종료될 수 있습니다. 이번 업데이트를 통해 기본 NVMe 페이지 크기가 4KB로 설정되고 시스템 충돌이 더 이상 발생하지 않습니다. (BZ#1245140)

핫 플러그 해제 동안 커널이 더 이상 중단되지 않음

재시도 가능 명령 오류로 인해 NVMe 드라이버에서 이전에 I/O 설명자 및 DMA 매핑이 유출되었습니다. 이로 인해 드라이브가 제거된 경우 핫 언플러그 작업 중에 커널이 응답하지 않을 수 있었습니다. 이번 업데이트에서는 명령 재시도 시 드라이버 메모리 누수가 수정되어 커널은 더 이상 이 상황에서 중단되지 않습니다. (BZ#1271860)

이제 LRO(Large Receive Offload) 플래그를 비활성화하면 올바르게 전파됩니다.

이전에는 LRO(Large Receive Offload) 플래그를 비활성화하지 않은 경우 vlan 및 bond 계층에서 위의 장치에서 아래로 전파되지 않았습니다. 이로 인해 트래픽 흐름이 중단되었습니다. 이번 업데이트를 통해 문제가 해결되어 LRO 플래그를 비활성화하면 올바르게 전파됩니다. (BZ#1266578)

Intel Xeon v5 플랫폼에서 P-state를 전환하려면 성공

이전에는 Intel Xeon v5 플랫폼에서 프로세서 빈도가 항상 가능한 가장 높은 빈도에 연결되었습니다. 그 결과 이러한 클라이언트 플랫폼에서 P-state를 전환하지 못했습니다. 이번 업데이트에서는 범위를 결정하고 최소 및 최대 백분율 제한 값을 조정하여 유휴 빈도, 사용량이 많은 빈도 및 프로세서 빈도 값을 설정합니다. 결과적으로 이러한 클라이언트 플랫폼에서 P-state를 전환하면 성공합니다. (BZ#1264990)

cpuscaling 테스트가 더 이상 실패하지 않음

이전에는 intel-pstate 드라이버의 번호 경계 버그로 인해 Red Hat Hardware Certification Test Suite의 cpuscaling 테스트가 잘못 실패했습니다. 이 버그는 수정되었으며 cpuscaling 테스트는 이제 충분히 강력한 하드웨어에서 전달됩니다. (BZ#1263866)

genwqe 드라이버는 메모리 부족 중에 메모리를 할당할 수 있습니다.

이전에는 genwqe 장치 드라이버는 비동성 상황에서도 커널의 atomic 메모리 풀에서 연속 메모리 페이지를 할당하기 위해 GFP_ATOMIC 플래그를 사용했습니다. 이로 인해 메모리 부족 중에 할당 오류가 발생할 수 있습니다. 이번 업데이트를 통해 genwqe 드라이버의 메모리 할당은 GFP_KERNEL 플래그를 사용하며, 드라이버는 메모리 부족 상황에서도 메모리를 할당할 수 있습니다. (BZ#1270244)

CPU를 비활성화할 때 콘솔이 더 이상 중단되지 않음

이전 버전에서는 실시간 커널에서 CPU 핫플러그 인터페이스를 사용하여 CPU를 비활성화할 때 핫플러그 잠금과 콘솔 세마포어를 잘못된 순서로 가져올 수 있었습니다. 이로 인해 시스템 콘솔이 응답하지 않는 상태가 발생할 수 있습니다. 이번 업데이트를 통해 잠금이 올바른 순서로 확보되고 콘솔이 더 이상 중단되지 않습니다. (BZ#1269647)

이제 ixgbe 드라이버에서 LRO가 기본적으로 비활성화됨

LRO(Large Receive Offload)는 전달 및 브리징과 호환되지 않으며 성능 문제 및 불안정성을 유발할 수 있으므로 이제 ixgbe 드라이버에서 기본적으로 비활성화되어 있습니다.
LRO를 활성화하려면 다음을 수행합니다.
# ethtool -K ethX lro on
ethX 를 인터페이스 이름으로 바꿉니다. (BZ#1266948)

IBM Power Systems의 nx842 공동 프로세서는 더 이상 손상된 데이터를 제공하지 않습니다.

이전에는 IBM Power Systems의 nx842 공동 프로세서에서 일부 상황에서 잘못된 데이터를 제공할 수 있었습니다. 이는 압축 해제 중에 발생한 데이터 손상 버그로 인해 발생했습니다. 이번 업데이트를 통해 nx842 공동 프로세서에 대한 모든 압축 및 압축 해제 호출에는 CRC(cyclic redundancy check) 플래그가 포함됩니다. 이렇게 하면 모든 압축 및 압축 해제 작업이 데이터 무결성을 확인하고 공동 프로세서에서 손상된 데이터를 제공하는 것을 방지할 수 있습니다. (BZ#1264905)

mlx4_en_recover_from_oom() 함수를 호출할 때 시스템이 더 이상 충돌하지 않음

이전 버전에서는 mlx4_en_recover_from_oom() 함수가 mlx4_en 드라이브로 대용량 TCP 스트림에서 호출되면 운영 체제가 예기치 않게 종료되었습니다. 이번 업데이트에서는 버그가 수정되어 이 시나리오에서 시스템이 더 이상 충돌하지 않습니다. (BZ#1258136)

IW 규제 정보를 올바르게 표시합니다.

이전에는 iw 유틸리티가 iw reg set 명령으로 설정된 후 규제 상태를 올바르게 표시하지 않았습니다. 이번 업데이트에서는 Red Hat Enterprise Linux 무선 코드와 더 긴밀하게 일치하도록 iw 코드를 조정합니다. 결과적으로 iw 는 규제 국가 정보를 예상대로 표시합니다. (BZ#1324096)

i40e 는 부팅 중에 더 이상 warn_slowpath 경고를 발행하지 않습니다.

이전에는 코드가 rx_ring 구조를 복제했지만 새 메모리를 할당하기 전에 포인터를 비우지 않았기 때문에 i40e 드라이버가 링 크기 변경 중에 warn_slowpath 경고를 발행했습니다. 이번 업데이트를 통해 버그가 수정되었으며 경고가 더 이상 표시되지 않습니다. (BZ#1272833)

netprio_cgroups 모듈이 부팅 시 마운트됨

이전 버전에서는 systemd/sys/fs/cgroup/ 디렉터리를 읽기 전용으로 마운트하여 초기 시스템 설정 중에 /sys/fs/cgroup/net_prio/ 디렉터리가 마운트되지 않았습니다. 그 결과 부팅 시 netprio_cgroups 모듈이 마운트되지 않았습니다. 이번 업데이트를 통해 이 문제가 해결되었으며 이제 부팅 시 netprio_cgroups 모듈이 마운트됩니다. (BZ#1262204)

qlcnic 과의 본딩 설정이 더 이상 실패하지 않음

이번 업데이트 이전에는 balance-tlb 또는 balance-alb 와 같은 특정 본딩 모드가 제대로 저장되지 않은 MAC 주소를 설정합니다. 이 MAC 주소는 본딩을 분리할 때 복원되지 않았으며 중복된 MAC은 그대로 유지됩니다. 그 결과 원래 MAC 주소가 존재하지 않아 본딩을 다시 설정하지 못했습니다. 이번 업데이트에서는 본딩이 중단될 때 MAC 주소를 올바르게 복원하기 위한 코드가 개선되었습니다. 결과적으로 qlcnic 장치와의 본딩이 예상대로 작동합니다. (BZ#1265058)