4.9. 커널


RHEL 9.1의 커널 버전

Red Hat Enterprise Linux 9.1은 커널 버전 5.14.0-162와 함께 배포됩니다.

(BZ#2125549)

list_lru 의 메모리 사용량이 최적화되었습니다.

내부 커널 데이터 구조인 list_lru 는 커널 inodes 및 파일의 디렉터리 항목의 "최근에 사용됨" 상태를 추적합니다. 이전 버전에서는 list_lru 할당된 구조의 수는 마운트 지점 수와 현재 메모리 cgroup 수에 직접적으로 비례했습니다. 이 두 수 모두 실행 중인 컨테이너 수로 증가하여 O(n^2) 의 메모리 사용량입니다. 여기서 n 은 실행 중인 컨테이너 수입니다. 이번 업데이트에서는 시스템의 list_lru 의 메모리 사용을 O(n) 로 최적화합니다. 결과적으로 이제 사용자 애플리케이션에 충분한 메모리를 사용할 수 있으며 특히 컨테이너가 많은 시스템에서 사용할 수 있습니다.

(BZ#2013413)

BPF가 Linux 커널 버전 5.16으로 변경

BPF(Berkeley Packet Filter) 기능은 여러 버그 수정 및 개선 사항이 포함된 Linux 커널 버전 5.16로 변경되었습니다. 주요 변경 사항은 다음과 같습니다.

  • lib bpf 사용자 공간 라이브러리의 간소화된 내부 BPF 프로그램 섹션 처리 및 bpf_ programs_set_attach_target() API

    bpf_ program__set_attach_target() API는 BPF 기반 프로그램의 BTF 기반 연결 대상을 설정합니다.

  • 선언 태그를 지정할 수 있는 BTF_KIND_TAG 유형에 대한 지원이 추가되었습니다.
  • 추적 프로그램에서 하드웨어의 마지막 브랜치 레코드(LBR)를 캡처할 수 있는 bpf_get_branch_snapshot() 도우미에 대한 지원이 추가되었습니다.
  • 레거시 인터페이스를 통해 kprobe 이벤트 생성을 가능하게 하는 libbpf 사용자 공간 라이브러리에서 레거시 kprobe 이벤트 지원을 추가했습니다.
  • __sk_buff 도우미 기능을 사용하여 BPF 특정 구조를 통해 하드웨어 타임스탬프에 액세스하는 기능이 추가되었습니다.
  • AF_XDP 버퍼 풀에서 RX 버퍼 할당을 위한 배치된 인터페이스에 대한 지원이 추가되어 i40e빙하에 대한 드라이버 지원이 추가되었습니다.
  • 최근 병합된 레거시 kprobe 를 보완하기 위해 libbpf 사용자 공간 라이브러리에 기존 uprobe 지원이 추가되었습니다.
  • bpf_trace_vprintk() 를 variadic printk 도우미로 추가했습니다.
  • libbpf 옵트인을 libbpf 1.0 노력의 일부로 더 엄격한 BPF 프로그램 섹션 이름 처리를 위해 추가했습니다.
  • libbpf 지원을 추가하여 perf RB 와 같은 특수 맵을 찾고 이를 생성하는 동안 BTF 유형 식별자를 내부적으로 삭제합니다.
  • bloomfilter BPF 맵 유형을 추가하여 세트에 요소가 있는지 테스트합니다.
  • BPF의 커널 모듈 함수 호출에 대한 지원이 추가되었습니다.
  • 경량화에 typeless 및 약한 ksym 에 대한 지원이 추가되었습니다.
  • BTF_KIND_DECL_TAG 유형에 대한 지원이 추가되었습니다.

실행 중인 커널에서 사용할 수 있는 BPF 기능의 전체 목록에 대한 자세한 내용은 bpftool feature 명령을 사용하십시오.

(BZ#2069045)

BTF 데이터가 커널 모듈에 있습니다.

BPF 유형 형식(BTF)은 BPF 프로그램 및 맵과 관련된 디버그 정보를 인코딩하는 메타데이터 형식입니다. 이전에는 커널 모듈의 BTF 데이터가 kernel-debuginfo 패키지에 저장되었습니다. 결과적으로 커널 모듈에 BTF를 사용하기 위해 해당 kernel-debuginfo 패키지를 설치해야 했습니다. 이번 업데이트를 통해 이제 BTF 데이터가 커널 모듈에 직접 있습니다. 따라서 BTF에 대한 추가 패키지를 설치할 필요가 없습니다.

(BZ#2097188)

kernel-rt 소스 트리가 RHEL 9.1 트리로 업데이트됨

최신 Red Hat Enterprise Linux 커널 소스 트리를 사용하도록 kernel-rt 소스가 업데이트되었습니다. 실시간 패치 세트도 최신 업스트림 버전 v5.15-rt 로 업데이트되었습니다. 이러한 업데이트는 여러 버그 수정 및 향상된 기능을 제공합니다.

(BZ#2061574)

ARM 및 AMD 및 Intel 64비트 아키텍처에서 동적 선점 스케줄링 활성화

RHEL 9는 ARM 및 AMD 및 Intel 64비트 아키텍처에서 동적 스케줄링 기능을 제공합니다. 이번 개선된 기능을 통해 컴파일 시간 대신 부팅 또는 런타임에 커널의 선점 모드를 변경할 수 있습니다. /sys/kernel/debug/sched/preempt 파일에는 현재 설정이 포함되어 있으며 런타임 수정을 허용합니다.

DYNAMIC_PREEMPT 옵션을 사용하면 부팅 시 preempt= 변수를 none,자발적 또는 자발적인 선점으로 완전히 설정할 수 있습니다. 동적 선점 처리를 사용하여 기본 선점 모델을 재정의하여 스케줄링 대기 시간을 개선할 수 있습니다.

(BZ#2065226)

stalld 가 버전 1.17로 업데이트됨

stall 데몬을 제공하는 stalld 프로그램은 Linux 시스템에서 운영 체제 스레드의 종료 상태를 방지하기 위한 메커니즘입니다. 이 버전은 starvation 상태의 스레드를 모니터링합니다. 새로 고침은 스레드가 CPU 실행 대기열에 있는 경우 starvation 임계값보다 더 오래 발생합니다.

stalld 버전에는 이전 버전보다 많은 개선 사항 및 버그 수정이 포함되어 있습니다. 주목할 만한 변경에는 실행 가능한 종료 작업을 감지할 수 있는 기능이 포함되어 있습니다.

stalld 가 별점 스레드를 감지하면 프로그램은 스레드의 스케줄링 클래스를ECDHE _DEADLINE 정책으로 변경하여 스레드를 실행할 지정된 CPU에 대한 약간의 시간을 스레드에 부여합니다. timeslice 를 사용하면 스레드는 원래 스케줄링 정책으로 돌아가고 stalld 는 스레드 상태를 계속 모니터링합니다.

(BZ#2107275)

tpm2-tools 패키지가 tpm2-tools-5.2-1 버전으로 변경되었습니다.

tpm2-tools 패키지는 tpm2-tools-5.2-1 버전으로 변경되었습니다. 이 업그레이드는 많은 중요한 개선 사항 및 버그 수정을 제공합니다. 주요 변경 사항은 다음과 같습니다.

  • tpm2_createprimarytpm2_create 툴을 사용하여 기본 오브젝트 생성 시 공개 키 출력에 대한 지원을 추가합니다.
  • tpm2_print 툴에 대한 지원을 추가하여 공개 키 출력 형식을 출력합니다. tpm2_print 는 신뢰할 수 있는 플랫폼 모듈(TPM) 데이터 구조를 디코딩하고 첨부된 요소를 출력합니다.
  • 64KB보다 큰 로그를 읽기 위해 tpm2_eventlog 툴에 지원을 추가합니다.
  • 세션 속성 표시 및 구성을 지원하기 위해 tpm2_sessionconfig 툴을 추가합니다.

주요 변경 사항에 대한 자세한 내용은 /usr/share/doc/tpm2-tools/Changelog.md 파일을 참조하십시오.

(BZ#2090748)

Intel E800 장치가 iWARP 및 RoCE 프로토콜을 지원

이 향상된 기능을 통해 enable_iwarpenable_roce devlink 매개변수를 사용하여 iWARP 또는 RoCE 프로토콜 지원을 해제할 수 있습니다. 이 필수 기능을 사용하면 프로토콜 중 하나로 장치를 구성할 수 있습니다. Intel E800 장치는 동일한 포트에서 두 프로토콜을 동시에 지원하지 않습니다.

특정 E800 장치에 대한 iWARP 프로토콜을 활성화 또는 비활성화하려면 먼저 카드의 PCI 위치를 가져옵니다.

$ lspci | awk '/E810/ {print $1}'
44:00.0
44:00.1
$

그런 다음 프로토콜을 활성화하거나 비활성화합니다. 첫 번째 포트에 pci/0000:44:00.0 을 사용하고 카드의 두 번째 포트에 pci/0000:44:00.1 을 devlink 명령의 인수로 사용할 수 있습니다.

$ devlink dev param set pci/0000:44:00.0 name enable_iwarp value true cmode runtime
$ devlink dev param set pci/0000:44:00.0 name enable_iwarp value false cmode runtime

특정 E800 장치에 대한 RoCE 프로토콜을 활성화 또는 비활성화하려면 위에 표시된 대로 카드의 PCI 위치를 가져옵니다. 다음 명령 중 하나를 사용합니다.

$ devlink dev param set pci/0000:44:00.0 name enable_roce value true cmode runtime
$ devlink dev param set pci/0000:44:00.0 name enable_roce value false cmode runtime

(BZ#2096127)

Red Hat logoGithubRedditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

Red Hat을 사용하는 고객은 신뢰할 수 있는 콘텐츠가 포함된 제품과 서비스를 통해 혁신하고 목표를 달성할 수 있습니다.

보다 포괄적 수용을 위한 오픈 소스 용어 교체

Red Hat은 코드, 문서, 웹 속성에서 문제가 있는 언어를 교체하기 위해 최선을 다하고 있습니다. 자세한 내용은 다음을 참조하세요.Red Hat 블로그.

Red Hat 소개

Red Hat은 기업이 핵심 데이터 센터에서 네트워크 에지에 이르기까지 플랫폼과 환경 전반에서 더 쉽게 작업할 수 있도록 강화된 솔루션을 제공합니다.

© 2024 Red Hat, Inc.