From a0c0e5999ba453adb6f6b16f54abf8d4e279276a Mon Sep 17 00:00:00 2001 From: Rory Li <736729045@qq.com> Date: Sun, 22 Sep 2024 05:50:40 +0000 Subject: [PATCH] update news/README.md. Signed-off-by: Rory Li <736729045@qq.com> --- news/README.md | 817 +++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 817 insertions(+) diff --git a/news/README.md b/news/README.md index 0cb3120..368a701 100644 --- a/news/README.md +++ b/news/README.md @@ -8,6 +8,823 @@ * [2024 年 - 上半年](2024-1st-half.md) +## 20240922:第 110 期 + +### 内核动态 + +#### RISC-V 架构支持 + +**[v1: riscv: add Svukte extension](http://lore.kernel.org/linux-riscv/20240920-dev-maxh-svukte-rebase-v1-0-7864a88a62bd@sifive.com/)** + +> Svukte introduce senvcfg.UKTE and hstatus.HUKTE bitfield. + +**[v1: riscv: make riscv_isa_vendor_ext_andes[] static](http://lore.kernel.org/linux-riscv/20240919061524.264007-1-ben.dooks@codethink.co.uk/)** + +> The riscv_isa_vendor_ext_andes array is not exported out of the +> file it is in, so make it static to fix the following sparse + +**[v1: Introduce support for T-head TH1520 Mailbox](http://lore.kernel.org/linux-riscv/20240918134901.193033-1-m.wilczynski@samsung.com/)** + +> The T-head TH1520 SoC supports a hardware mailbox that enables two cores +> within the SoC to communicate and coordinate [1]. + +**[RFC: extern illegal instruction trap and trap RDCYCLE](http://lore.kernel.org/linux-riscv/20240917130853.18657-1-ben.dooks@codethink.co.uk/)** + +> This is a RFC series to change how the illegal instruction trap +> is handled and then how to trap RDCYCLE and emulate it with RDTIME +> instead. + +**[v1: riscv/entry: issue about a0/orig_a0 register and ENOSYS](http://lore.kernel.org/linux-riscv/59505464-c84a-403d-972f-d4b2055eeaac@gmail.com/)** + +> Before PTRACE_GET_SYSCALL_INFO was implemented in v5.3, the only way to +> get syscall arguments was to get user_regs_struct via PTRACE_GETREGSET. + +**[v2: Add clock controller support for Spacemit K1](http://lore.kernel.org/linux-riscv/SEYPR01MB4221829A2CD4D4C1704BABD7D7602@SEYPR01MB4221.apcprd01.prod.exchangelabs.com/)** + +> The clock tree of Spacemit K1 is managed by several independent +> controllers in different SoC parts. In this series, all clock hardwares +> in APBS, MPMU, APBC and APMU, are implemented. + +**[v1: Add initial support for Canaan Kendryte K230 pinctrl](http://lore.kernel.org/linux-riscv/20240916063021.311721-1-18771902331@163.com/)** + +> This patch series introduces support for the pinctrl driver of the Canaan +> K230 SoC. + +**[v2: pinctrl: Add T-Head TH1520 SoC pin controllers](http://lore.kernel.org/linux-riscv/20240914-th1520-pinctrl-v2-0-3ba67dde882c@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. + +**[GIT PULL: KVM/riscv changes for 6.12](http://lore.kernel.org/linux-riscv/CAAhSdy0fHNoSx9KAG9nL=sc9=L+zeComyJjctD7kYOhuMNxLdg@mail.gmail.com/)** + +> We have only 4 KVM RISC-V fixes for 6.12. There +> are quite a few in-flight patches waiting for more +> reviews and these will be included in 6.13. + +#### LoongArch 架构支持 + +**[v1: LoongArch: KVM: Ensure ret is always initialized in kvm_eiointc_{read,write}()](http://lore.kernel.org/loongarch/20240916-loongarch-kvm-eiointc-fix-sometimes-uninitialized-v1-1-85142dcb2274@kernel.org/)** + +> Clang warns (or errors with CONFIG_WERROR=y) + +#### ARM 架构支持 + +**[v1: rockchip: Split rk3288-vop compatible into big and lit](http://lore.kernel.org/linux-arm-kernel/20240921222007.2301868-1-jonas@kwiboo.se/)** + +> The Rockchip RK3288 SoC contain two different Visual Output Processor +> (VOP) blocks, VOP_BIG and VOP_LIT. + +**[v2: Add support for ArmSoM LM7 SoM](http://lore.kernel.org/linux-arm-kernel/20240921182917.64756-1-liujianfeng1994@gmail.com/)** + +> This series add support for ArmSoM RK3588 based SoM and carrier board. + +**[v4: drm: sun4i: add Display Engine 3.3 (DE33) support](http://lore.kernel.org/linux-arm-kernel/20240921095153.213568-1-ryan@testtoast.com/)** + +> V4 of this patch series adding support for the Allwinner DE33 display engine variant. + +**[v5: Correct perf sampling with Guest VMs](http://lore.kernel.org/linux-arm-kernel/20240920174740.781614-1-coltonlewis@google.com/)** + +**[v5: Add minimal Exynos8895 SoC and SM-G950F support](http://lore.kernel.org/linux-arm-kernel/20240920154508.1618410-1-ivo.ivanov.ivanov1@gmail.com/)** + +> This series adds initial SoC support for the Exynos 8895 SoC and also +> initial board support for Samsung Galaxy S8 phone (SM-G950F), codenamed +> dreamlte. + +**[v2: Add support for new IMX8MP based board](http://lore.kernel.org/linux-arm-kernel/20240920080154.1595808-1-michal.vokac@ysoft.com/)** + +> this series adds support for a new member in our IOTA platform. + +**[v19: Add i2c-mux and eeprom devices for Meta Yosemite4](http://lore.kernel.org/linux-arm-kernel/20240920070449.3871705-1-Delphine_CC_Chiu@wiwynn.com/)** + +**[v4: Initial device trees for A7-A11 based Apple devices](http://lore.kernel.org/linux-arm-kernel/20240919161443.10340-1-towinchenmi@gmail.com/)** + +> This series adds device trees for all A7-A11 SoC based iPhones, iPads, +> iPod touches and Apple TVs. + +**[v8: Marvell Odyssey uncore performance monitor support](http://lore.kernel.org/linux-arm-kernel/20240919074717.3276854-1-gthiagarajan@marvell.com/)** + +> This series of patches introduces support for uncore performance monitor +> units (PMUs) on the Marvell Odyssey platform. The PMUs covered in this +> series include the DDR PMU and LLC-TAD PMU. + +**[v4: MIPI DSI Controller support for SAM9X75 series](http://lore.kernel.org/linux-arm-kernel/20240918103119.385597-1-manikandan.m@microchip.com/)** + +> This patch series adds support for the Microchip's MIPI DSI Controller +> wrapper driver that uses the Synopsys DesignWare MIPI DSI host controller +> bridge for SAM9X75 SoC series. + +**[v2: yosemite4: Add power module and ADC on Medusa Board](http://lore.kernel.org/linux-arm-kernel/20240918095438.1345886-1-Delphine_CC_Chiu@wiwynn.com/)** + +**[v1: ARM: bcm: Make BCM6846 bootable on mainline](http://lore.kernel.org/linux-arm-kernel/20240917-bcm-arm-bcm6846-v1-0-236e29661f4c@linaro.org/)** + +> Bringing up BCM6846 on mainline I faced two problems. + +**[linux-next: duplicate patch in the watchdog tree](http://lore.kernel.org/linux-arm-kernel/20240917130325.0460eebf@canb.auug.org.au/)** + +> The following commit is also in the arm-soc tree as a different commit + +**[[GIT PULL 0/4]](http://lore.kernel.org/linux-arm-kernel/a40b4b3a-5d61-4bef-b367-745ba058be9e@app.fastmail.com/)** + +> These are the usual four branches from the SoC tree, with around +> 900 non-merge changesets from 220 individual authors. + +**[v3: perf: cs-etm: Coresight decode and disassembly improvements](http://lore.kernel.org/linux-arm-kernel/20240916135743.1490403-1-james.clark@linaro.org/)** + +> A set of changes that came out of the issues reported here. + +**[v10: Coresight for Kernel panic and watchdog reset](http://lore.kernel.org/linux-arm-kernel/20240916103437.226816-1-lcherian@marvell.com/)** + +> This patch series is rebased on coresight-next-v6.12. + +**[v2: perf arm-spe: Refactor data source encoding](http://lore.kernel.org/linux-arm-kernel/20240914220901.756177-1-leo.yan@arm.com/)** + +> As more Arm CPU variants (not only Neoverse CPUs) support data source +> encoding, they share the same format for the data source packet. + +**[v2: perf arm-spe: Introduce metadata version 2](http://lore.kernel.org/linux-arm-kernel/20240914215458.751802-1-leo.yan@arm.com/)** + +> This patch series enhances Arm SPE metadata in the Perf file to a +> version 2 format and maintains backward compatibility for metadata v1. + +**[v4: Add support for Ariaboard Photonicat RK3568](http://lore.kernel.org/linux-arm-kernel/20240914145549.879936-1-bigfoot@classfun.cn/)** + +> Add dts for Ariaboard Photonicat RK3568. + +**[v5: Add support for RK3588S Evaluation board](http://lore.kernel.org/linux-arm-kernel/20240914095456.2347532-1-damon.ding@rock-chips.com/)** + +**[GIT PULL: Emulated one-byte cmpxchg() for ARC and sh](http://lore.kernel.org/linux-arm-kernel/c22df1ae-42b4-4a57-91f7-a02e50176ad0@paulmck-laptop/)** + +> This series provides emulated one-byte cmpxchg() support for ARM and +> sh using the cmpxchg_emu_u8() function that uses a four-byte cmpxchg() +> to emulate the one-byte variant. + +#### X86 架构支持 + +**[v4: nosnp sev command line support](http://lore.kernel.org/lkml/20240922033626.29038-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]. + +**[v4: mm: x86: instrument __get/__put_kernel_nofault](http://lore.kernel.org/lkml/20240921071005.909660-1-snovitoll@gmail.com/)** + +> Instrument copy_from_kernel_nofault(), copy_to_kernel_nofault(), +> strncpy_from_kernel_nofault() where __put_kernel_nofault, +> __get_kernel_nofault macros are used. + +**[v2: ext4: prevent data-race that occur when read/write ext4_group_desc structure members](http://lore.kernel.org/lkml/20240920150013.2447-1-aha310510@gmail.com/)** + +> Currently, data-race like [1] occur in fs/ext4/ialloc.c + +**[v1: Selective mitigation for trusted userspace](http://lore.kernel.org/lkml/20240919-selective-mitigation-v1-0-1846cf41895e@linux.intel.com/)** + +> This is an experimental series exploring the feasibility of selectively +> applying CPU vulnerability mitigations on a per-process basis. + +**[GIT PULL: PCI changes for v6.12](http://lore.kernel.org/lkml/20240919194514.GA1025547@bhelgaas/)** + +> The following changes since commit 8400291e289ee6b2bf9779ff1c83a291501f017b + +**[GIT PULL: perf tools changes for v6.12](http://lore.kernel.org/lkml/20240919143330.492157-1-acme@kernel.org/)** + +> Please consider pulling, + +**[GIT PULL: platform-drivers-x86 for 6.12-1](http://lore.kernel.org/lkml/dede57b5-3ef2-4451-a496-537f3c05a1d6@redhat.com/)** + +> Here is the main PDx86 PR for 6.12. + +**[GIT PULL: Performance events changes for v6.12](http://lore.kernel.org/lkml/ZurLc9qEjBH9MkvK@gmail.com/)** + +> Pull the latest perf/core Git tree from + +**[v3: platform/x86: introduce asus-armoury driver](http://lore.kernel.org/lkml/20240918094250.82430-1-luke@ljones.dev/)** + +> This is the first major patch I've ever done with the intention of +> introducing a new module, so it's highly likely I've made some mistakes +> or misunderstood something. + +**[[PATCH AUTOSEL 5.4] x86/hyperv: Set X86_FEATURE_TSC_KNOWN_FREQ when Hyper-V provides frequency](http://lore.kernel.org/lkml/20240918063701.239061-1-sashal@kernel.org/)** + +> A Linux guest on Hyper-V gets the TSC frequency from a synthetic MSR, if +> available. + +**[[PATCH AUTOSEL 5.15] x86/hyperv: Set X86_FEATURE_TSC_KNOWN_FREQ when Hyper-V provides frequency](http://lore.kernel.org/lkml/20240918063648.238989-1-sashal@kernel.org/)** + +> A Linux guest on Hyper-V gets the TSC frequency from a synthetic MSR, if +> available. + +**[[GIT pull] x86/timers for v6.12-rc1](http://lore.kernel.org/lkml/172656199565.2471820.2194273071925899062.tglx@xen13/)** + +> please pull the latest x86/timers branch from + +**[[GIT pull] x86/core for v6.12-rc1](http://lore.kernel.org/lkml/172656198591.2471820.16405077089777095536.tglx@xen13/)** + +> Enable UBSAN traps for x86, which provides better reporting through +> metadata encodeded into UD1. + +**[v1: objtool: Also include tools/include/uapi](http://lore.kernel.org/lkml/20240917012808.24037-1-elsk@google.com/)** + +> Added tools/include/uapi to the include paths when +> building objtool. With this trick, linux/stddef.h is resolved to +> tools/include/uapi/linux/stddef.h, which doesn't include +> linux/compiler_types.h. +> + +**[v1: Extend SEV-SNP SVSM support with a kvm_vcpu per VMPL](http://lore.kernel.org/lkml/cover.1726506534.git.roy.hopkins@suse.com/)** + +> I've prepared this series as an extension to the RFC patch series: 'SEV-SNP +> support for running an SVSM' posted by Tom Lendacky [1]. + +**[v1: 6.6: 6.6.52-rc1 review](http://lore.kernel.org/lkml/20240916114224.509743970@linuxfoundation.org/)** + +> This is the start of the stable review cycle for the 6.6.52 release. +> There are 91 patches in this series, all will be posted as a response +> to this one. + +**[v1: 6.10: 6.10.11-rc1 review](http://lore.kernel.org/lkml/20240916114228.914815055@linuxfoundation.org/)** + +> This is the start of the stable review cycle for the 6.10.11 release. +> There are 121 patches in this series, all will be posted as a response +> to this one. + +**[v1: 6.1: 6.1.111-rc1 review](http://lore.kernel.org/lkml/20240916114221.021192667@linuxfoundation.org/)** + +> This is the start of the stable review cycle for the 6.1.111 release. +> There are 63 patches in this series, all will be posted as a response +> to this one. + +**[v1: acerhdf refactoring](http://lore.kernel.org/lkml/20240915171953.163220-1-peter@piie.net/)** + +> hope you're doing good. I finally found some time to rework acerhdf. + +**[v1: x86: add more x86-64 micro-architecture levels](http://lore.kernel.org/lkml/W22JX8eWQctCiWIDKGjx4IUU4ZgYmKa1zPOZSKHHVZ74zpUEmVV1VoPMMNcyc-zhraUayW0d4d7OIUYZHuiEqllnAc1tB8DthZahsHZuw0Y=@proton.me/)** + +> GCC 11.1 and Clang 12.0[1] allow for the following new generic +> 64-bit levels: x86-64-v2, x86-64-v3, and x86-64-v4. This commit +> adds them as options accessible under. + +**[v15: tracing: fprobe: function_graph: Multi-function graph and fprobe on fgraph](http://lore.kernel.org/lkml/172639136989.366111.11359590127009702129.stgit@devnote2/)** + +> Here is the 15th version of the series to re-implement the fprobe on +> function-graph tracer. + +**[GIT PULL: First batch of KVM changes for Linux 6.12](http://lore.kernel.org/lkml/20240915064621.5268-1-pbonzini@redhat.com/)** + +> These are the non-x86 changes (mostly ARM, as is usually the case). + +**[v3: perf & kvm: Enhance perf to collect KVM guest os statistics from host side](http://lore.kernel.org/lkml/1902387910.2078.435.camel@ymzhang.sh.intel.com/)** + +> Here is the new patch of V3 against tip/master of April 13th +> if anyone wants to try it. + +#### 进程调度 + +**[[GIT pull] sched/rt for v6.12-rc1](http://lore.kernel.org/lkml/172656429254.2474571.1051331842339040765.tglx@xen13/)** + +> After twenty years of development we finally reached the point to enable +> PREEMPT_RT support in the mainline kernel. + +**[v1: perf sched: Introduce stats tool](http://lore.kernel.org/lkml/20240916164722.1838-1-ravi.bangoria@amd.com/)** + +> Existing `perf sched` is quite exhaustive and provides lot of insights +> into scheduler behavior but it quickly becomes impractical to use for +> long running or scheduler intensive workload. + +**[v1: sched/syscalls: Allow setting niceness using sched_param struct](http://lore.kernel.org/lkml/20240916050741.24206-1-mcpratt@pm.me/)** + +> From userspace, spawning a new process with, for example, +> posix_spawn(), only allows the user to work with +> the scheduling priority value defined by POSIX +> in the sched_param struct. + +#### 内存管理 + +**[v1: rust: alloc: pass `old_layout` to `Allocator`](http://lore.kernel.org/linux-mm/20240921153315.70860-1-dakr@kernel.org/)** + +> Since this came up a few times, this patch shows how the implementation +> looks like with an `old_layout` argument. + +**[v1: mm/fake-numa: per-phys node fake size](http://lore.kernel.org/linux-mm/20240921081348.10016-1-bfaccini@nvidia.com/)** + +> Determine fake numa node size on a per-phys node basis to +> handle cases where there are big differences of reserved +> memory size inside physical nodes, this will allow to get +> the expected number of nodes evenly interleaved. + +**[v1: memory tiering fairness by per-cgroup control of promotion and demotion](http://lore.kernel.org/linux-mm/20240920221202.1734227-1-kaiyang2@cs.cmu.edu/)** + +> Currently in Linux, there is no concept of fairness in memory tiering. Depending +> on the memory usage and access patterns of other colocated applications, an +> application cannot be sure of how much memory in which tier it will get, and how +> much its performance will suffer or benefit. + +**[v2: tmpfs: fault in smaller chunks if large folio allocation not allowed](http://lore.kernel.org/linux-mm/20240920143654.1008756-1-wangkefeng.wang@huawei.com/)** + +> The tmpfs supports large folio, but there is some configurable options +> to enable/disable large folio allocation, and for huge=within_size, +> large folio only allowabled if it fully within i_size, so there is +> performance issue when perform write without large folio, the issue is +> similar to commit 4e527d5841e2 ("iomap: fault in smaller chunks for +> non-large folio mappings"). + +**[v1: mm/page_alloc: Add some detailed comments in can_steal_fallback](http://lore.kernel.org/linux-mm/20240920122030.159751-1-gxxa03070307@gmail.com/)** + +**[v13: ACPI: APEI: handle synchronous errors in task work](http://lore.kernel.org/linux-mm/20240920043027.21907-1-xueshuai@linux.alibaba.com/)** + +> ## Changes Log +> +**[v1: refine mas_end of mas_mab_cp()](http://lore.kernel.org/linux-mm/20240919234832.24237-1-richard.weiyang@gmail.com/)** + +> mas_mab_cp() copy range [mas_start, mas_end] inclusively. For some usage, the +> mas_end passed could be refined. + +**[v1: ext4, mm: improve partial inode eof zeroing](http://lore.kernel.org/linux-mm/20240919160741.208162-1-bfoster@redhat.com/)** + +> I've been poking around at testing zeroing behavior after a couple +> recent enhancements to iomap_zero_range() and fsx[1]. + +**[v1: misc: sgi-gru: Don't disable preemption in GRU driver](http://lore.kernel.org/linux-mm/ZuwaasSf0ZzcYHiN@hpe.com/)** + +> Disabling preemption in the GRU driver is unnecessary, and clashes with +> sleeping locks in several code paths. + +**[v1: Add BLK_FEAT_READ_SYNCHRONOUS and SWP_READ_SYNCHRONOUS_IO](http://lore.kernel.org/linux-mm/20240919112952.981-1-qun-wei.lin@mediatek.com/)** + +> This patchset introduces 2 new feature flags, BLK_FEAT_READ_SYNCHRONOUS and +> SWP_READ_SYNCHRONOUS_IO. + +**[v2: Add NUMA mempolicy support for KVM guest_memfd](http://lore.kernel.org/linux-mm/20240919094438.10987-1-shivankg@amd.com/)** + +> The current implementation of KVM guest-memfd does not honor the settings +> provided by VMM. + +**[v1: mm: call the security_mmap_file() LSM hook in remap_file_pages()](http://lore.kernel.org/linux-mm/20240919080905.4506-2-paul@paul-moore.com/)** + +> The remap_file_pages syscall handler calls do_mmap() directly, which +> doesn't contain the LSM security check. + +**[v1: Add hazard pointers to kernel](http://lore.kernel.org/linux-mm/20240917143402.930114-1-boqun.feng@gmail.com/)** + +> This series introduces hazard pointers [1] to kernel space. + +**[v1: Proposal of Integrating Namespaces and Cgroups for Enhanced Resource Management](http://lore.kernel.org/linux-mm/tencent_267F5BF50FA3C336668111300A244FFA5205@qq.com/)** + + +> We have carefully reviewed the comments and have made the necessary adjustments to the patch to align with the Linux kernel development conventions. + +**[v2: Compute contiguous empty PTEs for mTHP efficiently](http://lore.kernel.org/linux-mm/20240916110754.1236200-1-dev.jain@arm.com/)** + +> We use pte_range_none() to determine whether contiguous PTEs are empty +> for an mTHP allocation. + +**[v4: Do not shatter hugezeropage on wp-fault](http://lore.kernel.org/linux-mm/20240916094309.1226908-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. + +**[v1: Managed Percpu Refcount](http://lore.kernel.org/linux-mm/20240916050811.473556-1-Neeraj.Upadhyay@amd.com/)** + +**[v8: fs: multigrain timestamp redux](http://lore.kernel.org/linux-mm/20240914-mgtime-v8-0-5bd872330bed@kernel.org/)** + +> This is a fairly small update to the v7 set. + +**[v1: -next: tmpfs: fault in smaller chunks if large folio allocation not allowed](http://lore.kernel.org/linux-mm/20240914140613.2334139-1-wangkefeng.wang@huawei.com/)** + +> The tmpfs supports large folio, but there is some configurable options +> to enable/disable large folio allocation, and for huge=within_size, +> large folio only allowabled if it fully within i_size, so there is +> performance issue when perform write without large folio, the issue is +> similar to commit 4e527d5841e2 ("iomap: fault in smaller chunks for +> non-large folio mappings"). + +**[v1: mm: mglru: provide a separate list for lazyfree anon folios](http://lore.kernel.org/linux-mm/20240914063746.46290-1-21cnbao@gmail.com/)** + +> This follows up on the discussion regarding Gaoxu's work. + +#### 文件系统 + +**[GIT PULL: bcachefs changes for 6.12-rc1](http://lore.kernel.org/linux-fsdevel/dtolpfivc4fvdfbqgmljygycyqfqoranpsjty4sle7ouydycez@aw7v34oibdhm/)** + +> I think we'll be able to take off EXPERIMENTAL in inside of a year, see +> below for more. + +**[v1: drm/panthor: Add FOP_UNSIGNED_OFFSET to fop_flags](http://lore.kernel.org/linux-fsdevel/20240920102802.2483367-1-liviu.dudau@arm.com/)** + +> Since 641bb4394f40 ("fs: move FMODE_UNSIGNED_OFFSET to fop_flags") +> the FMODE_UNSIGNED_OFFSET flag has been moved to fop_flags and renamed, +> but the patch failed to make the changes for the panthor driver. + +**[v1: RESEND: rust: introduce declare_err! autogeneration](http://lore.kernel.org/linux-fsdevel/20240920024920.215842-1-toolmanp@tlmp.cc/)** + +> This patchset solves this issues for good by introducing a rule +> to generate errno_generated.rs by seding the errno.h and +> including the generated file in the error.rs. + +**[v1: API for exporting connectable file handles to userspace](http://lore.kernel.org/linux-fsdevel/20240919140611.1771651-1-amir73il@gmail.com/)** + +> These patches bring the NFS connectable file handles feature to +> userspace servers. + +**[GIT PULL: vfs blocksize](http://lore.kernel.org/linux-fsdevel/20240913-vfs-blocksize-ab40822b2366@brauner/)** + +> This contains the vfs infrastructure as well as the xfs bits to enable +> support for block sizes (bs) larger than page sizes (ps) plus a few +> fixes to related infrastructure. + +**[v1: cifs: Make the write_{enter,done,err} tracepoints display netfs info](http://lore.kernel.org/linux-fsdevel/2390624.1726687464@warthog.procyon.org.uk/)** + +> Make the write RPC tracepoints use the same trace macro complexes as the +> read tracepoints and display the netfs request and subrequest IDs where +> available (see commit 519be989717c "cifs: Add a tracepoint to track credits +> involved in R/W requests"). + +**[v1: more descriptor fun: dma_buf_fd()](http://lore.kernel.org/linux-fsdevel/20240916195713.GP2825852@ZenIV/)** + +> dma_buf_fd() takes dmabuf and either inserts the corresponding +> struct file reference into descriptor table (and returns the descriptor) +> or returns an error. In the former case dmabuf reference is consumed, +> in the latter it is not. + +**[v1: erofs: introduce Rust implementation](http://lore.kernel.org/linux-fsdevel/20240916135541.98096-1-toolmanp@tlmp.cc/)** + +> So here is a patchset to add Rust skeleton codes to the current EROFS +> implementation. + +**[v2: fs/exfat: resolve memory leak from exfat_create_upcase_table()](http://lore.kernel.org/linux-fsdevel/20240916052128.225475-1-danielyangkang@gmail.com/)** + +> If exfat_load_upcase_table reaches end and returns -EINVAL, +> allocated memory doesn't get freed and while +> exfat_load_default_upcase_table allocates more memory, leading to a +> memory leak. + +**[v1: fuse: use exclusive lock when FUSE_I_CACHE_IO_MODE is set](http://lore.kernel.org/linux-fsdevel/20240914085131.3871317-1-yangyun50@huawei.com/)** + +> This may be a typo. The comment has said shared locks are +> not allowed when this bit is set. + +**[v1: blk: optimization for classic polling](http://lore.kernel.org/linux-fsdevel/3578876466-3733-1-git-send-email-nj.shetty@samsung.com/)** + +> This removes the dependency on interrupts to wake up task. Set task +> state as TASK_RUNNING, if need_resched() returns true, +> while polling for IO completion. + +#### 网络设备 + +**[v1: bpf-next: Add XDP rx hw hints support performing XDP_REDIRECT](http://lore.kernel.org/netdev/cover.1726935917.git.lorenzo@kernel.org/)** + +> This series introduces the xdp_rx_meta struct in the xdp_buff/xdp_frame +> one as a container to store the already supported xdp rx hw hints (rx_hash +> and rx_vlan, rx_timestamp will be stored in skb_shared_info area) when the +> eBPF program running on the nic performs XDP_REDIRECT. Doing so, we are able +> to set the skb metadata converting the xdp_buff/xdp_frame to a skb. + +**[v2: net: mana: Add get_link and get_link_ksettings in ethtool](http://lore.kernel.org/netdev/1726867103-19295-1-git-send-email-ernis@linux.microsoft.com/)** + +> Add support for the ethtool get_link and get_link_ksettings +> operations. Display standard port information using ethtool. + +**[v2: net/mlx5: unique names for per device caches](http://lore.kernel.org/netdev/20240920181129.37156-1-sebott@redhat.com/)** + +> Add the device name to the per device kmem_cache names to +> ensure their uniqueness. This fixes warnings like this: +> "kmem_cache of name 'mlx5_fs_fgs' already exists". + +**[v1: bpf-next: bpf: Make sure internal and UAPI bpf_redirect flags don't overlap](http://lore.kernel.org/netdev/20240920125625.59465-1-toke@redhat.com/)** + +> The bpf_redirect_info is shared between the SKB and XDP redirect paths, +> and the two paths use the same numeric flag values in the ri->flags +> field (specifically, BPF_F_BROADCAST == BPF_F_NEXTHOP). + +**[v1: net: fjes: Refactor a string comparison in is_extended_socket_device()](http://lore.kernel.org/netdev/9ec752a8-49e9-40fd-8ed9-fed29d53f37b@web.de/)** + +> Assign the return value from a strncmp() call to a local variable +> so that an if statement can be omitted accordingly. + +**[v1: net: xilinx: axienet: Reduce scopes for two resources in axienet_probe()](http://lore.kernel.org/netdev/2e6f6f8f-89de-4b75-a0af-3a55bc046ab7@web.de/)** + +> The calls “dma_release_channel(tx_chan)” and “of_node_put(np)” +> were immediately used after return value checks in this +> function implementation. + +**[v1: net-next: Threads extension for process connector](http://lore.kernel.org/netdev/20240920000933.185090-1-anjali.k.kulkarni@oracle.com/)** + +> Recently we committed a fix to allow processes to receive notifications for +> non-zero exits via the process connector module. Commit is a4c9a56e6a2c. + +**[v1: Extending features on DP83TG720 driver](http://lore.kernel.org/netdev/cover.1726263095.git.a-reyes1@ti.com/)** + +> The DP83TG720S-Q1 device is an IEEE 802.3bp +> and Open Alliance compliant automotive Ethernet +> physical layer transceiver. It provides all physical layer +> functions needed to transmit and receive data over +> unshielded/shielded single twisted-pair cables. + +**[v2: net: stmmac: set PP_FLAG_DMA_SYNC_DEV only if XDP is enabled](http://lore.kernel.org/netdev/20240919121028.1348023-1-0x1207@gmail.com/)** + +> After this patch, up to 9% noticeable performance improvement was observed +> on certain platforms. + +**[v1: octeontx2-af: Change block parameter to const pointer in get_lf_str_list](http://lore.kernel.org/netdev/20240919091935.68209-2-riyandhiman14@gmail.com/)** + +> Convert struct rvu_block block to const struct rvu_block *block in +> get_lf_str_list() function parameter. + +**[v1: net-next: wireguard: Omit unnecessary memset of netdev private data](http://lore.kernel.org/netdev/20240919085746.16904-1-tklauser@distanz.ch/)** + +> The memory for netdev_priv is allocated using kvzalloc in +> alloc_netdev_mqs before rtnl_link_ops->setup is called so there is no +> need to zero it again in wg_setup. + +**[v3: net-next: Netlink flag for creating IPv6 Default Routes](http://lore.kernel.org/netdev/SJ0PR84MB2088FC1661ECE21663B2F59FD8632@SJ0PR84MB2088.NAMPRD84.PROD.OUTLOOK.COM/)** + +> From 7b6ccc0ce49f1bb440a6f91f45fd2e46542d169c Mon Sep 17 00:00:00 2001 + +**[Submitted a patch, got error "Patch does not apply to net-next-0"](http://lore.kernel.org/netdev/SJ0PR84MB208883688BD13CC7AA8F880ED8632@SJ0PR84MB2088.NAMPRD84.PROD.OUTLOOK.COM/)** + +> First time submitter and it seems I did something wrong, as I got the error "Patch does not apply to net-next-0". I suspected it was complaining about a missing end-of-line, so I resubmitted and get the error "Patch does not apply to net-next-1". + +**[v2: net: stmmac: dwmac4: extend timeout for VLAN Tag register busy bit check](http://lore.kernel.org/netdev/20240918193452.417115-1-shenwei.wang@nxp.com/)** + +> Increase the timeout for checking the busy bit of the VLAN Tag register +> from 10µs to 500ms. This change is necessary to accommodate scenarios +> where Energy Efficient Ethernet (EEE) is enabled. + +**[v1: net: r8169: add missing MODULE_FIRMWARE entry for RTL8126A rev.b](http://lore.kernel.org/netdev/bb307611-d129-43f5-a7ff-bdb6b4044fce@gmail.com/)** + +> Add a missing MODULE_FIRMWARE entry. + +**[v3: net-next: sfc: per-queue stats](http://lore.kernel.org/netdev/cover.1726593632.git.ecree.xilinx@gmail.com/)** + +> This series implements the netdev_stat_ops interface for per-queue +> statistics in the sfc driver, partly using existing counters that +> were originally added for ethtool -S output. + +**[v1: net-next: e1000e: link NAPI instances to queues and IRQs](http://lore.kernel.org/netdev/20240918135726.1330-1-jdamato@fastly.com/)** + +> Make e1000e compatible with the newly added netdev-genl APIs. + +**[v11: iwl-next: ice: Implement PTP support for E830 devices](http://lore.kernel.org/netdev/20240918122048.1554692-9-karol.kolacinski@intel.com/)** + +> Add specific functions and definitions for E830 devices to enable +> PTP support. + +**[v1: net-next: net/smc: Introduce a hook to modify syn_smc at runtime](http://lore.kernel.org/netdev/1726654204-61655-1-git-send-email-alibuda@linux.alibaba.com/)** + +> The introduction of IPPROTO_SMC enables eBPF programs to determine +> whether to use SMC based on the context of socket creation, such as +> network namespaces, PID and comm name, etc. + +**[v2: bpf-next: Cgroup skb add helper to get net_cls's classid](http://lore.kernel.org/netdev/20240918074516.5697-1-zhoufeng.zf@bytedance.com/)** + +**[v1: net-next: vmxnet3: support higher link speeds from vmxnet3 v9](http://lore.kernel.org/netdev/20240917225947.23742-1-ronak.doshi@broadcom.com/)** + +> This patch adds support for vmxnet3 to report higher link speeds and +> converts it to mbps as expected by Linux stack. + +**[v1: net: r8169: add tally counter fields added with RTL8125](http://lore.kernel.org/netdev/741d26a9-2b2b-485d-91d9-ecb302e345b5@gmail.com/)** + +> RTL8125 added fields to the tally counter, what may result in the chip +> dma'ing these new fields to unallocated memory. + +**[v1: net/ncsi: Cancel the ncsi work before freeing the associated structure](http://lore.kernel.org/netdev/20240917191255.1436553-1-eajames@linux.ibm.com/)** + +> The work function can run after the ncsi device is freed, resulting +> in use-after-free bugs or kernel panic. + +**[v4: net-next: net: phy: microchip_t1: SQI support for LAN887x](http://lore.kernel.org/netdev/20240917115657.51041-1-tarun.alle@microchip.com/)** + +> Add support for measuring Signal Quality Index for LAN887x T1 PHY. +> Signal Quality Index (SQI) is measure of Link Channel Quality from +> 0 to 7, with 7 as the best. By default, a link loss event shall +> indicate an SQI of 0. + +**[v7: net-next: Introducing OpenVPN Data Channel Offload](http://lore.kernel.org/netdev/20240917010734.1905-1-antonio@openvpn.net/)** + +> This is the 7th version of the ovpn patchset. + +**[v5: PCIe TPH and cache direct injection support](http://lore.kernel.org/netdev/20240916205103.3882081-1-wei.huang2@amd.com/)** + +> This series introduces generic TPH support in Linux, allowing STs to be +> retrieved and used by PCIe endpoint drivers as needed. As a +> demonstration, it includes an example usage in the Broadcom BNXT driver. + +**[v2: net: ipv6: select DST_CACHE from IPV6_RPL_LWTUNNEL](http://lore.kernel.org/netdev/20240916-ipv6_rpl_lwtunnel-dst_cache-v2-1-e36be2c3a437@linutronix.de/)** + +> The rpl sr tunnel code contains calls to dst_cache_*() which are +> only present when the dst cache is built. + +**[v1: stmmac: mmc: dwmac4: Add ip payload error statistics](http://lore.kernel.org/netdev/20240916094812.29804-1-minda.chen@starfivetech.com/)** + +> Add dwmac4 ip payload error statistics, and rename discripter bit macro +> because latest version descriptor IPCE bit claims include ip checksum +> error and l4 segment length error. + +**[v2: Introduce GRO support to cpumap codebase](http://lore.kernel.org/netdev/cover.1726480607.git.lorenzo@kernel.org/)** + +> Add GRO support to cpumap codebase moving the cpu_map_entry kthread to a +> NAPI-kthread pinned on the selected cpu. + +#### 安全增强 + +**[v1: clocksource/drivers/timer-sprd: Select driver on ARM and ARM64](http://lore.kernel.org/linux-hardening/TYSPR04MB70840448562705C21BA8DCCF8A632@TYSPR04MB7084.apcprd04.prod.outlook.com/)** + +> sprd timer is currently available on ARM and ARM64 based devices. + +**[v2: Add inline encryption support](http://lore.kernel.org/linux-hardening/20240916085741.1636554-1-quic_mdalam@quicinc.com/)** + +> QCOM SDCC controller having Inline Crypto Engine support +> Inline Crypto Engine do encryption/decryption on fly. + +#### 异步 IO + +**[v1: io_uring: check if we need to reschedule during overflow flush](http://lore.kernel.org/io-uring/0bf88b09-277c-4a87-bd55-2e4d7da511b5@kernel.dk/)** + +> In terms of normal application usage, this list will always be empty. +> And if an application does overflow a bit, it'll have a few entries. + +**[v8: RESEND: io_uring: releasing CPU resources when polling](http://lore.kernel.org/io-uring/20240918021010.12894-1-xue01.he@samsung.com/)** + +> This patch add a new hybrid poll at io_uring level, it also set a signal +> "IORING_SETUP_HY_POLL" to application, aim to provide a interface for users +> to enable use new hybrid polling flexibly. + +**[v2: napi tracking strategy](http://lore.kernel.org/io-uring/cover.1726354973.git.olivier@trillion01.com/)** + +> the patch serie consist of very minor fixes followed by the core of the changes +> to implement the new feature. + +**[v3: RESEND: io_uring: do the sqpoll napi busy poll outside the submission block](http://lore.kernel.org/io-uring/de7679adf1249446bd47426db01d82b9603b7224.1726161831.git.olivier@trillion01.com/)** + +> there are many small reasons justifying this change. + +**[v1: io_uring/sqpoll: retain test for whether the CPU is valid](http://lore.kernel.org/io-uring/36b09a00-9f72-4ef2-8f73-79b2ba99b11c@kernel.dk/)** + +> A recent commit ensured that SQPOLL cannot be setup with a CPU that +> isn't in the current tasks cpuset, but it also dropped testing whether +> the CPU is valid in the first place. + +#### Rust For Linux + +**[v1: rust: introduce declare_err! autogeneration](http://lore.kernel.org/rust-for-linux/20240919133545.942223-1-toolmanp@tlmp.cc/)** + +> This patchset solves this issues by introducing a rule to generate +> errno_generated.rs by seding the errno.h and +> including the generated file in the error.rs. + +**[v2: rust: types: Add examples for the `Either` type](http://lore.kernel.org/rust-for-linux/20240918212052.8790-1-nells@linux.microsoft.com/)** + +> Add examples for the `Either` type + +**[v2: hrtimer Rust API](http://lore.kernel.org/rust-for-linux/20240917222739.1298275-1-a.hindborg@kernel.org/)** + +> This series adds support for using the `hrtimer` subsystem from Rust code. + +**[v1: kbuild: support building external modules in a separate build directory](http://lore.kernel.org/rust-for-linux/20240917141725.466514-1-masahiroy@kernel.org/)** + +> There has been a long-standing request to support building external +> modules in a separate build directory. + +**[v1: rust: Adds examples for the `Either` type](http://lore.kernel.org/rust-for-linux/20240916233507.11779-1-nells@linux.microsoft.com/)** + +> Adds examples for the `Either` type + +**[v2: rust: sync: Add Lock::from_raw for Lock<(), B>](http://lore.kernel.org/rust-for-linux/20240916231817.643934-2-lyude@redhat.com/)** + +> This patch just adds a ::from_raw method to the kernel's Lock type, +> which can be used for locks where the data type is (). + +**[v1: rust: sync: Add Lock::from_raw for ZST data types](http://lore.kernel.org/rust-for-linux/20240916220818.567277-1-lyude@redhat.com/)** + +> This patch just adds a ::from_raw method to the kernel's Lock type, +> which can be used for locks where the data type is a ZST. + +**[v6: rust: Add irq abstraction, SpinLockIrq](http://lore.kernel.org/rust-for-linux/20240916213025.477225-1-lyude@redhat.com/)** + +> This adds a simple interface for disabling and enabling CPUs, along with +> the ability to mark a function as expecting interrupts be disabled - +> along with adding bindings for spin_lock_irqsave/spin_lock_irqrestore(). + +**[v2: rust: add trylock method support for lock backend](http://lore.kernel.org/rust-for-linux/DM4PR14MB727673292DEC9134C3FE559CE9672@DM4PR14MB7276.namprd14.prod.outlook.com/)** + +> Add a non-blocking trylock method to lock backend interface, mutex +> and spinlock implementations. + +**[v2: rust: sync: require `T: Sync` for `LockedBy::access`](http://lore.kernel.org/rust-for-linux/20240915-locked-by-sync-fix-v2-1-1a8d89710392@google.com/)** + +> The `LockedBy::access` method only requires a shared reference to the +> owner, so if we have shared access to the `LockedBy` from several +> threads at once, then two threads could call `access` in parallel and +> both obtain a shared reference to the inner value. Thus, require that +> `T: Sync` when calling the `access` method. + +#### BPF + +**[v1: bpf-next: libbpf: add resizable array helpers](http://lore.kernel.org/bpf/20240921011712.83355-1-inwardvessel@gmail.com/)** + +> Arrays in custom data sections can be resized via bpf_map__set_value(). +> While working with these types of arrays in some sched_ext programs, there +> was some feedback that the manual operations involved could use helpers. + +**[v2: dwarves: Emit global variables in BTF](http://lore.kernel.org/bpf/20240920081903.13473-1-stephen.s.brennan@oracle.com/)** + +> This is v2 of the series to add global variables to pahole's generated BTF. +> Please see v1's cover letter for more justification and background. + +**[v1: bpf-next: Improve .BTF_ids patching and alignment](http://lore.kernel.org/bpf/cover.1726806756.git.tony.ambardar@gmail.com/)** + +> This patch series offers improvements to the way .BTF_ids section data is +> created and later patched by resolve_btfids. + +**[v1: bpf-next: libbpf: change log level of BTF loading error message](http://lore.kernel.org/bpf/20240918193319.1165526-1-ihor.solodrai@pm.me/)** + +> Reduce log level of BTF loading error to INFO if BTF is not required. + +**[v1: uprobes: Improve the usage of xol slots for better scalability](http://lore.kernel.org/bpf/20240918012752.2045713-1-liaochang1@huawei.com/)** + +> The kprobe handler allocates xol slot from xol_area and quickly release +> it in the single-step handler. The atomic operations on the xol bitmap +> and slot_count lead to expensive cache line bouncing between multiple +> CPUs. + +**[v1: dwarves: pahole: generate "bpf_fastcall" decl tags for eligible kfuncs](http://lore.kernel.org/bpf/20240916091921.2929615-1-eddyz87@gmail.com/)** + +> For kfuncs marked with KF_FASTCALL flag generate the following pair of +> decl tags: + +**[v1: bpf-next: 'bpf_fastcall' attribute in vmlinux.h and bpf_helper_defs.h](http://lore.kernel.org/bpf/20240916091712.2929279-1-eddyz87@gmail.com/)** + +> The goal of this patch-set is to reflect attribute bpf_fastcall +> for supported helpers and kfuncs in generated header files. + +**[v1: net: bondig: Add bond_xdp_check for bond_xdp_xmit in bond_main.c](http://lore.kernel.org/bpf/20240916055011.16655-1-jiwonaid0@gmail.com/)** + +> Add bond_xdp_check to ensure the bond interface is in a valid state. + +**[v2: bpf-next: Support eliding map lookup nullness](http://lore.kernel.org/bpf/cover.1726458273.git.dxu@dxuuu.xyz/)** + +> This patch allows progs to elide a null check on statically known map +> lookup keys. In other words, if the verifier can statically prove that +> the lookup will be in-bounds, allow the prog to drop the null check. + +**[v3: -next: perf stat: Support inherit events for bperf](http://lore.kernel.org/bpf/20240916014318.267709-1-wutengda@huaweicloud.com/)** + +> Here is the 3th version of the series to support inherit events for bperf. +> This version add pid or tgid selection based on filter type in new_task +> prog to avoid memory waste and potential count loss. + +**[v5: powerpc: Core ftrace rework, support for ftrace direct and bpf trampolines](http://lore.kernel.org/bpf/20240915205648.830121-1-hbathini@linux.ibm.com/)** + +> This series reworks core ftrace support on powerpc to have the function +> profiling sequence moved out of line. + +**[v1: bpf: Constify struct btf_kind_operations](http://lore.kernel.org/bpf/9192ab72b2e9c66aefd6520f359a20297186327f.1726417289.git.christophe.jaillet@wanadoo.fr/)** + +> Constifying this structures moves some data to a read-only section, so +> increase overall security, especially when the structure holds some +> function pointers. + +**[v1: net: netkit: Ensure current->bpf_net_context is set in netkit_xmit()](http://lore.kernel.org/bpf/20240914184616.2916445-1-jrife@google.com/)** + +> When operating Cilium in netkit mode with BPF-based host routing, calls +> to bpf_redirect() cause a kernel panic. + +**[v2: bpf: Check the remaining info_cnt before repeating btf fields](http://lore.kernel.org/bpf/20240914133703.1920767-1-houtao@huaweicloud.com/)** + +> The patch set adds the missed check again info_cnt when flattening the +> array of nested struct. The problem was spotted when developing dynptr +> key support for hash map. Patch #1 adds the missed check and patch #2 +> adds three success test cases and one failure test case for the problem. + +### 周边技术动态 + +#### Qemu + +**[v7: target/riscv: Expose RV32 cpu to RV64 QEMU](http://lore.kernel.org/qemu-devel/20240919055048.562-1-zhiwei_liu@linux.alibaba.com/)** + +> This patch set aims to expose 32-bit RISC-V cpu to RV64 QEMU. Thus +> qemu-system-riscv64 can directly boot a RV32 Linux. + +**[v6: Improve the performance of RISC-V vector unit-stride/whole register ld/st instructions](http://lore.kernel.org/qemu-devel/20240918171412.150107-1-max.chou@sifive.com/)** + +> Thank for Richard Henderson's suggestions that this version unrolled the +> loop in helper functions of unmasked vector unit-stride load/store +> instructions, etc. + +**[v9: target/riscv/kvm/kvm-cpu.c: kvm_riscv_handle_sbi() fail with vendor-specific SBI](http://lore.kernel.org/qemu-devel/20240917115433.38503-1-alexei.filippov@syntacore.com/)** + +> Add new error path to provide proper error in case of +> qemu_chr_fe_read_all() may not return sizeof(ch), because exactly zero +> just means we failed to read input, which can happen, so +> telling the SBI caller we failed to read, but telling the caller of this +> function that we successfully emulated the SBI call, is correct. + +**[v7: bsd-user: Comprehensive RISCV Support](http://lore.kernel.org/qemu-devel/20240916155119.14610-1-itachis@FreeBSD.org/)** + +> Key Changes Compared to Version 6: +> Included "signal-common.h" in target_arch_cpu.h + + ## 20240916:第 109 期 ### 内核动态 -- Gitee