diff --git a/_posts/2024-09-09-12-58-42-rvlwn-108.md b/_posts/2024-09-09-12-58-42-rvlwn-108.md
new file mode 100644
index 000000000..d0748cf38
--- /dev/null
+++ b/_posts/2024-09-09-12-58-42-rvlwn-108.md
@@ -0,0 +1,748 @@
+---
+layout: weekly
+author: '呀呀呀'
+title: 'RISC-V Linux 内核及周边技术动态第 108 期'
+draft: false
+group: 'news'
+album: 'RISC-V Linux'
+license: 'cc-by-nc-nd-4.0'
+permalink: /rvlwn-108/
+description: 'RISC-V Linux 内核及周边技术动态第 108 期'
+category:
+ - 开源项目
+ - Risc-V
+tags:
+ - Linux
+ - RISC-V
+ - PREEMPT_RT
+ - PWM
+ - vmtest
+---
+
+> 时间:20240908
+> 编辑:晓瑜
+> 仓库:[RISC-V Linux 内核技术调研活动](https://gitee.com/tinylab/riscv-linux)
+> 赞助:PLCT Lab, ISCAS
+
+## 内核动态
+
+### RISC-V 架构支持
+
+**[v1: Allow to enable PREEMPT_RT.](http://lore.kernel.org/linux-riscv/20240906111841.562402-1-bigeasy@linutronix.de/)**
+
+> The printk bits required for PREEMPT_RT are sitting in linux-next.
+
+**[v1: pwm: Add pwm driver for Sophgo SG2042](http://lore.kernel.org/linux-riscv/cover.1725536870.git.unicorn_wang@outlook.com/)**
+
+> Add driver for pwm controller of Sophgo SG2042 SoC.
+
+**[v3: bpf-next: Local vmtest enhancement and RV64 enabled](http://lore.kernel.org/linux-riscv/20240905081401.1894789-1-pulehui@huaweicloud.com/)**
+
+> Patch 1-3 fix some problem about bpf selftests. Patch 4 add local rootfs
+> image support for vmtest. Patch 5 enable cross-platform testing for
+> vmtest. Patch 6-10 enable vmtest on RV64.
+
+**[v1: pinctrl: k210: Make (p)clk local to k210_fpioa_probe()](http://lore.kernel.org/linux-riscv/77f543046d4d5c19206f829ddcf8e093d3e3f6da.1725440917.git.geert+renesas@glider.be/)**
+
+> There were never any users of k210_fpioa_data.clk and
+> k210_fpioa_data.pclk outside k210_fpioa_probe().
+
+**[v1: add function arguments to ftrace](http://lore.kernel.org/linux-riscv/20240904065908.1009086-1-svens@linux.ibm.com/)**
+
+> These patches add support for printing function arguments in ftrace.
+
+**[v1: -next: riscv: Use LIST_HEAD() to simplify code](http://lore.kernel.org/linux-riscv/20240904013344.2026738-1-ruanjinjie@huawei.com/)**
+
+> list_head can be initialized automatically with LIST_HEAD()
+> instead of calling INIT_LIST_HEAD().
+
+**[GIT PULL: RISC-V Sophgo Devicetrees for v6.12](http://lore.kernel.org/linux-riscv/MA0P287MB28228F4FC59B057DF57D9A11FE9C2@MA0P287MB2822.INDP287.PROD.OUTLOOK.COM/)**
+
+> Please pull dt changes for RISC-V/Sophgo.
+
+**[v2: riscv: Disable preemption while handling PR_RISCV_CTX_SW_FENCEI_OFF](http://lore.kernel.org/linux-riscv/20240903-fix_fencei_optimization-v2-1-8025f20171fc@rivosinc.com/)**
+
+> The icache will be flushed in switch_to() if force_icache_flush is true,
+> or in flush_icache_deferred() if icache_stale_mask is set.
+
+**[v2: i2c: designware: Group all DesignWare drivers under a single option](http://lore.kernel.org/linux-riscv/20240903142506.3444628-1-heikki.krogerus@linux.intel.com/)**
+
+> This is a proposal for Kconfig improvement regarding the Synopsys
+> DesignWare I2C adapter driver.
+
+**[v4: riscv: spacemit: add pinctrl support to K1 SoC](http://lore.kernel.org/linux-riscv/20240903-02-k1-pinctrl-v4-0-d76c00a33b2b@gentoo.org/)**
+
+> This series adds pinctrl support to SpacemiT's K1 SoC, the controller
+> uses a single register to describe all pin functions, including
+> bias pull up/down, drive strength, schmitter trigger, slew rate,
+> strong pull-up, mux mode.
+
+**[v1: pinctrl: Add T-Head TH1520 SoC pin controllers](http://lore.kernel.org/linux-riscv/20240902-th1520-pinctrl-v1-0-639bf83ef50a@tenstorrent.com/)**
+
+> This adds a pin control driver created by Emil for the T-Head TH1520
+> RISC-V SoC used on the Lichee Pi 4A and BeagleV Ahead boards and
+> updates the device trees to make use of it.
+
+**[v1: -next: irqchip/sifive-plic: Make use of __assign_bit() API](http://lore.kernel.org/linux-riscv/20240902130824.2878644-1-lihongbo22@huawei.com/)**
+
+> We have for some time the __assign_bit() API to replace
+> open coded
+
+**[v13: riscv: sophgo: add dmamux support for Sophgo CV1800/SG2000 SoCs](http://lore.kernel.org/linux-riscv/IA1PR20MB49539E5AB43E44E9DE5473F1BB922@IA1PR20MB4953.namprd20.prod.outlook.com/)**
+
+> Add dma multiplexer support for the Sophgo CV1800/SG2000 SoCs.
+
+**[v4: Enable serial NOR flash on RZ/G2UL SMARC EVK](http://lore.kernel.org/linux-riscv/20240901183422.31600-1-biju.das.jz@bp.renesas.com/)**
+
+> This patch series aims to enable serial NOR flash on RZ/G2UL SMARC EVK.
+
+### LoongArch 架构支持
+
+**[v1: smp: Mark smp_prepare_boot_cpu() __init](http://lore.kernel.org/loongarch/20240907082720.452148-1-maobibo@loongson.cn/)**
+
+> Function smp_prepare_boot_cpu() is only called at boot stage, here
+> mark it as __init.
+
+**[v1: Consolidate IO memcpy functions](http://lore.kernel.org/loongarch/20240906114151.519028-1-jvetter@kalrayinc.com/)**
+
+> Several architectures have almost the same implementation
+> for__memcpy_toio, __memcpy_fromio and memset_io.
+
+**[v4: LoongArch/percpu: Simplify _percpu_read() and _percpu_write()](http://lore.kernel.org/loongarch/20240906065807.1103275-1-ubizjak@gmail.com/)**
+
+> _percpu_read() and _percpu_write() macros call __percpu_read()
+> and __percpu_write() static inline functions that result in a single
+> assembly instruction.
+
+**[v3: Add EDAC driver for loongson memory controller](http://lore.kernel.org/loongarch/20240903114714.11428-1-zhaoqunqin@loongson.cn/)**
+
+> Add a simple EDAC driver which report single bit errors (CE) only on
+> loongson platform.
+
+**[v1: longsoon/percpu: Simplify _percpu_read() and _percpu_write()](http://lore.kernel.org/loongarch/20240903102342.36957-1-ubizjak@gmail.com/)**
+
+> _percpu_read() and _percpu_write() macros call __percpu_read()
+> and __percpu_write() static inline functions that result in a single
+> assembly instruction.
+
+### ARM 架构支持
+
+**[v1: arm64: qcom: sda660-ifc6560: enable GPU and WiFi support](http://lore.kernel.org/linux-arm-kernel/20240907-sdm660-wifi-v1-0-e316055142f8@linaro.org/)**
+
+> Follow the MSM8998 example and limit num_context_banks on SDM630 /
+> SDM660 platforms.
+
+**[v2: SLUB: Add support for per object memory policies](http://lore.kernel.org/linux-arm-kernel/20240906-strict_numa-v2-1-f104e6de6d1e@gentwo.org/)**
+
+> In SLUB the memory policies are applied on a
+> per page frame / folio bases.
+
+**[GIT PULL: Allwinner SoC device tree changes for 6.12](http://lore.kernel.org/linux-arm-kernel/ZtnZRhTwsBeO7Qtb@wens.tw/)**
+
+> Here's the Allwinner device tree changes for 6.12.
+
+**[v1: arm64/mm: use lm_alias() with addresses passed to memblock_free()](http://lore.kernel.org/linux-arm-kernel/20240905130115.4135490-1-joey.gouly@arm.com/)**
+
+> This fixes the following splat at boot time (seen with CONFIG_DEBUG_VIRTUAL=y):
+
+**[v6: arm-cs-trace-disasm.py/perf must accommodate non-zero DSO text offset](http://lore.kernel.org/linux-arm-kernel/cover.1725493961.git.scclevenger@os.amperecomputing.com/)**
+
+**[v1: Correct perf sampling with guest VMs](http://lore.kernel.org/linux-arm-kernel/20240904204133.1442132-1-coltonlewis@google.com/)**
+
+> This series cleans up perf recording around guest events and improves
+> the accuracy of the resulting perf reports.
+
+**[v1: irqchip/gic: prevent buffer overflow in gic_ipi_send_mask()](http://lore.kernel.org/linux-arm-kernel/048ff3bb-09d1-2e60-4f3b-611e2bfde7aa@omp.ru/)**
+
+> ARM GIC arch v2 spec claims support for just 8 CPU interfaces.
+
+**[v7: Marvell Odyssey uncore performance monitor support](http://lore.kernel.org/linux-arm-kernel/20240904182605.953927-1-gthiagarajan@marvell.com/)**
+
+> This series of patches introduces support for uncore performance monitor
+> units (PMUs) on the Marvell Odyssey platform.
+
+**[v4: perf: Add Arm Network-on-Chip PMU driver](http://lore.kernel.org/linux-arm-kernel/cover.1725470837.git.robin.murphy@arm.com/)**
+
+**[v1: Add support for Ariaboard Photonicat RK3568](http://lore.kernel.org/linux-arm-kernel/20240904111456.87089-1-bigfoot@classfun.cn/)**
+
+> Add dts for Ariaboard Photonicat RK3568.
+
+**[v2: Do not shatter hugezeropage on wp-fault](http://lore.kernel.org/linux-arm-kernel/20240904100923.290042-1-dev.jain@arm.com/)**
+
+> It was observed at [1] and [2] that the current kernel behaviour of
+> shattering a hugezeropage is inconsistent and suboptimal.
+
+**[v3: Add support for Kontron OSM-S i.MX8MP SoM and carrier boards](http://lore.kernel.org/linux-arm-kernel/20240904085415.645031-1-frieder@fris.de/)**
+
+> Patch 1: board DT bindings
+> Patch 2: OSM-S i.MX8MP SoM and BL carrier board devicetrees
+> Patch 3: i.MX8MP SMARC module and eval carrier board devicetrees
+
+**[v1: Add initial support for QCS8300](http://lore.kernel.org/linux-arm-kernel/20240904-qcs8300_initial_dtsi-v1-0-d0ea9afdc007@quicinc.com/)**
+
+> Add initial support for QCS8300 SoC and QCS8300 RIDE board.
+
+**[v5: can-next: can: rockchip_canfd: add support for CAN-FD IP core found on Rockchip RK3568](http://lore.kernel.org/linux-arm-kernel/20240904-rockchip-canfd-v5-0-8ae22bcb27cc@pengutronix.de/)**
+
+> This series adds support for the CAN-FD IP core found on the Rockchip
+> RK3568.
+
+**[v4: clk: imx8qxp: Defer instead of failing probe](http://lore.kernel.org/linux-arm-kernel/DU0PR01MB9382A24116486931F28843BA9D9C2@DU0PR01MB9382.eurprd01.prod.exchangelabs.com/)**
+
+> When of_clk_parent_fill is ran without all the parent clocks having been
+> probed then the probe function will return -EINVAL, making it so that
+> the probe isn't attempted again.
+
+**[v2: mfd: syscon: Use regmap max_register_is_0 as needed](http://lore.kernel.org/linux-arm-kernel/20240903184710.1552067-1-nm@ti.com/)**
+
+> syscon has always set the optional max_register configuration of
+> regmap to ensure the correct checks are in place.
+
+### X86 架构支持
+
+**[v1: drm/etnaviv: Print error message when driver can't get pages](http://lore.kernel.org/lkml/20240908071950.200508-1-sui.jingfeng@linux.dev/)**
+
+> This error could happen when the GFP_HIGHUSER flag is set, such an error
+> can also be seen on the X86 platform.
+
+**[v9: Dynamic Allocation of the reserved_mem array](http://lore.kernel.org/lkml/20240906185400.3244416-1-quic_obabatun@quicinc.com/)**
+
+> The reserved_mem array is used to store data for the different
+> reserved memory regions defined in the DT of a device.
+
+**[v2: platform/x86:intel/pmc: Ignore all LTRs during suspend](http://lore.kernel.org/lkml/20240906184016.268153-1-xi.pardee@linux.intel.com/)**
+
+> Add support to ignore all LTRs before suspend and restore the previous
+> LTR values after suspend.
+
+**[v3: mm: Introduce ADDR_LIMIT_47BIT personality flag](http://lore.kernel.org/lkml/20240905-patches-below_hint_mmap-v3-0-3cd5564efbbb@rivosinc.com/)**
+
+> Some applications rely on placing data in free bits addresses allocated
+> by mmap.
+
+**[[RFC/PATCHSET 00/10] perf tools: Do not set attr.exclude_guest by default (v3)](http://lore.kernel.org/lkml/20240905202426.2690105-1-namhyung@kernel.org/)**
+
+> I found perf tools set exclude_guest bit inconsistently.
+
+**[v1: 6.10: 6.10.9-rc2 review](http://lore.kernel.org/lkml/20240905163542.314666063@linuxfoundation.org/)**
+
+> This is the start of the stable review cycle for the 6.10.9 release.
+
+**[v3: Adjustments for preferred core detection](http://lore.kernel.org/lkml/20240905163007.1350840-1-superm1@kernel.org/)**
+
+> Preferred core detection is fragile in that any CPU that reports
+> less than 255 for any core is assumed to be a preferred core design.
+
+**[v3: nosnp sev command line support](http://lore.kernel.org/lkml/20240905143056.48216-1-papaluri@amd.com/)**
+
+> Provide "nosnp" boot option via "sev=nosnp" kernel command line to
+> prevent SEV-SNP[1] capable host kernel from enabling SEV-SNP and
+> initializing Reverse Map Table (RMP) [1].
+
+**[v1: random: Include and resolve circular include dependency](http://lore.kernel.org/lkml/20240905122020.872466-1-ubizjak@gmail.com/)**
+
+> There were several attempts to resolve circular include dependency
+> after the addition of percpu.h: 1c9df907da83 ("random: fix circular
+> include dependency on arm64 after addition of percpu.h"), c0842fbc1b18
+> ("random32: move the pseudo-random 32-bit definitions to prandom.h") and
+> finally d9f29deb7fe8 ("prandom: Remove unused include") that completely
+> removes inclusion of .
+
+**[v1: KVM: VMX: Also clear SGX EDECCSSA in KVM CPU caps when SGX is disabled](http://lore.kernel.org/lkml/20240905120837.579102-1-kai.huang@intel.com/)**
+
+> When SGX EDECCSSA support was added to KVM in commit 16a7fe3728a8, it
+> forgot to clear the X86_FEATURE_SGX_EDECCSSA bit in KVM CPU caps when
+> KVM SGX is disabled.
+
+**[v1: rust: block: Use 32-bit atomics](http://lore.kernel.org/lkml/20240905061214.3954271-1-davidgow@google.com/)**
+
+> Not all architectures have core::sync::atomic::AtomicU64 available. In
+> particular, 32-bit x86 doesn't support it. AtomicU32 is available
+> everywhere, so use that instead.
+
+**[v6: x86/cacheinfo: Set the number of leaves per CPU](http://lore.kernel.org/lkml/20240905060036.5655-1-ricardo.neri-calderon@linux.intel.com/)**
+
+> This is the case
+> of Intel Meteor Lake, which now is out in the world.
+
+**[v2: Enable measuring the kernel's Source-based Code Coverage and MC/DC with Clang](http://lore.kernel.org/lkml/20240905043245.1389509-1-wentaoz5@illinois.edu/)**
+
+> This series adds support for building x86-64 kernels with Clang's Source-
+> based Code Coverage[1] in order to facilitate Modified Condition/Decision
+> Coverage (MC/DC)[2] that provably correlates to source code for all levels
+> of compiler optimization.
+
+**[[RFC/PATCH 0/5] perf: Relax privilege restriction on AMD IBS (v3)](http://lore.kernel.org/lkml/20240905031027.2567913-1-namhyung@kernel.org/)**
+
+> This is RFC v3 to allow AMD IBS to regular users on the default settings
+> where kernel-level profiling is disabled (perf_event_paranoid=2).
+
+**[v7: x86/resctrl: Support AMD Assignable Bandwidth Monitoring Counters (ABMC)](http://lore.kernel.org/lkml/cover.1725488488.git.babu.moger@amd.com/)**
+
+> This series adds the support for Assignable Bandwidth Monitoring Counters
+> (ABMC). It is also called QoS RMID Pinning feature
+
+**[v3: power: supply: extension API](http://lore.kernel.org/lkml/20240904-power-supply-extensions-v3-0-62efeb93f8ec@weissschuh.net/)**
+
+> Introduce a mechanism for drivers to extend the properties implemented
+> by a power supply.
+
+**[v2: mm: Care about shadow stack guard gap when getting an unmapped area](http://lore.kernel.org/lkml/20240904-mm-generic-shadow-stack-guard-v2-0-a46b8b6dc0ed@kernel.org/)**
+
+> As covered in the commit log for c44357c2e76b ("x86/mm: care about shadow
+> stack guard gap during placement") our current mmap() implementation does
+> not take care to ensure that a new mapping isn't placed with existing
+> mappings inside it's own guard gaps.
+
+**[v1: iommu/amd: Add parameter to limit V1 page-sizes to 4 KiB](http://lore.kernel.org/lkml/20240904125946.4677-1-joro@8bytes.org/)**
+
+> Add the 'pgsize_4k' as a valid value to the amd_iommu= command line
+> parameter to limit the page-sizes used for V1 page-tables for 4 KiB.
+
+**[v1: TDX MMU Part 2](http://lore.kernel.org/lkml/20240904030751.117579-1-rick.p.edgecombe@intel.com/)**
+
+> This series picks up where “TDX MMU prep series part 1” left off in
+> implementing the parts of TDX support that deal with shared and private
+> memory.
+
+**[v8: Final pieces of Intel new families support](http://lore.kernel.org/lkml/20240903173443.7962-1-tony.luck@intel.com/)**
+
+> All except one of the precursor patches were merged to Linus' tree
+> in the v6.11 merge window.
+
+**[v1: vdso: Use only headers from the vdso/ namespace](http://lore.kernel.org/lkml/20240903151437.1002990-1-vincenzo.frascino@arm.com/)**
+
+> The recent implementation of getrandom in the generic vdso library,
+> includes headers from outside of the vdso/ namespace.
+
+**[v1: x86/percpu: Unify __pcpu_op{1,2}_N() macros to __pcpu_op_N()](http://lore.kernel.org/lkml/20240903115730.91423-1-ubizjak@gmail.com/)**
+
+> Unify __pcpu_op1_N() and __pcpu_op2_N() macros to __pcpu_op_N()
+> by applying the macro only to asm mnemonic, not to the mnemonic
+> plus its arguments.
+
+### 进程调度
+
+**[v1: sched: Improve cache locality of RSEQ concurrency IDs](http://lore.kernel.org/lkml/20240904013127.75064-1-mathieu.desnoyers@efficios.com/)**
+
+> Intermittent workloads behaving in bursts spaced by more than 100ms
+> on each CPU exhibit bad cache locality and degraded performance compared
+> to purely per-cpu data indexing, because concurrency IDs are allocated
+> over various CPUs and cores, therefore losing cache locality of the
+> associated data.
+
+**[v3: sched/topology: optimize topology_span_sane()](http://lore.kernel.org/lkml/20240902183609.1683756-1-yury.norov@gmail.com/)**
+
+> The function may call cpumask_equal with tl->mask(cpu) == tl->mask(i),
+> even when cpu != i. In such case, cpumask_equal() would always return
+> true, and we can proceed to the next iteration immediately.
+
+### 内存管理
+
+**[v1: maple_tree: Mark three functions as __maybe_unused](http://lore.kernel.org/linux-mm/20240907021506.4018676-1-Liam.Howlett@oracle.com/)**
+
+> People keep trying to remove three functions that are going to be used
+> in a feature that is being developed.
+
+**[v4: implement async block discards and other ops via io_uring](http://lore.kernel.org/linux-mm/cover.1725621577.git.asml.silence@gmail.com/)**
+
+> There is an interest in having asynchronous block operations like
+> discard and write zeroes.
+
+**[v1: mm/vmalloc.c: use helper function va_size()](http://lore.kernel.org/linux-mm/20240906102539.3537207-1-zhangpeng362@huawei.com/)**
+
+> Use helper function va_size() to improve code readability. No functional
+> modification involved.
+
+**[v1: uprobes,mm: speculative lockless VMA-to-uprobe lookup](http://lore.kernel.org/linux-mm/20240906051205.530219-1-andrii@kernel.org/)**
+
+> Implement speculative (lockless) resolution of VMA to inode to uprobe,
+> bypassing the need to take mmap_lock for reads, if possible.
+
+**[v1: mm: hwpoison: two more poison recovery](http://lore.kernel.org/linux-mm/20240906024201.1214712-1-wangkefeng.wang@huawei.com/)**
+
+> One more CoW path to support poison recorvery in do_cow_fault(), and
+> the last copy_user_highpage() user is replaced to copy_mc_user_highpage()
+> from copy_present_page() during fork to support poison recorvery too.
+
+**[v1: mm/show_mem.c: report alloc tags in human readable units](http://lore.kernel.org/linux-mm/20240906005337.1220091-1-kent.overstreet@linux.dev/)**
+
+> We already do this when reporting slab info - more consistent and more
+> readable.
+
+**[v8: mm: enable large folios swap-in support](http://lore.kernel.org/linux-mm/20240906001047.1245-1-21cnbao@gmail.com/)**
+
+> Currently, we support mTHP swapout but not swapin. This means that once mTHP
+> is swapped out, it will come back as small folios when swapped in.
+
+**[v1: arm64: Add infrastructure for use of AT_HWCAP3](http://lore.kernel.org/linux-mm/20240906-arm64-elf-hwcap3-v1-0-8df1a5e63508@kernel.org/)**
+
+> Since arm64 has now used all of AT_HWCAP2 it needs to either start using
+> AT_HWCAP3 (which was recently added for PowerPC) or start allocating
+> bits 32..61 of AT_HWCAP first.
+
+**[v3: tmpfs: Add case-insensitive support for tmpfs](http://lore.kernel.org/linux-mm/20240905190252.461639-1-andrealmeid@igalia.com/)**
+
+> This patchset adds support for case-insensitive file names lookups in
+> tmpfs.
+
+**[v4: memcg: add charging of already allocated slab objects](http://lore.kernel.org/linux-mm/20240905173422.1565480-1-shakeel.butt@linux.dev/)**
+
+> At the moment, the slab objects are charged to the memcg at the
+> allocation time. However there are cases where slab objects are
+> allocated at the time where the right target memcg to charge it to is
+> not known.
+
+**[v1: mm: migrate: simplify find_mm_struct()](http://lore.kernel.org/linux-mm/20240905153118.1205173-1-sunnanyong@huawei.com/)**
+
+> Use find_get_task_by_vpid() to replace the task_struct find logic in
+> find_mm_struct(), note that this patch move the ptrace_may_access()
+> call out from rcu_read_lock() scope, this is ok because it actually
+> does not need it, find_get_task_by_vpid() already get the pid and task
+> safely, ptrace_may_access() can use the task safely, like what
+> sched_core_share_pid() similarly do.
+
+**[v1: mm: thp: simplify split_huge_pages_pid()](http://lore.kernel.org/linux-mm/20240905153028.1205128-1-sunnanyong@huawei.com/)**
+
+> The helper find_get_task_by_vpid() can totally replace the task_struct
+> find logic in split_huge_pages_pid(), so use it to simplify the code.
+
+**[v2: mm: arm64: document why pte is not advanced in contpte_ptep_set_access_flags()](http://lore.kernel.org/linux-mm/20240905081124.9576-1-21cnbao@gmail.com/)**
+
+> According to David and Ryan, there isn't a bug here, even though we
+> don't advance the PTE entry, because __ptep_set_access_flags() only
+> uses the access flags from the entry.
+
+**[v4: slab: add struct kmem_cache_args](http://lore.kernel.org/linux-mm/20240905-work-kmem_cache_args-v4-0-ed45d5380679@kernel.org/)**
+
+> This is v4 which allows NULL to be passed in the struct kmem_cache_args
+> argument of kmem_cache_create() and substitutes default parameters in
+> this case.
+
+**[v1: mm: use unique zsmalloc caches names](http://lore.kernel.org/linux-mm/20240905064736.2250735-1-senozhatsky@chromium.org/)**
+
+> Each zsmalloc pool maintains several named kmem-caches for
+> zs_handle-s and zspage-s.
+
+**[v1: mm/damon/vaddr: protect vma traversal in __damon_va_thre_regions() with rcu read lock](http://lore.kernel.org/linux-mm/20240905001204.1481-1-sj@kernel.org/)**
+
+> Traversing VMAs of a given maple tree should be protected by rcu read
+> lock. However, __damon_va_three_regions() is not doing the protection.
+> Hold the lock.
+
+**[v2: mm/hugetlb: simplify refs in memfd_alloc_folio](http://lore.kernel.org/linux-mm/1725481920-82506-1-git-send-email-steven.sistare@oracle.com/)**
+
+> The folio_try_get in memfd_alloc_folio is not necessary. Delete it, and
+> delete the matching folio_put in memfd_pin_folios.
+
+**[v1: mm/mm_init.c: add zidcache to the init_reserved_page function](http://lore.kernel.org/linux-mm/20240904115541.6519-1-liuq131@chinatelecom.cn/)**
+
+> Each call to the init_reserved_page function will look up the
+> corresponding zid for the given pfn parameter.
+
+**[v1: mm/slab: Optimize the code logic in find_mergeable()](http://lore.kernel.org/linux-mm/20240904074037.710692-1-xavier_qy@163.com/)**
+
+> We can first assess the flags, if it's unmergeable, there's no need
+> to calculate the size and align.
+
+**[v1: dm verity: don't use WQ_MEM_RECLAIM](http://lore.kernel.org/linux-mm/20240904040444.56070-1-ebiggers@kernel.org/)**
+
+> Since dm-verity doesn't support writes, the kernel's memory reclaim code
+> will never wait on dm-verity work. That makes the use of WQ_MEM_RECLAIM
+> in dm-verity unnecessary.
+
+**[v1: RESEND: usb: gadget: dummy_hcd: execute hrtimer callback in softirq context](http://lore.kernel.org/linux-mm/20240904013051.4409-1-andrey.konovalov@linux.dev/)**
+
+> Commit a7f3813e589f ("usb: gadget: dummy_hcd: Switch to hrtimer transfer
+> scheduler") switched dummy_hcd to use hrtimer and made the timer's
+> callback be executed in the hardirq context.
+
+### 文件系统
+
+**[v6: Hardware wrapped key support for QCom ICE and UFS core](http://lore.kernel.org/linux-fsdevel/20240906-wrapped-keys-v6-0-d59e61bc0cb4@linaro.org/)**
+
+> I took this work over from Gaurav Kashyap and integrated Eric's series
+> into it for an easier discussion on the actual API to be used for
+> wrapped keys as well as if and how to enable users to indicate whether
+> wrapped keys should be used at all.
+
+**[v1: -next: ext4: don't pass full mapping flags to ext4_es_insert_extent()](http://lore.kernel.org/linux-fsdevel/20240906061401.2980330-1-yi.zhang@huaweicloud.com/)**
+
+> When converting a delalloc extent in ext4_es_insert_extent(), since we
+> only want to pass the info of whether the quota has already been claimed
+> if the allocation is a direct allocation from ext4_map_create_blocks(),
+> there is no need to pass full mapping flags, so changes to just pass
+> whether the EXT4_GET_BLOCKS_DELALLOC_RESERVE bit is set.
+
+**[v2: extensible syscalls: CHECK_FIELDS to allow for easier feature detection](http://lore.kernel.org/linux-fsdevel/20240906-extensible-structs-check_fields-v2-0-0f46d2de9bad@cyphar.com/)**
+
+> This is something that I've been thinking about for a while.
+
+**[v4: nfsd: implement the "delstid" draft](http://lore.kernel.org/linux-fsdevel/20240905-delstid-v4-0-d3e5fd34d107@kernel.org/)**
+
+> I've been working on some
+> pynfs testcases for CB_GETATTR, and have found more bugs in our
+> implementation.
+
+**[v5: fanotify: add pre-content hooks](http://lore.kernel.org/linux-fsdevel/cover.1725481503.git.josef@toxicpanda.com/)**
+
+**[v1: fs/pipe: Correct imprecise wording in comment](http://lore.kernel.org/linux-fsdevel/20240904-pipe-correct_imprecise_wording-v1-1-2b07843472c2@efficios.com/)**
+
+> The comment inaccurately describes what pipefs is - that is, a file
+> system.
+
+**[v1: iomap: clean preallocated blocks in iomap_end() when 0 bytes was written.](http://lore.kernel.org/linux-fsdevel/20240903054808.126799-1-sunjunchao2870@gmail.com/)**
+
+> Recently, syzbot reported a issue as following:
+
+### 网络设备
+
+**[v1: net-next: net: ibm: emac: modernize modules](http://lore.kernel.org/netdev/20240907222147.21723-1-rosenp@gmail.com/)**
+
+> Use devm and dev_* instead of printk.
+
+**[v1: net: hsr: prevent NULL pointer dereference in hsr_proxy_announce()](http://lore.kernel.org/netdev/20240907190341.162289-1-aha310510@gmail.com/)**
+
+> In the function hsr_proxy_annouance() added in the previous commit
+> with ProxyNodeTable data"), the return value of the hsr_port_get_hsr()
+> function is not checked to be a NULL pointer, which causes a NULL
+> pointer dereference.
+
+**[v2: net-next: net: Convert using devm_clk_get_enabled()/devm_clk_get_optional_enabled()](http://lore.kernel.org/netdev/20240907031926.3591353-1-lizetao1@huawei.com/)**
+
+**[v11: ipsec-next: Add IP-TFS mode to xfrm](http://lore.kernel.org/netdev/20240907022412.1032284-1-chopps@chopps.org/)**
+
+> This patchset adds a new xfrm mode implementing on-demand IP-TFS. IP-TFS
+> (AggFrag encapsulation) has been standardized in RFC9347.
+
+**[v5: net-next:pull request: ice: support devlink subfunction](http://lore.kernel.org/netdev/20240906223010.2194591-1-anthony.l.nguyen@intel.com/)**
+
+> Currently ice driver does not allow creating more than one networking
+> device per physical function.
+
+**[v4: landlock: Signal scoping support](http://lore.kernel.org/netdev/cover.1725657727.git.fahimitahera@gmail.com/)**
+
+> This patch series adds scoping mechanism for signals.
+
+**[v1: bpf: sock_map: add a cond_resched() in sock_hash_free()](http://lore.kernel.org/netdev/20240906154449.3742932-1-edumazet@google.com/)**
+
+> Several syzbot soft lockup reports all have in common sock_hash_free()
+>
+> If a map with a large number of buckets is destroyed, we need to yield
+> the cpu when needed.
+>
+
+**[v4: ethtool-next: Introduce PHY listing and targeting](http://lore.kernel.org/netdev/20240906145719.387824-1-maxime.chevallier@bootlin.com/)**
+
+> This series adds the ethtool-side support to list PHYs associated to a
+> netdevice, as well as allowing to target PHYs for some commands
+
+**[v1: net-next: RX software timestamp for all - round 3](http://lore.kernel.org/netdev/20240906144632.404651-1-gal@nvidia.com/)**
+
+> I know the series is more than 15 patches, but I didn't want to have a
+> 4th round for a single patch.
+
+**[v10: net-next: net: stmmac: FPE via ethtool + tc](http://lore.kernel.org/netdev/cover.1725631883.git.0x1207@gmail.com/)**
+
+> Move the Frame Preemption(FPE) over to the new standard API which uses
+> ethtool-mm/tc-mqprio/tc-taprio.
+
+**[v2: net: bpf: devmap: provide rxq after redirect](http://lore.kernel.org/netdev/20240906-devel-koalo-fix-ingress-ifindex-v2-0-4caa12c644b4@linutronix.de/)**
+
+> Add bugfix and related selftest.
+
+**[v1: lib80211: Use ERR_CAST() to return](http://lore.kernel.org/netdev/20240906114455.730559-1-roheetchavan@gmail.com/)**
+
+> Using ERR_CAST() is more reasonable and safer, When it is necessary
+> to convert the type of an error pointer and return it.
+
+**[v1: ixgbe: Manual AN-37 for troublesome link partners for X550 SFI](http://lore.kernel.org/netdev/20240906104145.9587-1-jeffd@silicom-usa.com/)**
+
+> Some (Juniper MX5) SFP link partners exhibit a disinclination to
+> autonegotiate with X550 configured in SFI mode.
+
+**[v6: net-next: Add support to PHYLINK for LAN743x/PCI11x1x chips](http://lore.kernel.org/netdev/20240906103511.28416-1-Raju.Lakkaraju@microchip.com/)**
+
+> Divide the PHYLINK adaptation and SFP modifications into two separate patch
+> series.
+
+**[v2: net-next: net: ti: icssg-prueth: Make pa_stats optional](http://lore.kernel.org/netdev/20240906093649.870883-1-danishanwar@ti.com/)**
+
+> pa_stats is optional in dt bindings, make it optional in driver as well.
+
+**[v2: net: dsa: felix: ignore pending status of TAS module when it's disabled](http://lore.kernel.org/netdev/20240906093550.29985-1-xiaoliang.yang_1@nxp.com/)**
+
+> The TAS module could not be configured when it's running in pending
+> status.
+
+**[v1: net: r8169: correct the reset timing of RTL8125 for link-change event](http://lore.kernel.org/netdev/20240906083539.154019-1-en-wei.wu@canonical.com/)**
+
+> The commit 621735f59064 ("r8169: fix rare issue with broken rx after
+> link-down on RTL8125") set a reset work for RTL8125 in
+> r8169_phylink_handler() to avoid the MAC from locking up, this
+> makes the connection broken after unplugging then re-plugging the
+> Ethernet cable.
+
+**[v1: net-next: bnxt_en: implement tcp-data-split ethtool command](http://lore.kernel.org/netdev/20240906080750.1068983-1-ap420073@gmail.com/)**
+
+> NICs that use the bnxt_en driver support tcp-data-split feature named
+> HDS(header-data-split).
+
+### 安全增强
+
+**[v2: -next: Introduce several opposite string choice helpers](http://lore.kernel.org/linux-hardening/20240905092540.2962122-1-lihongbo22@huawei.com/)**
+
+> Similar to the exists helper: str_enable_disable/
+> str_enabled_disabled/str_on_off/str_yes_no helpers, we can
+> add the opposite helpers. That's str_disable_enable,
+> str_disabled_enabled, str_off_on and str_no_yes.
+
+**[v10: Add support for aw96103/aw96105 proximity sensor](http://lore.kernel.org/linux-hardening/20240904113555.1538635-1-wangshuaijie@awinic.com/)**
+
+> Add drivers that support Awinic aw96103/aw96105 proximity sensors.
+
+**[v2: -next: coccinelle: Add some rules for string_chioces helpers.](http://lore.kernel.org/linux-hardening/20240904091451.3328272-1-lihongbo22@huawei.com/)**
+
+> We found that many of the detection rules for helpers in
+> string_choices.h are missing. This series of patches is
+> intended to complete these rules.
+
+### 异步 IO
+
+**[v1: [6.1][0/2] io_uring: Do not set PF_NO_SETAFFINITY on poller threads](http://lore.kernel.org/io-uring/20240906095321.388613-1-felix.moessbauer@siemens.com/)**
+
+> Setting the PF_NO_SETAFFINITY flag creates problems in combination with
+> cpuset operations (see commit messages for details).
+
+### Rust For Linux
+
+**[v2: rust: Initial MIPS support](http://lore.kernel.org/rust-for-linux/20240905-mips-rust-v2-0-409d66819418@flygoat.com/)**
+
+> This series added MIPS arch support to rust for linux,
+> hopefully MIPS is not too late to the party :-)
+
+**[v1: rust: lint improvements](http://lore.kernel.org/rust-for-linux/20240904204347.168520-1-ojeda@kernel.org/)**
+
+> This is a series that contains a series of lint-related things.
+
+**[v1: rust: arch/um: Rust modules support for UML](http://lore.kernel.org/rust-for-linux/62F5EEA0B866E9E0+20240903130606.292935-1-zig@iorw.io/)**
+
+> The series make Rust modules running under x86_64 UML, as a supplement
+> for the previous work.
+
+**[v1: RESEND: block, rust: simplify validate_block_size() function](http://lore.kernel.org/rust-for-linux/005b6680-da19-495a-bc99-9ec3f66a5e74@p183/)**
+
+> Using range and contains() method is just fancy shmancy way of writing
+> two comparisons. Using range doesn't prevent any bugs here because
+> typing "=" in range can be forgotten just as easily as in "<=" operator.
+
+**[v1: block, rust: simplify validate_block_size() function](http://lore.kernel.org/rust-for-linux/CACVxJT-Hj6jdE0vwNrfGpKs73+ScTyxxxL8w_VXfoLAx79mr8w@mail.gmail.com/)**
+
+> Using range and contains() method is just fancy shmancy way of writing
+> two comparisons which IMO is less readable.
+
+### BPF
+
+**[v2: bpf-next: bpftool: improve btf c dump sorting stability](http://lore.kernel.org/bpf/20240906132453.146085-1-mykyta.yatsenko5@gmail.com/)**
+
+> Existing algorithm for BTF C dump sorting uses only types and names of
+> the structs and unions for ordering.
+
+**[v3: bpf-next: allow kfuncs in tracepoint and perf event](http://lore.kernel.org/bpf/20240905223812.141857-1-inwardvessel@gmail.com/)**
+
+> It is possible to call a cpumask kfunc within a raw tp_btf program but not
+> possible within tracepoint or perf event programs.
+
+**[v1: bpf-next: bpf: change int cmd argument in __sys_bpf into typed enum bpf_cmd](http://lore.kernel.org/bpf/20240905210520.2252984-1-andrii@kernel.org/)**
+
+> This improves BTF data recorded about this function and makes
+> debugging/tracing better, because now command can be displayed as
+> symbolic name, instead of obscure number.
+
+**[v1: bpf-next: bpf: Check percpu map value size first](http://lore.kernel.org/bpf/20240905171406.832962-1-chen.dylane@gmail.com/)**
+
+> Percpu map is often used, but the map value size limit often ignored,
+> like issue: https://github.com/iovisor/bcc/issues/2519.
+
+**[v1: net-next: Unmask upper DSCP bits - part 4 (last)](http://lore.kernel.org/bpf/20240905165140.3105140-1-idosch@nvidia.com/)**
+
+> This patchset finishes to unmask the upper DSCP bits in the IPv4
+> flow key in preparation for allowing IPv4 FIB rules to match on DSCP. No
+> functional changes are expected.
+
+
+**[v2: -next: perf stat: Support inherit events for bperf](http://lore.kernel.org/bpf/20240905115918.772234-1-wutengda@huaweicloud.com/)**
+
+> bperf (perf-stat --bpf-counter) has not supported inherit events
+> during fork() since it was first introduced.
+
+**[v2: bpf-next: bpf: Allow skb dynptr for tp_btf](http://lore.kernel.org/bpf/20240905075622.66819-1-lulie@linux.alibaba.com/)**
+
+> This makes bpf_dynptr_from_skb usable for tp_btf, so that we can easily
+> parse skb in tracepoints. This has been discussed in [0], and Martin
+> suggested to use dynptr (instead of helpers like bpf_skb_load_bytes).
+
+**[v1: bpf-next: bpf: Follow up on gen_epilogue](http://lore.kernel.org/bpf/20240904180847.56947-1-martin.lau@linux.dev/)**
+
+> The set addresses some follow ups on the earlier gen_epilogue
+> patch set.
+
+**[v1: bpf-next: xsk: bump xsk_queue::queue_empty_descs in xp_can_alloc()](http://lore.kernel.org/bpf/20240904162808.249160-1-maciej.fijalkowski@intel.com/)**
+
+> We have STAT_FILL_EMPTY test case in xskxceiver that tries to process
+> traffic with fill queue being empty which currently fails for zero copy
+> ice driver after it started to use xsk_buff_can_alloc() API.
+
+**[v5: uprobes: RCU-protected hot path optimizations](http://lore.kernel.org/bpf/20240903174603.3554182-1-andrii@kernel.org/)**
+
+> This patch set is heavily inspired by Peter Zijlstra's uprobe optimization
+> patches ([0]) and continues that work, albeit trying to keep complexity to the
+> minimum, and attepting to reuse existing primitives as much as possible.
+
+**[v1: rcu: Add light-weight readers for SRCU](http://lore.kernel.org/bpf/26cddadd-a79b-47b1-923e-9684cd8a7ef4@paulmck-laptop/)**
+
+> This series provides light-weight readers for SRCU.
+
+**[v2: bpf-next: bpf, arm64: Jit BPF_CALL to direct call when possible](http://lore.kernel.org/bpf/20240903094407.601107-1-xukuohai@huaweicloud.com/)**
+
+> Currently, BPF_CALL is always jited to indirect call. When target is
+> within the range of direct call, BPF_CALL can be jited to direct call.
+
+**[v1: HID: HID: bpf: add a new hook to control hid-generic](http://lore.kernel.org/bpf/20240903-hid-bpf-hid-generic-v1-0-9511a565b2da@kernel.org/)**
+
+> This is a slight change from the fundamentals of HID-BPF.
+
+**[v1: bpf-next: libbpf: Add support for aliased BPF programs](http://lore.kernel.org/bpf/cover.1725016029.git.vmalik@redhat.com/)**
+
+> This adds libbpf support for creating multiple BPF programs having the
+> same instructions using symbol aliases.
+
+## 周边技术动态
+
+### Qemu
+
+**[v5: bsd-user: Comprehensive RISCV Support](http://lore.kernel.org/qemu-devel/20240907031927.1908-1-itachis@FreeBSD.org/)**
+
+> Key Changes Compared to Version 4:
+> Minor formatting changes
+
+**[v7: riscv: QEMU RISC-V IOMMU Support](http://lore.kernel.org/qemu-devel/20240903201633.93182-1-dbarboza@ventanamicro.com/)**
+
+> In this new version the only significant code change was made in patch
+> 3, where we're no longer modifying the host address with the translated
+> address.
+
+**[v6: target/riscv: Add Smrnmi support.](http://lore.kernel.org/qemu-devel/20240902071358.1061693-1-tommy.wu@sifive.com/)**
+
+> This patchset added support for Smrnmi Extension in RISC-V.
+
+### U-Boot
+
+**[v5: efi: Add a test for EFI bootmeth](http://lore.kernel.org/u-boot/20240902011825.746421-1-sjg@chromium.org/)**
+
+> The test coverage for the EFI bootmeth is incomplete since it does not
+> actually boot the application.
+> This series creates a simple test for this purpose.
+
+
+