Loading .mailmap +2 −0 Original line number Diff line number Diff line Loading @@ -265,7 +265,9 @@ Krzysztof Kozlowski <krzk@kernel.org> <k.kozlowski@samsung.com> Krzysztof Kozlowski <krzk@kernel.org> <krzysztof.kozlowski@canonical.com> Kuninori Morimoto <kuninori.morimoto.gx@renesas.com> Kuogee Hsieh <quic_khsieh@quicinc.com> <khsieh@codeaurora.org> Leonard Crestez <leonard.crestez@nxp.com> Leonard Crestez <cdleonard@gmail.com> Leonardo Bras <leobras.c@gmail.com> <leonardo@linux.ibm.com> Leonard Göhrs <l.goehrs@pengutronix.de> Leonid I Ananiev <leonid.i.ananiev@intel.com> Leon Romanovsky <leon@kernel.org> <leon@leon.nu> Leon Romanovsky <leon@kernel.org> <leonro@mellanox.com> Loading Documentation/devicetree/bindings/interrupt-controller/loongarch,cpu-interrupt-controller.yaml→Documentation/devicetree/bindings/interrupt-controller/loongson,cpu-interrupt-controller.yaml +3 −3 Original line number Diff line number Diff line # SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause %YAML 1.2 --- $id: http://devicetree.org/schemas/interrupt-controller/loongarch,cpu-interrupt-controller.yaml# $id: http://devicetree.org/schemas/interrupt-controller/loongson,cpu-interrupt-controller.yaml# $schema: http://devicetree.org/meta-schemas/core.yaml# title: LoongArch CPU Interrupt Controller Loading @@ -11,7 +11,7 @@ maintainers: properties: compatible: const: loongarch,cpu-interrupt-controller const: loongson,cpu-interrupt-controller '#interrupt-cells': const: 1 Loading @@ -28,7 +28,7 @@ required: examples: - | interrupt-controller { compatible = "loongarch,cpu-interrupt-controller"; compatible = "loongson,cpu-interrupt-controller"; #interrupt-cells = <1>; interrupt-controller; }; Documentation/devicetree/bindings/serial/renesas,scif.yaml +2 −2 Original line number Diff line number Diff line Loading @@ -92,7 +92,7 @@ properties: - description: Error interrupt - description: Receive buffer full interrupt - description: Transmit buffer empty interrupt - description: Transmit End interrupt - description: Break interrupt - items: - description: Error interrupt - description: Receive buffer full interrupt Loading @@ -107,7 +107,7 @@ properties: - const: eri - const: rxi - const: txi - const: tei - const: bri - items: - const: eri - const: rxi Loading Documentation/mm/zsmalloc.rst +76 −59 Original line number Diff line number Diff line Loading @@ -39,13 +39,12 @@ With CONFIG_ZSMALLOC_STAT, we could see zsmalloc internal information via # cat /sys/kernel/debug/zsmalloc/zram0/classes class size almost_full almost_empty obj_allocated obj_used pages_used pages_per_zspage class size 10% 20% 30% 40% 50% 60% 70% 80% 90% 99% 100% obj_allocated obj_used pages_used pages_per_zspage freeable ... ... 9 176 0 1 186 129 8 4 10 192 1 0 2880 2872 135 3 11 208 0 1 819 795 42 2 12 224 0 1 219 159 12 4 30 512 0 12 4 1 0 1 0 0 1 0 414 3464 3346 433 1 14 31 528 2 7 2 2 1 0 1 0 0 2 117 4154 3793 536 4 44 32 544 6 3 4 1 2 1 0 0 0 1 260 4170 3965 556 2 26 ... ... Loading @@ -54,10 +53,28 @@ class index size object size zspage stores almost_empty the number of ZS_ALMOST_EMPTY zspages(see below) almost_full the number of ZS_ALMOST_FULL zspages(see below) 10% the number of zspages with usage ratio less than 10% (see below) 20% the number of zspages with usage ratio between 10% and 20% 30% the number of zspages with usage ratio between 20% and 30% 40% the number of zspages with usage ratio between 30% and 40% 50% the number of zspages with usage ratio between 40% and 50% 60% the number of zspages with usage ratio between 50% and 60% 70% the number of zspages with usage ratio between 60% and 70% 80% the number of zspages with usage ratio between 70% and 80% 90% the number of zspages with usage ratio between 80% and 90% 99% the number of zspages with usage ratio between 90% and 99% 100% the number of zspages with usage ratio 100% obj_allocated the number of objects allocated obj_used Loading @@ -66,19 +83,14 @@ pages_used the number of pages allocated for the class pages_per_zspage the number of 0-order pages to make a zspage freeable the approximate number of pages class compaction can free We assign a zspage to ZS_ALMOST_EMPTY fullness group when n <= N / f, where * n = number of allocated objects * N = total number of objects zspage can store * f = fullness_threshold_frac(ie, 4 at the moment) Similarly, we assign zspage to: * ZS_ALMOST_FULL when n > N / f * ZS_EMPTY when n == 0 * ZS_FULL when n == N Each zspage maintains inuse counter which keeps track of the number of objects stored in the zspage. The inuse counter determines the zspage's "fullness group" which is calculated as the ratio of the "inuse" objects to the total number of objects the zspage can hold (objs_per_zspage). The closer the inuse counter is to objs_per_zspage, the better. Internals ========= Loading @@ -94,10 +106,10 @@ of objects that each zspage can store. For instance, consider the following size classes::: class size almost_full almost_empty obj_allocated obj_used pages_used pages_per_zspage freeable class size 10% .... 100% obj_allocated obj_used pages_used pages_per_zspage freeable ... 94 1536 0 0 0 0 0 3 0 100 1632 0 0 0 0 0 2 0 94 1536 0 .... 0 0 0 0 3 0 100 1632 0 .... 0 0 0 0 2 0 ... Loading Loading @@ -134,10 +146,11 @@ reduces memory wastage. Let's take a closer look at the bottom of `/sys/kernel/debug/zsmalloc/zramX/classes`::: class size almost_full almost_empty obj_allocated obj_used pages_used pages_per_zspage freeable class size 10% .... 100% obj_allocated obj_used pages_used pages_per_zspage freeable ... 202 3264 0 0 0 0 0 4 0 254 4096 0 0 0 0 0 1 0 202 3264 0 .. 0 0 0 0 4 0 254 4096 0 .. 0 0 0 0 1 0 ... Size class #202 stores objects of size 3264 bytes and has a maximum of 4 pages Loading @@ -151,40 +164,42 @@ efficient storage of large objects. For zspage chain size of 8, huge class watermark becomes 3632 bytes::: class size almost_full almost_empty obj_allocated obj_used pages_used pages_per_zspage freeable class size 10% .... 100% obj_allocated obj_used pages_used pages_per_zspage freeable ... 202 3264 0 0 0 0 0 4 0 211 3408 0 0 0 0 0 5 0 217 3504 0 0 0 0 0 6 0 222 3584 0 0 0 0 0 7 0 225 3632 0 0 0 0 0 8 0 254 4096 0 0 0 0 0 1 0 202 3264 0 .. 0 0 0 0 4 0 211 3408 0 .. 0 0 0 0 5 0 217 3504 0 .. 0 0 0 0 6 0 222 3584 0 .. 0 0 0 0 7 0 225 3632 0 .. 0 0 0 0 8 0 254 4096 0 .. 0 0 0 0 1 0 ... For zspage chain size of 16, huge class watermark becomes 3840 bytes::: class size almost_full almost_empty obj_allocated obj_used pages_used pages_per_zspage freeable class size 10% .... 100% obj_allocated obj_used pages_used pages_per_zspage freeable ... 202 3264 0 0 0 0 0 4 0 206 3328 0 0 0 0 0 13 0 207 3344 0 0 0 0 0 9 0 208 3360 0 0 0 0 0 14 0 211 3408 0 0 0 0 0 5 0 212 3424 0 0 0 0 0 16 0 214 3456 0 0 0 0 0 11 0 217 3504 0 0 0 0 0 6 0 219 3536 0 0 0 0 0 13 0 222 3584 0 0 0 0 0 7 0 223 3600 0 0 0 0 0 15 0 225 3632 0 0 0 0 0 8 0 228 3680 0 0 0 0 0 9 0 230 3712 0 0 0 0 0 10 0 232 3744 0 0 0 0 0 11 0 234 3776 0 0 0 0 0 12 0 235 3792 0 0 0 0 0 13 0 236 3808 0 0 0 0 0 14 0 238 3840 0 0 0 0 0 15 0 254 4096 0 0 0 0 0 1 0 202 3264 0 .. 0 0 0 0 4 0 206 3328 0 .. 0 0 0 0 13 0 207 3344 0 .. 0 0 0 0 9 0 208 3360 0 .. 0 0 0 0 14 0 211 3408 0 .. 0 0 0 0 5 0 212 3424 0 .. 0 0 0 0 16 0 214 3456 0 .. 0 0 0 0 11 0 217 3504 0 .. 0 0 0 0 6 0 219 3536 0 .. 0 0 0 0 13 0 222 3584 0 .. 0 0 0 0 7 0 223 3600 0 .. 0 0 0 0 15 0 225 3632 0 .. 0 0 0 0 8 0 228 3680 0 .. 0 0 0 0 9 0 230 3712 0 .. 0 0 0 0 10 0 232 3744 0 .. 0 0 0 0 11 0 234 3776 0 .. 0 0 0 0 12 0 235 3792 0 .. 0 0 0 0 13 0 236 3808 0 .. 0 0 0 0 14 0 238 3840 0 .. 0 0 0 0 15 0 254 4096 0 .. 0 0 0 0 1 0 ... Overall the combined zspage chain size effect on zsmalloc pool configuration::: Loading Loading @@ -214,9 +229,10 @@ zram as a build artifacts storage (Linux kernel compilation). zsmalloc classes stats::: class size almost_full almost_empty obj_allocated obj_used pages_used pages_per_zspage freeable class size 10% .... 100% obj_allocated obj_used pages_used pages_per_zspage freeable ... Total 13 51 413836 412973 159955 3 Total 13 .. 51 413836 412973 159955 3 zram mm_stat::: Loading @@ -227,9 +243,10 @@ zram as a build artifacts storage (Linux kernel compilation). zsmalloc classes stats::: class size almost_full almost_empty obj_allocated obj_used pages_used pages_per_zspage freeable class size 10% .... 100% obj_allocated obj_used pages_used pages_per_zspage freeable ... Total 18 87 414852 412978 156666 0 Total 18 .. 87 414852 412978 156666 0 zram mm_stat::: Loading Documentation/networking/ip-sysctl.rst +2 −0 Original line number Diff line number Diff line Loading @@ -340,6 +340,8 @@ tcp_app_win - INTEGER Reserve max(window/2^tcp_app_win, mss) of window for application buffer. Value 0 is special, it means that nothing is reserved. Possible values are [0, 31], inclusive. Default: 31 tcp_autocorking - BOOLEAN Loading Loading
.mailmap +2 −0 Original line number Diff line number Diff line Loading @@ -265,7 +265,9 @@ Krzysztof Kozlowski <krzk@kernel.org> <k.kozlowski@samsung.com> Krzysztof Kozlowski <krzk@kernel.org> <krzysztof.kozlowski@canonical.com> Kuninori Morimoto <kuninori.morimoto.gx@renesas.com> Kuogee Hsieh <quic_khsieh@quicinc.com> <khsieh@codeaurora.org> Leonard Crestez <leonard.crestez@nxp.com> Leonard Crestez <cdleonard@gmail.com> Leonardo Bras <leobras.c@gmail.com> <leonardo@linux.ibm.com> Leonard Göhrs <l.goehrs@pengutronix.de> Leonid I Ananiev <leonid.i.ananiev@intel.com> Leon Romanovsky <leon@kernel.org> <leon@leon.nu> Leon Romanovsky <leon@kernel.org> <leonro@mellanox.com> Loading
Documentation/devicetree/bindings/interrupt-controller/loongarch,cpu-interrupt-controller.yaml→Documentation/devicetree/bindings/interrupt-controller/loongson,cpu-interrupt-controller.yaml +3 −3 Original line number Diff line number Diff line # SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause %YAML 1.2 --- $id: http://devicetree.org/schemas/interrupt-controller/loongarch,cpu-interrupt-controller.yaml# $id: http://devicetree.org/schemas/interrupt-controller/loongson,cpu-interrupt-controller.yaml# $schema: http://devicetree.org/meta-schemas/core.yaml# title: LoongArch CPU Interrupt Controller Loading @@ -11,7 +11,7 @@ maintainers: properties: compatible: const: loongarch,cpu-interrupt-controller const: loongson,cpu-interrupt-controller '#interrupt-cells': const: 1 Loading @@ -28,7 +28,7 @@ required: examples: - | interrupt-controller { compatible = "loongarch,cpu-interrupt-controller"; compatible = "loongson,cpu-interrupt-controller"; #interrupt-cells = <1>; interrupt-controller; };
Documentation/devicetree/bindings/serial/renesas,scif.yaml +2 −2 Original line number Diff line number Diff line Loading @@ -92,7 +92,7 @@ properties: - description: Error interrupt - description: Receive buffer full interrupt - description: Transmit buffer empty interrupt - description: Transmit End interrupt - description: Break interrupt - items: - description: Error interrupt - description: Receive buffer full interrupt Loading @@ -107,7 +107,7 @@ properties: - const: eri - const: rxi - const: txi - const: tei - const: bri - items: - const: eri - const: rxi Loading
Documentation/mm/zsmalloc.rst +76 −59 Original line number Diff line number Diff line Loading @@ -39,13 +39,12 @@ With CONFIG_ZSMALLOC_STAT, we could see zsmalloc internal information via # cat /sys/kernel/debug/zsmalloc/zram0/classes class size almost_full almost_empty obj_allocated obj_used pages_used pages_per_zspage class size 10% 20% 30% 40% 50% 60% 70% 80% 90% 99% 100% obj_allocated obj_used pages_used pages_per_zspage freeable ... ... 9 176 0 1 186 129 8 4 10 192 1 0 2880 2872 135 3 11 208 0 1 819 795 42 2 12 224 0 1 219 159 12 4 30 512 0 12 4 1 0 1 0 0 1 0 414 3464 3346 433 1 14 31 528 2 7 2 2 1 0 1 0 0 2 117 4154 3793 536 4 44 32 544 6 3 4 1 2 1 0 0 0 1 260 4170 3965 556 2 26 ... ... Loading @@ -54,10 +53,28 @@ class index size object size zspage stores almost_empty the number of ZS_ALMOST_EMPTY zspages(see below) almost_full the number of ZS_ALMOST_FULL zspages(see below) 10% the number of zspages with usage ratio less than 10% (see below) 20% the number of zspages with usage ratio between 10% and 20% 30% the number of zspages with usage ratio between 20% and 30% 40% the number of zspages with usage ratio between 30% and 40% 50% the number of zspages with usage ratio between 40% and 50% 60% the number of zspages with usage ratio between 50% and 60% 70% the number of zspages with usage ratio between 60% and 70% 80% the number of zspages with usage ratio between 70% and 80% 90% the number of zspages with usage ratio between 80% and 90% 99% the number of zspages with usage ratio between 90% and 99% 100% the number of zspages with usage ratio 100% obj_allocated the number of objects allocated obj_used Loading @@ -66,19 +83,14 @@ pages_used the number of pages allocated for the class pages_per_zspage the number of 0-order pages to make a zspage freeable the approximate number of pages class compaction can free We assign a zspage to ZS_ALMOST_EMPTY fullness group when n <= N / f, where * n = number of allocated objects * N = total number of objects zspage can store * f = fullness_threshold_frac(ie, 4 at the moment) Similarly, we assign zspage to: * ZS_ALMOST_FULL when n > N / f * ZS_EMPTY when n == 0 * ZS_FULL when n == N Each zspage maintains inuse counter which keeps track of the number of objects stored in the zspage. The inuse counter determines the zspage's "fullness group" which is calculated as the ratio of the "inuse" objects to the total number of objects the zspage can hold (objs_per_zspage). The closer the inuse counter is to objs_per_zspage, the better. Internals ========= Loading @@ -94,10 +106,10 @@ of objects that each zspage can store. For instance, consider the following size classes::: class size almost_full almost_empty obj_allocated obj_used pages_used pages_per_zspage freeable class size 10% .... 100% obj_allocated obj_used pages_used pages_per_zspage freeable ... 94 1536 0 0 0 0 0 3 0 100 1632 0 0 0 0 0 2 0 94 1536 0 .... 0 0 0 0 3 0 100 1632 0 .... 0 0 0 0 2 0 ... Loading Loading @@ -134,10 +146,11 @@ reduces memory wastage. Let's take a closer look at the bottom of `/sys/kernel/debug/zsmalloc/zramX/classes`::: class size almost_full almost_empty obj_allocated obj_used pages_used pages_per_zspage freeable class size 10% .... 100% obj_allocated obj_used pages_used pages_per_zspage freeable ... 202 3264 0 0 0 0 0 4 0 254 4096 0 0 0 0 0 1 0 202 3264 0 .. 0 0 0 0 4 0 254 4096 0 .. 0 0 0 0 1 0 ... Size class #202 stores objects of size 3264 bytes and has a maximum of 4 pages Loading @@ -151,40 +164,42 @@ efficient storage of large objects. For zspage chain size of 8, huge class watermark becomes 3632 bytes::: class size almost_full almost_empty obj_allocated obj_used pages_used pages_per_zspage freeable class size 10% .... 100% obj_allocated obj_used pages_used pages_per_zspage freeable ... 202 3264 0 0 0 0 0 4 0 211 3408 0 0 0 0 0 5 0 217 3504 0 0 0 0 0 6 0 222 3584 0 0 0 0 0 7 0 225 3632 0 0 0 0 0 8 0 254 4096 0 0 0 0 0 1 0 202 3264 0 .. 0 0 0 0 4 0 211 3408 0 .. 0 0 0 0 5 0 217 3504 0 .. 0 0 0 0 6 0 222 3584 0 .. 0 0 0 0 7 0 225 3632 0 .. 0 0 0 0 8 0 254 4096 0 .. 0 0 0 0 1 0 ... For zspage chain size of 16, huge class watermark becomes 3840 bytes::: class size almost_full almost_empty obj_allocated obj_used pages_used pages_per_zspage freeable class size 10% .... 100% obj_allocated obj_used pages_used pages_per_zspage freeable ... 202 3264 0 0 0 0 0 4 0 206 3328 0 0 0 0 0 13 0 207 3344 0 0 0 0 0 9 0 208 3360 0 0 0 0 0 14 0 211 3408 0 0 0 0 0 5 0 212 3424 0 0 0 0 0 16 0 214 3456 0 0 0 0 0 11 0 217 3504 0 0 0 0 0 6 0 219 3536 0 0 0 0 0 13 0 222 3584 0 0 0 0 0 7 0 223 3600 0 0 0 0 0 15 0 225 3632 0 0 0 0 0 8 0 228 3680 0 0 0 0 0 9 0 230 3712 0 0 0 0 0 10 0 232 3744 0 0 0 0 0 11 0 234 3776 0 0 0 0 0 12 0 235 3792 0 0 0 0 0 13 0 236 3808 0 0 0 0 0 14 0 238 3840 0 0 0 0 0 15 0 254 4096 0 0 0 0 0 1 0 202 3264 0 .. 0 0 0 0 4 0 206 3328 0 .. 0 0 0 0 13 0 207 3344 0 .. 0 0 0 0 9 0 208 3360 0 .. 0 0 0 0 14 0 211 3408 0 .. 0 0 0 0 5 0 212 3424 0 .. 0 0 0 0 16 0 214 3456 0 .. 0 0 0 0 11 0 217 3504 0 .. 0 0 0 0 6 0 219 3536 0 .. 0 0 0 0 13 0 222 3584 0 .. 0 0 0 0 7 0 223 3600 0 .. 0 0 0 0 15 0 225 3632 0 .. 0 0 0 0 8 0 228 3680 0 .. 0 0 0 0 9 0 230 3712 0 .. 0 0 0 0 10 0 232 3744 0 .. 0 0 0 0 11 0 234 3776 0 .. 0 0 0 0 12 0 235 3792 0 .. 0 0 0 0 13 0 236 3808 0 .. 0 0 0 0 14 0 238 3840 0 .. 0 0 0 0 15 0 254 4096 0 .. 0 0 0 0 1 0 ... Overall the combined zspage chain size effect on zsmalloc pool configuration::: Loading Loading @@ -214,9 +229,10 @@ zram as a build artifacts storage (Linux kernel compilation). zsmalloc classes stats::: class size almost_full almost_empty obj_allocated obj_used pages_used pages_per_zspage freeable class size 10% .... 100% obj_allocated obj_used pages_used pages_per_zspage freeable ... Total 13 51 413836 412973 159955 3 Total 13 .. 51 413836 412973 159955 3 zram mm_stat::: Loading @@ -227,9 +243,10 @@ zram as a build artifacts storage (Linux kernel compilation). zsmalloc classes stats::: class size almost_full almost_empty obj_allocated obj_used pages_used pages_per_zspage freeable class size 10% .... 100% obj_allocated obj_used pages_used pages_per_zspage freeable ... Total 18 87 414852 412978 156666 0 Total 18 .. 87 414852 412978 156666 0 zram mm_stat::: Loading
Documentation/networking/ip-sysctl.rst +2 −0 Original line number Diff line number Diff line Loading @@ -340,6 +340,8 @@ tcp_app_win - INTEGER Reserve max(window/2^tcp_app_win, mss) of window for application buffer. Value 0 is special, it means that nothing is reserved. Possible values are [0, 31], inclusive. Default: 31 tcp_autocorking - BOOLEAN Loading