5장. 외부 커널 매개변수에 대한 중요한 변경 사항
이 장에서는 시스템 관리자에게 Red Hat Enterprise Linux 9.7과 함께 배포된 커널의 중요한 변경 사항에 대한 요약을 제공합니다. 이러한 변경으로는 proc 항목, sysctl 및 sysfs 기본값, 부팅 매개 변수, 커널 구성 옵션 또는 눈에 띄는 동작 변경과 같은 추가 또는 업데이트된 동작 변경이 포함될 수 있습니다.
새 커널 매개변수
arm64.nompam=
[ARM64] Unconditionally disable Memory Partitioning and Monitoring Support.
indirect_target_selection=
[X86, Intel] Intel CPU의 직접 대상 선택(ITS) 버그 제어 IBPB 의 수정에는 업데이트된 마이크로 코드가 필요합니다.
가능한 값은 다음과 같습니다.
on - 완화 기능 활성화(기본값). off - 완화 기능을 비활성화합니다. 강제 - ITS 버그를 강제 적용하고 기본 완화 기능을 배포합니다. vmexit - ITS 의 게스트/호스트 격리 기능의 영향을 받는 경우에만 완화 기능을 배포합니다. 내용 - retpoline 이 배포될 때 RSB-fill mitigation을 배포합니다. 그렇지 않으면 기본 완화 조치를 배포합니다.
문서 /admin-guide/hw-vuln/indirect-target-selection.rst를 참조하십시오.
pcie.notph
[PCIE] PCIE_TPH 커널 구성 매개변수가 활성화된 경우 이 커널 부팅 옵션을 사용하여 시스템 전체에서 PCIe TLP 처리 힌트를 비활성화할 수 있습니다.
rcutree.csd_lock_suppress_rcu_stall=
[KNL] 지속적인 CSD- 클럭 대기가 있을 때 한 줄의 RCU CPU만 경고합니다.
rcuscale.kfree_by_call_rcu=
[KNL] CONFIG_RCU_LAZY=y 로 빌드된 커널에서 kfree_rcu() 대신 call_rcu() 를 테스트합니다.
rcuscale.kfree_mult=
[KNL] 크기 kfree_obj 개체를 할당하는 대신 kfree_mult * sizeof(kfree_obj) 중 하나를 할당합니다. 기본값은 1 입니다.
rcuscale.scale_type=
[KNL] 테스트할 RCU 구현을 지정합니다.
rcutorture.stall_cpu_repeat=
[KNL] stall 시퀀스를 반복하는 횟수로, rcutorture.stall_cpu_repeat=3 은 4 stall 시퀀스를 생성합니다.
refscale.lookup_instances=
[KNL] SLAB_TYPESAFE_BY_RCU 테스트 양식에 사용할 데이터 요소 수입니다. 음수는 부정하고 nr_cpu_ids 를 곱한 반면 0은 nr_cpu_ids 를 지정합니다.
smp.panic_on_ipistall=
[KNL] csd_lock_timeout 이 지정된 밀리초 이상 확장되면 시스템에 패닉이 발생합니다. 기본적으로 CSD-lock 인수는 필요한 만큼 오래 걸립니다. 이 값에 대해 300000 을 지정하면 5 분의 시간 제한이 제공됩니다.
spectre_bhi=
[X86] 분기 기록(BHI)의 완화를 제어합니다.
필요에 따라 HW 또는 SW 완화 기능을 활성화합니다. 이렇게 하면 syscalls 및 VM 모두에서 커널이 보호됩니다. vmexit - HW 완화 기능이 제공되지 않은 시스템에서 vmexit 에서만 SW 완화 조치를 활성화합니다. 이러한 시스템에서 호스트 커널은 VM에서 가져온 BHI 공격으로부터 보호되지만 여전히 syscall 공격에 취약해질 수 있습니다. off - 완화 기능을 비활성화합니다.
tsa=
[X86] AMD CPU에서 Transient Scheduler 공격에 대한 완화 기능을 제어합니다. 자세한 내용은 원하는 검색 엔진에서 다음을 검색하십시오.
일시적인 스케줄러 공격을 완화하기 위한 기술 지침. off - 완화 기능 활성화(기본값) 사용자 활성화 - 사용자 /커널 전환만 완화 - 게스트/호스트 전환만 완화
제거된 커널 매개변수
clocksource.max_cswd_read_retries=
[KNL] 클럭이 불안정하게 표시되기 전에 외부 지연으로 인해 clocksource_watchdog() 재시도 횟수입니다. 기본값은 두 번의 재시도(즉, 테스트 중인 시계를 세 번 읽으려고 함)입니다.
disable_cpu_apicid=
[X86,APIC,SMP] 형식: < int > 부팅 시 해당 CPU의 초기 APIC ID 수입니다. 대부분 kdump 2nd 커널에 BSP를 비활성화하여 AP 에서 BSP 로 INIT 를 전송하여 시스템을 재설정하거나 중단하지 않고 BSP 를 해제하는 데 사용됩니다.
변경된 커널 매개변수
nohz_full=
[KNL] 단일 작업이 실행될 때 틱을 비활성화하고 RCU 콜백을 오프로드하는 것과 같은 다른 커널 노이즈를 비활성화합니다. 이는 nohz_full 매개변수와 동일합니다. residual 1 Cryo stat tick은 workqueues로 오프로드되어 글로벌 sysfs 인터페이스를 통해 하우스키핑에 적합해야 합니다.
mce=
[X86-64] 문서를 참조하십시오 /arch/x86/x86_64/boot-options.rst.
mem_encrypt=
[X86-64] 메모리 암호화를 활성화할 수 있는 시기에 대한 자세한 내용은 문서 /virt/kvm/x86/amd-memory-encryption.rst 를 참조하십시오.
mitigations=
[ALL] mitigations=off 는 다음을 끄는 것과 동일합니다.
그런 다음 kpti=0 [ARM64]gather_data_sampling=off [X86]indirect_target_selection=off [X86]kvm.nx_huge_pages=off [X86]l1tf=off [X86]mds=off [X86]meltdown=off [X86]mmio_stale_data=off [X86]pcid=off [X86]pti=off [X86]spectre_v1=off [X86]spectre_v2=off [X86]tsx=off [X86]tsx_async_abort=off [X86]uhi=off [X86]
pci=config_acs=
[PCI] 형식: < ACS 플래그>@<pci_dev>[; …]
각 비트 값:
0 - force disabled 1 - force enabled x - unchanged, for example, pci=config_acs=10x@pci:0:0:0은 ACS 를 지원하는 모든 장치를 구성하여 P2P 요청 리디렉션 을 활성화하고 변환 차단을 비활성화하고 소스 유효성 검사를 비활성화한 다음, 전원 또는 펌웨어가 설정된 모든 소스 유효성 검사를 그대로 둡니다.
이렇게 하면 장치 간 격리가 제거될 수 있으며 IOMMU 그룹에 더 많은 장치를 배치할 수 있습니다.
pirq=
[SMP,APIC] 문서를 참조하십시오 /arch/x86/i386/IO-APIC.rst.
prot_virt=
[S390] 하이퍼바이저와 분리된 보호된 가상 머신 호스팅 가능(하드웨어에서 이를 지원하는 경우). 활성화하면 Kernel Address Space Layout Randomization이 비활성화된 경우에도 기본 커널 기본 주소를 덮어쓸 수 있습니다. 형식: < ;bool>
sev=
[X86-64] 문서를 참조하십시오 /arch/x86/x86_64/boot-options.rst.
spectre_v2_user=
[X86] 사용자 공간을 위한 Spectre 변형 2의 완화를 제어합니다. 에서 선택하면 사용자 공간 작업 공격에 대한 완화 기능도 활성화됩니다. 특정 완화 조치를 선택해도 사용자 완화 기능이 활성화되지는 않습니다. off 를 선택하면 커널과 사용자 공간 보호가 모두 비활성화됩니다.
rcutorture.stall_cpu_irqsoff=
[KNL] 설정된 경우 중단하는 동안 인터럽트를 비활성화하지만 세트의 첫 번째 stall에서만 인터럽트를 비활성화합니다.
새로운 sysctl 매개변수
timer_migration
0이 아닌 값으로 설정하면 타이머를 유휴 CPU에서 마이그레이션하여 전원 상태를 더 오래 유지할 수 있습니다. 기본값: 1