RT PREEMPT 커널 패치 적용 실패

RT PREEMPT 커널 패치 적용 실패

Linux 커널에 RT PREEMPT 패치를 적용하려고 합니다. 가이드에서 언급한 대로이것그리고이것, 다음을 수행해야 합니다.

zcat patch-4.14.15-rt13.patch.gz | patch -p1

(커널 소스 코드가 포함된 디렉터리에 있다고 가정합니다.)

하지만 다음과 같은 메시지를 많이 받습니다.

The next patch would create the file tools/testing/selftests/ftrace/test.d/trigger/inter-event/trigger-synthetic-event-createremove.tc,
which already exists!  Assume -R? [n] 
Apply anyway? [n] 
Skipping patch.
1 out of 1 hunk ignored
patching file virt/kvm/arm/arm.c
Reversed (or previously applied) patch detected!  Assume -R? [n] 
Apply anyway? [n] 
Skipping patch.
3 out of 3 hunks ignored -- saving rejects to file virt/kvm/arm/arm.c.rej

결국 그 과정은 실패했습니다. 나는 ubuntu:16.04이것을 도커 컨테이너와 도커 컨테이너 모두에서 시도했지만 debian:stretch결과는 동일합니다.

그런데 패치 프로세스는 bash 스크립트의 일부이기 때문에 상호 작용할 수 없습니다.

패치를 적용하고 있어요라즈베리 파이 커널 소스 코드그런데.

여기있어완전한 패치 출력.

내가 뭘 잘못했나요? 패치를 올바르게 적용하는 방법은 무엇입니까?

그 내용은 virt/kvm/arm/arm.c.rej다음과 같습니다:

--- virt/kvm/arm/arm.c
+++ virt/kvm/arm/arm.c
@@ -650,7 +650,7 @@ int kvm_arch_vcpu_ioctl_run(struct kvm_vcpu *vcpu, struct kvm_run *run)
         * involves poking the GIC, which must be done in a
         * non-preemptible context.
         */
-       preempt_disable();
+       migrate_disable();

        kvm_pmu_flush_hwstate(vcpu);

@@ -687,7 +687,7 @@ int kvm_arch_vcpu_ioctl_run(struct kvm_vcpu *vcpu, struct kvm_run *run)
            kvm_pmu_sync_hwstate(vcpu);
            kvm_timer_sync_hwstate(vcpu);
            kvm_vgic_sync_hwstate(vcpu);
-           preempt_enable();
+           migrate_enable();
            continue;
        }

@@ -742,7 +742,7 @@ int kvm_arch_vcpu_ioctl_run(struct kvm_vcpu *vcpu, struct kvm_run *run)

        kvm_vgic_sync_hwstate(vcpu);

-       preempt_enable();
+       migrate_enable();

        ret = handle_exit(vcpu, run, ret);
    }

건축 후.

답변1

여전히 문제가 있는 경우 공식 Raspberry Pi 커널 저장소의 포크가 있습니다.RT를 잡아라패치된 커널 버전. 더 이상 "바닐라" 커널을 패치할 필요가 없습니다. 이는 커널 버전과 rt 패치 버전 간에 일치하는 항목을 찾을 필요가 없음을 의미합니다. 또한 일부 다른 패치도 포함되어 있습니다.

나는 썼다지도 시간그리고 좀 했어성능시험. USB/LAN IRQ에는 여전히 몇 가지 문제가 있습니다. 나는 RPi 3 B+를 사용하여 몇 가지 테스트를 하고 있으며 이번 주에 게시할 예정입니다.

관련 정보