강제 활성화 fq_pie

강제 활성화 fq_pie

저는 TCP 혼잡 제어를 위한 fq_pie 대기열 규칙을 설정하는 데 매우 관심이 있습니다. 을 작성하면 net.core.default_qdisc = fq_pie최신 /etc/sysctl.d/90-override.conf커널에서 fq_pie가 활성화되어야 합니다.

그래도 내 데스크탑에서는 작동합니다. 하지만 내 노트북에서는:

$ tc qdisc show
qdisc noqueue 0: dev lo root refcnt 2 
qdisc noqueue 0: dev wlp1s0 root refcnt 2 
qdisc mq 0: dev wlp0s20f0u3 root 
qdisc fq_pie 0: dev wlp0s20f0u3 parent :4 limit 10240p flows 1024 target 15ms tupdate 16ms alpha 2 beta 20 quantum 1514b memory_limit 32Mb ecn_prob 10 
qdisc fq_pie 0: dev wlp0s20f0u3 parent :3 limit 10240p flows 1024 target 15ms tupdate 16ms alpha 2 beta 20 quantum 1514b memory_limit 32Mb ecn_prob 10 
qdisc fq_pie 0: dev wlp0s20f0u3 parent :2 limit 10240p flows 1024 target 15ms tupdate 16ms alpha 2 beta 20 quantum 1514b memory_limit 32Mb ecn_prob 10 
qdisc fq_pie 0: dev wlp0s20f0u3 parent :1 limit 10240p flows 1024 target 15ms tupdate 16ms alpha 2 beta 20 quantum 1514b memory_limit 32Mb ecn_prob 10

보시다시피 Wi-Fi 어댑터가 2개 있습니다. 내 노트북에는 Qualcomm Atheros(ath10k)가 내장되어 있으며 fq_pie를 활성화할 수 없습니다.

그러나 fq_pie는 TP Link(RTL8188EUS) 어댑터에서 활성화할 수 있습니다.

또한 2개의 다른 노트북(Dell 및 HP)을 사용해 보았지만 통합 WiFi 어댑터가 실제로 fq_pie를 실행하지 않았습니다.

Qualcomm Atheros 및 기타 WiFi 어댑터에 대해 fq_pie를 강제로 활성화하는 방법이 있습니까?

시스템 세부정보:

$ cat /proc/version
Linux version 5.8.12-xanmod1-1 (makepkg@archlinux) (gcc (GCC) 10.2.0, GNU ld (GNU Binutils) 2.35) #1 SMP PREEMPT Wed, 30 Sep 2020 14:19:49 +0000

$ ip -V
ip utility, iproute2-v5.7.0-77-gb687d1067169

$ tc -V
tc utility, iproute2-v5.7.0-77-gb687d1067169

답변1

net.core.default_qdisc로딩시 인터페이스 드라이버에 영향을 미치는 것 같습니다 . 변경 이전에 커널 모듈이 로드된 경우 net.core.default_qdisc이후 변경 사항에는 영향을 미치지 않습니다. 일부 인터페이스에는행동 변화: 다중 대기열 인터페이스는 그대로 유지되지만 mq해당 리프는 이 기본값을 상속합니다.루오또는와이즈기본 대기열은 확보되지 않습니다.

드라이버보다 먼저 sysctl이 변경되었는지 확인하려면 다음을 수행할 수 있습니다.

  • initramfs 스크립트가 변경되었습니까(약간의 조정이 필요할 수 있음),

  • 커널 명령줄에서 로드합니다.이 Q&A누구에게나 말하는 것이 가능하다평상복시스템 제어만 가능커널 5.8부터 시작, 당신이 사용하고 있습니다. 따라서 이론적으로는 부팅 매개변수(아마도 GRUB의 GRUB_CMDLINE_LINUX에 있음)에 무언가를 추가하고 잊어버릴 수 있습니다.

    sysctl.net.core.default_qdisc=fq_pie
    

    그러나 실제로 이것은 내장 드라이버에서만 작동합니다. sch_fq_pie내장 컴파일 일 가능성은 거의 없습니다 .

  • 드라이버 로딩 지연 wlp1s0(어디서 해야할지 모르겠습니다)

  • rmmod ath10k따라서 modprobe ath10k새로운 기본값이 적용됩니다.

어쨌든 인터페이스의 qdisc를 즉시 변경하려면 해당 qdisc를 정의하면 됩니다. 그러면 예약된 핸들이 있는 기본 커널 qdisc가 재정의됩니다 0:. 예를 들어:

tc qdisc add dev wlp1s0 handle 1: root fq_pie

관련 정보