4.7. 커널
RHEL 9.4의 커널 버전
Red Hat Enterprise Linux 9.4는 커널 버전 5.14.0-427.13.1과 함께 배포됩니다.
rteval
에서는 이제 기본 측정 CPU 목록에서 임의의 CPU 추가 및 제거를 지원합니다.
rteval
유틸리티를 사용하면 전체 새 목록을 지정하지 않고 --measurement-cpulist 매개변수를 사용할 때 --measurement-cpulist
매개변수를 사용할 때 기본 측정 CPU 목록에 (+ 기호를 사용하여) CPU를 추가(+ 기호 사용)할 수 있습니다. 또한 모든 분리된 CPU 세트를 기본 측정 CPU 목록에 추가하기 위해 --measurement-run-on-isolcpus
가 도입되었습니다. 이 옵션은 분리된 CPU에서 실행되는 실시간 애플리케이션의 가장 일반적인 사용 사례를 다룹니다. 기타 사용 사례에는 더 일반적인 기능이 필요합니다. 예를 들어 일부 실시간 애플리케이션은 하우스키핑에 하나의 격리된 CPU를 사용했기 때문에 기본 측정 CPU 목록에서 제외해야 합니다. 결과적으로 이제 기본 측정 CPU 목록에서 임의의 CPU를 유연하게 추가할 수 있습니다. 제거는 추가보다 우선합니다. 이 규칙은 +/- 기호로 지정된 CPU와 --measurement-run-on-isolcpus
로 정의된 CPU 모두에 적용됩니다.
Jira:RHEL-9912[1]
rtla
는 업스트림 커널
소스 코드의 버전 6.6으로 다시 기반
rtla
유틸리티가 최신 업스트림 버전으로 업그레이드되어 여러 버그 수정 및 개선 사항을 제공합니다. 주요 변경 사항은 다음과 같습니다.
-
기본
rtla
스레드와 별도로rtla
스레드에 대한 추가 제어 그룹을 지정하려면-C
옵션을 추가했습니다. -
하우스
키핑 옵션을 추가하여 하우스키핑 CPU에rtla
스레드를 배치하고 다른 CPU에 측정 스레드를 배치했습니다. -
사용자 공간의
timerlat
histtimerlat top
threads를 실행할 수 있도록 타이머lat 추적기에 지원이 추가되었습니다.
Jira:RHEL-10079[1]
cyclicdeadline
에서 히스토그램의 대기 시간 생성 지원
이번 릴리스에서는 cyclicdeadline
유틸리티에서 히스토그램의 대기 시간 생성을 지원합니다. 이 기능을 사용하면 하나의 best-case number를 얻는 대신 다양한 크기의 대기 시간 급증 빈도에 대한 더 많은 통찰력을 얻을 수 있습니다.
Jira:RHEL-9910[1]
SGX가 이제 완전히 지원됨
SGX( Software Guard Extensions )는 소프트웨어 코드와 데이터를 공개 및 수정으로부터 보호하는 Intel® 기술입니다.
RHEL 커널은 SGX 버전 1 및 2 기능을 제공합니다. 버전 1은 유연한 시작 제어 메커니즘을 사용하는 플랫폼에서 SGX 기술을 사용할 수 있도록 합니다. 버전 2에는 Enclave Dynamic Memory Management (EDMM)가 추가되었습니다. 주요 기능은 다음과 같습니다.
- 초기화된 enclave에 속하는 일반 enclave 페이지의 EPCM 권한 수정.
- 초기화된 enclave에 일반 enclave 페이지의 동적 추가
- 더 많은 스레드를 수용하기 위해 초기화된 enclave를 확장합니다.
- 초기화된 enclave에서 일반 및 TCS 페이지 제거.
이번 릴리스에서는 SGX가 기술 프리뷰에서 완전히 지원되는 기능으로 이동합니다.
Bugzilla:2041883[1]
Intel 데이터 스트리밍 액셀러레이터 드라이버가 완전히 지원됨
Intel 데이터 스트리밍 액셀러레이터 드라이버(IDXD)는 Intel CPU 통합 액셀러레이터를 제공하는 커널 드라이버입니다. 여기에는 프로세스 주소 공간 ID(pasid
) 제출 및 공유 가상 메모리(SVM)가 있는 공유 작업 큐가 포함됩니다.
이번 릴리스에서는 IDXD가 기술 프리뷰에서 완전히 지원되는 기능으로 이동합니다.
Jira:RHEL-10097[1]
eBPF 시설은 Linux 커널 버전 6.6으로 변경되었습니다.
주요 변경 사항 및 개선 사항은 다음과 같습니다.
-
BPF 프로그램에서 데이터 및 변수 크기의 액세스를 통해 더 포괄적이고 덜 브레이틀 반복할 수 있는
skb
및xdp
유형의 새로운 동적 포인터(dynptrs
)입니다. -
새로운 BPF
netfilter
프로그램 유형 및 BPF 프로그램을 prerouting 또는 forward와 같은netfilter
후크에 후크하는 최소한의 지원. 커널 포인터(
kptrs
)에 대한 여러 개선 사항:-
더 많은 맵 유형에서
kptrs
를 사용할 수 있습니다. -
RCU 의미 체계는 작업
kptrs
에 대해 활성화됩니다. -
새로운 참조 연결 로컬
kptrs
는 BPF목록과
rbtree
둘 다에 노드를 추가하는 데 유용합니다.
-
더 많은 맵 유형에서
-
로드 시 BPF 프로그램은 특정
kfunc
가 존재하는지 여부를 감지할 수 있습니다. -
dynptrs
,cgroups
,소켓
,cpumasks
를 사용한 몇 가지 새로운kfuncs
. -
여러
uprobe
및usdt
프로브를 연결하기 위한 새로운 BPF 링크입니다. 이는 훨씬 더 빠르고 추가 파일 설명자(FD)를 저장합니다. -
BPF
맵
요소 수가 모든 프로그램 유형에 대해 활성화됩니다. -
모든 BPF
맵
유형에 대한 메모리 사용량 보고가 더 정확합니다. -
bpf_fib_lookup
BPF 도우미에는 라우팅 테이블 ID가 포함되어 있습니다. -
BPF_OBJ_PIN
및BPF_OBJ_GET
명령은O_PATH
FD를 지원합니다.
Jira:RHEL-10691[1]
libbpf-tools 패키지는 IBM Z에서 사용 가능
BPF Compiler Collection(BCC)에 대한 명령행 툴을 제공하는 libbpf-tools
패키지는 IBM Z 아키텍처에서 사용할 수 있습니다. 결과적으로 IBM Z의 libbpf-tools
의 명령을 사용할 수 있습니다.
Jira:RHEL-16325[1]