Commit da58ea3
bpf: Introduce BPF_F_CPU flag for percpu_array maps
Introduce support for the BPF_F_CPU flag in percpu_array maps to allow
updating values for specified CPU or for all CPUs with a single value.
This enhancement enables:
* Efficient update of all CPUs using a single value when cpu == (u32)~0.
* Targeted update or lookup for a specified CPU otherwise.
The flag is passed via:
* map_flags in bpf_percpu_array_update() along with embedded cpu field.
* elem_flags in generic_map_update_batch() along with embedded cpu field.
Signed-off-by: Leon Hwang <[email protected]>1 parent 1a33a8f commit da58ea3
File tree
5 files changed
+103
-43
lines changed- include
- linux
- uapi/linux
- kernel/bpf
- tools/include/uapi/linux
5 files changed
+103
-43
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
2692 | 2692 | | |
2693 | 2693 | | |
2694 | 2694 | | |
2695 | | - | |
| 2695 | + | |
| 2696 | + | |
2696 | 2697 | | |
2697 | 2698 | | |
2698 | 2699 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1372 | 1372 | | |
1373 | 1373 | | |
1374 | 1374 | | |
| 1375 | + | |
| 1376 | + | |
| 1377 | + | |
| 1378 | + | |
| 1379 | + | |
| 1380 | + | |
1375 | 1381 | | |
1376 | 1382 | | |
1377 | 1383 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
295 | 295 | | |
296 | 296 | | |
297 | 297 | | |
298 | | - | |
| 298 | + | |
299 | 299 | | |
300 | 300 | | |
301 | 301 | | |
302 | 302 | | |
303 | | - | |
304 | | - | |
| 303 | + | |
| 304 | + | |
305 | 305 | | |
306 | 306 | | |
307 | 307 | | |
308 | 308 | | |
| 309 | + | |
| 310 | + | |
| 311 | + | |
| 312 | + | |
| 313 | + | |
| 314 | + | |
| 315 | + | |
309 | 316 | | |
310 | 317 | | |
311 | 318 | | |
312 | 319 | | |
313 | 320 | | |
314 | 321 | | |
315 | 322 | | |
316 | | - | |
317 | | - | |
318 | | - | |
319 | | - | |
| 323 | + | |
| 324 | + | |
| 325 | + | |
| 326 | + | |
| 327 | + | |
| 328 | + | |
| 329 | + | |
| 330 | + | |
| 331 | + | |
320 | 332 | | |
321 | 333 | | |
322 | 334 | | |
| |||
387 | 399 | | |
388 | 400 | | |
389 | 401 | | |
390 | | - | |
391 | | - | |
| 402 | + | |
| 403 | + | |
392 | 404 | | |
393 | | - | |
| 405 | + | |
| 406 | + | |
| 407 | + | |
394 | 408 | | |
395 | 409 | | |
396 | 410 | | |
| 411 | + | |
| 412 | + | |
| 413 | + | |
| 414 | + | |
| 415 | + | |
397 | 416 | | |
398 | 417 | | |
399 | 418 | | |
| |||
411 | 430 | | |
412 | 431 | | |
413 | 432 | | |
414 | | - | |
415 | | - | |
| 433 | + | |
| 434 | + | |
416 | 435 | | |
417 | | - | |
| 436 | + | |
| 437 | + | |
| 438 | + | |
| 439 | + | |
| 440 | + | |
| 441 | + | |
| 442 | + | |
| 443 | + | |
| 444 | + | |
| 445 | + | |
418 | 446 | | |
419 | 447 | | |
420 | 448 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
131 | 131 | | |
132 | 132 | | |
133 | 133 | | |
134 | | - | |
| 134 | + | |
135 | 135 | | |
| 136 | + | |
| 137 | + | |
| 138 | + | |
136 | 139 | | |
137 | 140 | | |
138 | 141 | | |
| |||
314 | 317 | | |
315 | 318 | | |
316 | 319 | | |
317 | | - | |
| 320 | + | |
318 | 321 | | |
319 | 322 | | |
320 | 323 | | |
| |||
1669 | 1672 | | |
1670 | 1673 | | |
1671 | 1674 | | |
1672 | | - | |
| 1675 | + | |
| 1676 | + | |
| 1677 | + | |
| 1678 | + | |
1673 | 1679 | | |
1674 | 1680 | | |
1675 | 1681 | | |
| |||
1679 | 1685 | | |
1680 | 1686 | | |
1681 | 1687 | | |
1682 | | - | |
| 1688 | + | |
1683 | 1689 | | |
1684 | 1690 | | |
1685 | 1691 | | |
1686 | 1692 | | |
1687 | 1693 | | |
1688 | 1694 | | |
1689 | 1695 | | |
1690 | | - | |
| 1696 | + | |
1691 | 1697 | | |
1692 | 1698 | | |
1693 | 1699 | | |
| |||
1744 | 1750 | | |
1745 | 1751 | | |
1746 | 1752 | | |
1747 | | - | |
| 1753 | + | |
1748 | 1754 | | |
1749 | 1755 | | |
1750 | 1756 | | |
1751 | 1757 | | |
1752 | 1758 | | |
| 1759 | + | |
| 1760 | + | |
| 1761 | + | |
| 1762 | + | |
| 1763 | + | |
1753 | 1764 | | |
1754 | 1765 | | |
1755 | 1766 | | |
1756 | 1767 | | |
1757 | 1768 | | |
1758 | 1769 | | |
1759 | | - | |
| 1770 | + | |
1760 | 1771 | | |
1761 | 1772 | | |
1762 | 1773 | | |
| |||
1942 | 1953 | | |
1943 | 1954 | | |
1944 | 1955 | | |
| 1956 | + | |
| 1957 | + | |
| 1958 | + | |
| 1959 | + | |
| 1960 | + | |
| 1961 | + | |
| 1962 | + | |
| 1963 | + | |
| 1964 | + | |
| 1965 | + | |
| 1966 | + | |
| 1967 | + | |
| 1968 | + | |
| 1969 | + | |
| 1970 | + | |
| 1971 | + | |
| 1972 | + | |
| 1973 | + | |
| 1974 | + | |
1945 | 1975 | | |
1946 | 1976 | | |
1947 | 1977 | | |
| |||
1952 | 1982 | | |
1953 | 1983 | | |
1954 | 1984 | | |
1955 | | - | |
1956 | | - | |
1957 | | - | |
1958 | | - | |
1959 | | - | |
1960 | | - | |
1961 | | - | |
| 1985 | + | |
| 1986 | + | |
| 1987 | + | |
1962 | 1988 | | |
1963 | | - | |
| 1989 | + | |
1964 | 1990 | | |
1965 | 1991 | | |
1966 | 1992 | | |
| |||
1986 | 2012 | | |
1987 | 2013 | | |
1988 | 2014 | | |
1989 | | - | |
1990 | | - | |
1991 | | - | |
| 2015 | + | |
1992 | 2016 | | |
1993 | 2017 | | |
1994 | 2018 | | |
| |||
2015 | 2039 | | |
2016 | 2040 | | |
2017 | 2041 | | |
2018 | | - | |
2019 | | - | |
2020 | | - | |
2021 | | - | |
2022 | | - | |
2023 | | - | |
| 2042 | + | |
| 2043 | + | |
| 2044 | + | |
2024 | 2045 | | |
2025 | | - | |
| 2046 | + | |
2026 | 2047 | | |
2027 | 2048 | | |
2028 | 2049 | | |
| |||
2056 | 2077 | | |
2057 | 2078 | | |
2058 | 2079 | | |
2059 | | - | |
2060 | | - | |
2061 | | - | |
| 2080 | + | |
2062 | 2081 | | |
2063 | 2082 | | |
2064 | 2083 | | |
| |||
2144 | 2163 | | |
2145 | 2164 | | |
2146 | 2165 | | |
2147 | | - | |
| 2166 | + | |
2148 | 2167 | | |
2149 | 2168 | | |
2150 | 2169 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1372 | 1372 | | |
1373 | 1373 | | |
1374 | 1374 | | |
| 1375 | + | |
| 1376 | + | |
| 1377 | + | |
| 1378 | + | |
| 1379 | + | |
| 1380 | + | |
1375 | 1381 | | |
1376 | 1382 | | |
1377 | 1383 | | |
| |||
0 commit comments