Linux: CONFIG_NET_SCH_CAKE рдХреЗ рд╕рдорд░реНрдерди рдХреЗ рд╕рд╛рде рдЖрд░рдкреАрдЖрдИ рдХрд░реНрдиреЗрд▓

рдХреЛ рдирд┐рд░реНрдорд┐рдд 24 рдЕрдЧре░ 2019  ┬╖  7рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ  ┬╖  рд╕реНрд░реЛрдд: raspberrypi/linux

4.19.66-v7+ рдХрд░реНрдиреЗрд▓ рдкрд░, рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ CONFIG_NET_SCH_CAKE рд╕реЗрдЯ рдирд╣реАрдВ рд╣реИред

CAKE (рдХреЙрдорди рдПрдкреНрд▓реАрдХреЗрд╢рди рдХреЗрдкреНрдЯ рдПрдиреНрд╣рд╛рдВрд╕реНрдб) рдПрдХ рдЖрдХрд╛рд░ рджреЗрдиреЗ рдпреЛрдЧреНрдп рдХрддрд╛рд░ рдЕрдиреБрд╢рд╛рд╕рди рд╣реИ рдЬреЛ AQM рдФрд░ FQ рджреЛрдиреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИред

рдХреЗрдХ рдирдпрд╛ рдиреЗрдЯрд╡рд░реНрдХ рдкреИрдХреЗрдЯ рд╢реЗрдбреНрдпреВрд▓рд░ рд╣реИ рдФрд░ рдбреЗрдмрд┐рдпрди рдмрд╕реНрдЯрд░ рдореЗрдВ 4.19 рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реИред рдпрд╣ рдХрд░реНрдиреЗрд▓ 4.19 рдореЗрдВ рдирдпрд╛ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдЗрд╕реЗ рдЙрд╕ рд╕рдВрд╕реНрдХрд░рдг рдореЗрдВ рдЖрдзрд┐рдХрд╛рд░рд┐рдХ рд▓рд┐рдирдХреНрд╕ рд╕реНрд░реЛрддреЛрдВ рдореЗрдВ рдорд┐рд▓рд╛ рджрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рд▓реЗрдХрд┐рди рдпрд╣ рд▓рдВрдмреЗ рд╕рдордп рддрдХ рд╡рд┐рдХрд╛рд╕ рдореЗрдВ рдерд╛ред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП рдЯреВрд░рд┐рд╕ рдУрдореНрдирд┐рдпрд╛ рдЕрдкрдиреЗ рдХрд╕реНрдЯрдо рдХрд░реНрдиреЗрд▓ 4.4 рдХреЗ рд╕рд╛рде рдХреЗрдХ рдореЙрдбреНрдпреВрд▓ рдЙрдкрд▓рдмреНрдз рд╣реИред рдореБрдЦреНрдп рд▓рд╛рдн рдЬрд┐рд╕реЗ рдореИрдВ рдХреЗрдХ рдХреЗ рд╕рд╛рде рдвреВрдВрдв рд░рд╣рд╛ рд╣реВрдВ рд╡рд╣ рдСрдЯреЛрд░реЗрдЯ-рдкреНрд░рд╡реЗрд╢ рдХреНрд╖рдорддрд╛ рд╣реИ, рдЬрд╣рд╛рдВ рд╢реЗрдбреНрдпреВрд▓рд░ рд▓рд┐рдВрдХ рдХреА рдЧрддрд┐рд╢реАрд▓ рдмреИрдВрдбрд╡рд┐рдбреНрде рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдкреИрдХреЗрдЯ рд╢реЗрдбреНрдпреВрд▓рд┐рдВрдЧ рдХреЛ рдЕрдиреБрдХреВрд▓рд┐рдд рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░рддрд╛ рд╣реИред рдореИрдВ рдПрд▓рдЯреАрдИ рдореЛрдбреЗрдо рдХреЗ рд╕рд╛рде рд░рд╛рд╕реНрдкрдмреЗрд░реА рдкрд╛рдИ рдФрд░ рд░рд╛рд╕реНрдкрд┐рдпрди рдмрд╕реНрдЯрд░ рдХреЗ рдЙрдкрдпреЛрдЧ рдХреЛ рд▓рдХреНрд╖рд┐рдд рдХрд░ рд░рд╣рд╛ рд╣реВрдВ, рдЬрд╣рд╛рдВ рдмреИрдВрдбрд╡рд┐рдбреНрде рдЧрддрд┐рд╢реАрд▓ рд╣реИред рдкрд░реНрдпрд╛рдкреНрдд рддрд╛рдЬрд╛ iproute2 рдкреИрдХреЗрдЬ рд░рдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдмрд╕реНрдЯрд░ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред

рдХреНрдпрд╛ рдЖрдк sch_cake.ko рдореЙрдбреНрдпреВрд▓ рдЙрдкрд▓рдмреНрдз рдХрд░рд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдХреГрдкрдпрд╛ CONFIG_NET_SCH_CAKE=m рдХрд░реНрдиреЗрд▓ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдореЗрдВ рдЬреЛрдбрд╝ рд╕рдХрддреЗ рд╣реИрдВ?

Waiting for internal comment

рд╕рдмрд╕реЗ рдЙрдкрдпреЛрдЧреА рдЯрд┐рдкреНрдкрдгреА

рдПрдХ рд╡рд┐рд╕реНрддрд╛рд░рд┐рдд рдмреНрд░реЗрдХ рд▓реЗрдиреЗ рд╕реЗ рдПрдХ рдШрдВрдЯреЗ рдкрд╣рд▓реЗ рд╕реЙрдлреНрдЯрд╡реЗрдпрд░ рдореЗрдВ рдмрджрд▓рд╛рд╡ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдмрд╕реЗ рдЕрдЪреНрдЫрд╛ рд╕рдордп рдорд╛рдирд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рджреЗрдЦреЗрдВ https://github.com/raspberrypi/linux/commit/8408353fec8a07f322db1ab3e2960050a2c86946ред

рд╕рднреА 7 рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

рдЬреИрд╕рд╛ рдХрд┐ рдкрд┐рдЫрд▓реЗ рдЕрдВрдХ рдореЗрдВ рдЕрдиреБрд░реЛрдз рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ (https://github.com/raspberrypi/linux/issues/3006#issuecomment-500340074), рдЗрд╕ рдореЙрдбреНрдпреВрд▓ рдХреЗ рдирд┐рд░реНрдорд╛рдг рдХреЗ рдХреНрдпрд╛ рдирд┐рд╣рд┐рддрд╛рд░реНрде рд╣реИрдВ? рдХреНрдпрд╛ рдпрд╣ рдХреЗрд╡рд▓ рдПрдХ .ko рдореЙрдбреНрдпреВрд▓ рд╣реИ рдЬреЛ рдЬреЛрдбрд╝рд╛ рдЧрдпрд╛ рд╣реИ, рдпрд╛ рдЕрддрд┐рд░рд┐рдХреНрдд рдирд┐рд░реНрднрд░рддрд╛рдПрдВ рд╣реИрдВ?

рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдХреЗрд╡рд▓ .ko рдореЙрдбреНрдпреВрд▓ рд╣реА рдкрд░реНрдпрд╛рдкреНрдд рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдЕрднреА рдмрд╕реНрдЯрд░ рд╣реИред

рдореИрдВрдиреЗ рдЕрдкрдиреЗ Pi 2B 1.1 рд░рд╛рдЙрдЯрд░ рдкрд░ рд╕реНрд╡рдпрдВ CAKE рдХреА рдХреЛрд╢рд┐рд╢ рдХреАред

рдпрд╣ 1 рдпрд╛ 2 рдорд┐рдирдЯ рдореЗрдВ рддреЗрдЬреА рд╕реЗ рдмреВрдЯ рд╣реЛрдЧрд╛, рдХреНрдпреЛрдВрдХрд┐ рдХреЗрдХ рдПрдХ рдСрд▓-рдЗрди-рд╡рди рд╕реНрдЯрд╛рдЗрд▓ рдореЙрдбреНрдпреВрд▓ рд╣реИред рдореЗрд░рд╛ рдкреБрд░рд╛рдирд╛ рд╕реЗрдЯрдЕрдк hfsc + qfq + рдкрд╛рдИ рдерд╛, рдЬрд┐рд╕рдХреЗ рд▓рд┐рдП рддреАрди рдореЙрдбреНрдпреВрд▓ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ, рдФрд░ qfq рдореЙрдбреНрдпреВрд▓ рдХреЛ рд╕рдВрд░рдЪрдирд╛ рдХреЗ рдирд┐рд░реНрдорд╛рдг рдХреЗ рд▓рд┐рдП "for" рд╕реНрдЯреЗрдЯрдореЗрдВрдЯ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ, рдЬрд┐рд╕рдореЗрдВ рд▓рдЧрднрдЧ 5 рдорд┐рдирдЯ рд▓рдЧреЗрдВрдЧреЗред

рдХреЗрдХ рд╕рдкреЛрд░реНрдЯ рдбреАрдПрд╕рд╕реАрдкреА рдбрд┐рдлрд░реНрд╡ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдЯреЛрд░реЗрдВрдЯ рдмреЙрдХреНрд╕ рдмреЗрд╣рддрд░ рддрд░реАрдХреЗ рд╕реЗ рдЪрд▓рддреЗ рд╣реИрдВред

CAKE рдореЗрдВ TCP ACK рдлрд╝рд┐рд▓реНрдЯрд░ рд╣реИред рддреЛ рдПрдХ рд▓рд┐рдВрдХ рдкрд░ рдЬрд┐рд╕рдореЗрдВ рдЕрдкрд▓реЛрдб рдзреАрдорд╛ рд╣реИ рд▓реЗрдХрд┐рди рдбрд╛рдЙрдирд▓реЛрдб рддреЗрдЬ рд╣реИ, рдХреЗрдХ рдЕрдзрд┐рдХ рдкреНрд░рджрд░реНрд╢рди рджреЗрдЧрд╛ред рдпрд╣ рдПрдХ рдмреЗрд╣рддрд░ рд╡рд╛рдпрд░рд▓реЗрд╕ рдкреНрд░рджрд░реНрд╢рди рднреА рджреЗрдЧрд╛, рдХреНрдпреЛрдВрдХрд┐ рдЬреНрдпрд╛рджрд╛рддрд░, рд╡рд╛рдпрд░рд▓реЗрд╕ рдПрдкреА рдореЗрдВ рдЧреНрд░рд╛рд╣рдХреЛрдВ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдмреЗрд╣рддрд░ рдПрдВрдЯреАрдирд╛ рд╣реЛрддрд╛ рд╣реИред

@pelwell рдЗрд╕рдХреЗ рдПрдХ рдореЙрдбреНрдпреВрд▓ рдХреЗ рд░реВрдк рдореЗрдВ, рдХреНрдпрд╛ рдпрд╣ рдПрдХ рдореБрджреНрджрд╛ рд╣реЛрдЧрд╛?

рдПрдХ рд╡рд┐рд╕реНрддрд╛рд░рд┐рдд рдмреНрд░реЗрдХ рд▓реЗрдиреЗ рд╕реЗ рдПрдХ рдШрдВрдЯреЗ рдкрд╣рд▓реЗ рд╕реЙрдлреНрдЯрд╡реЗрдпрд░ рдореЗрдВ рдмрджрд▓рд╛рд╡ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдмрд╕реЗ рдЕрдЪреНрдЫрд╛ рд╕рдордп рдорд╛рдирд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рджреЗрдЦреЗрдВ https://github.com/raspberrypi/linux/commit/8408353fec8a07f322db1ab3e2960050a2c86946ред

рдореИрдВ рд░рд╛рд╕реНрдкрд┐рдпрди рдореЗрдВ рднреА рдХреЗрдХ рдХреА рдкреНрд░рддреАрдХреНрд╖рд╛ рдХрд░ рд░рд╣рд╛ рд╣реВрдБ :)

рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЖрдо рдЬрдирддрд╛ рдХреЗ рд▓рд┐рдП рдЬрд╛рд░реА рдХрд┐рдпрд╛ рдЧрдпрд╛ рдХрд╛рдо рд╣реИред рдореЗрд░реЗ рдЖрд░рдкреАрдЖрдИ рдмрдХреНрд╕реЗ рдореЗрдВ рд╕реЗ рдПрдХ рд╕реЗ рдЙрджрд╛рд╣рд░рдг, рдЖрдзрд┐рдХрд╛рд░рд┐рдХ рд░рд╛рд╕реНрдкрд┐рдпрди рдмрд╕реНрдЯрд░ рдЪрд▓ рд░рд╣рд╛ рд╣реИ:

# uname -rv
4.19.93-v7+ #1290 SMP Fri Jan 10 16:39:50 GMT 2020

# find /lib/modules/ -name '*cake*' | sort
/lib/modules/4.19.93+/kernel/net/sched/sch_cake.ko
/lib/modules/4.19.93-v7+/kernel/net/sched/sch_cake.ko
/lib/modules/4.19.93-v7l+/kernel/net/sched/sch_cake.ko
/lib/modules/4.19.93-v8+/kernel/net/sched/sch_cake.ko

рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП @pelwell рдзрдиреНрдпрд╡рд╛рдж!

@kucharskim @pelwell
рдзрдиреНрдпрд╡рд╛рдж, рдореИрдВрдиреЗ рд░рд╛рд╕реНрдкрд┐рдпрди рдкрд░ рдЗрд╕рдХреА рдкреБрд╖реНрдЯрд┐ рдХреА :)
рдорд╣рд╛рди рдФрд░ рд╕реБрдЦреАред

рдХреНрдпрд╛ рдпрд╣ рдкреГрд╖реНрда рдЙрдкрдпреЛрдЧреА рдерд╛?
0 / 5 - 0 рд░реЗрдЯрд┐рдВрдЧреНрд╕

рд╕рдВрдмрдВрдзрд┐рдд рдореБрджреНрджреЛрдВ

pvouzis picture pvouzis  ┬╖  9рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

ncguk picture ncguk  ┬╖  4рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

steros76 picture steros76  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

XECDesign picture XECDesign  ┬╖  6рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

pymumu picture pymumu  ┬╖  4рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ