泰晓科技 -- 聚焦 Linux - 追本溯源,见微知著!
网站地址:https://tinylab.org

泰晓RISC-V实验箱,转战RISC-V,开箱即用
请稍侯

RISC-V Linux 内核及周边技术动态第 116 期

呀呀呀 创作于 2024/11/04

时间:20241103
编辑:晓瑜
仓库:RISC-V Linux 内核技术调研活动
赞助:PLCT Lab, ISCAS

内核动态

RISC-V 架构支持

v1: riscv: Memory type control for platforms with physical memory aliases

On some RISC-V platforms, including StarFive JH7100 and ESWIN EIC7700, RAM is mapped to multiple physical address ranges, with each alias having a different set of statically-determined Physical Memory Attributes (PMAs).

v2: LKMM generic atomics in Rust

This is another RFC version of LKMM atomics in Rust, you can find the previous versions.

v1: net-next: riscv: sophgo: Add ethernet support for SG2044

The ethernet controller of SG2044 is Synopsys DesignWare IP with custom clock. Add glue layer for it.

v5: Introduce support for T-head TH1520 Mailbox

The T-head TH1520 SoC supports a hardware mailbox that enables two cores within the SoC to communicate and coordinate.

v5: riscv: interrupt-controller: Add T-HEAD C900 ACLINT SSWI

Add full support for T-HEAD C900 SSWI device.

v6: net-next: Add the dwmac driver support for T-HEAD TH1520 SoC

This series adds support for dwmac gigabit ethernet in the T-Head TH1520 RISC-V SoC used on boards like BeagleV Ahead and the LicheePi 4A.

v12: Tracepoints and static branch in Rust

This series includes a patch that adds a user of tracepoints to the rust_print sample.

v7: riscv control-flow integrity for usermode

This series picks up Samuel Holland’s envcfg changes [2] as well. So if those are being applied independently, they should be removed from this series.

v1: ACPI: CPPC: Make rmw_lock a raw_spin_lock

The following BUG was triggered. sugov_update_shared() locks a raw_spinlock while cpc_write() locks a spinlock. To have a correct wait-type order, update rmw_lock to a raw_spinlock.

v7: Add DeepComputing FML13V01 board dts

This series updates Device Tree related files to introduce the FML13V10 board from DeepComputing, which incorporates a StarFive JH7110 SoC.

v1: riscv: Add bfloat16 instruction support

Add description for the BFloat16 precision Floating-Point ISA extension, (Zfbfmin, Zvfbfmin, Zvfbfwma). which was ratified in commit 4dc23d62 (“Added Chapter title to BF16”) of the riscv-isa-manual.

v2: riscv: spacemit: add i2c support to K1 SoC

This patch implements I2C driver for the SpacemiT K1 SoC, providing basic support for I2C read/write communication which compatible with standard I2C bus specifications.

v3: Support SSTC while PM operations

When the cpu is going to be hotplug, stop the stimecmp to prevent pending interrupt.

v1: riscv: Relocatable NOMMU kernels

Currently, RISC-V NOMMU kernels are linked at CONFIG_PAGE_OFFSET, and since they are not relocatable, must be loaded at this address as well.

v3: bpf-next: Optimize bpf_csum_diff() and homogenize for all archs

v1: Prefer sysfs/JSON events also when no PMU is provided

At the RISC-V summit the topic of avoiding event data being in the RISC-V PMU kernel driver came up.

LoongArch 架构支持

v1: LoongArch: Disable KASAN if PGDIR_SIZE is too large for cpu_vabits

If PGDIR_SIZE is too large for cpu_vabits, KASAN_SHADOW_END will overflow UINTPTR_MAX because KASAN_SHADOW_START/KASAN_SHADOW_END are aligned up by PGDIR_SIZE.

v11: Replace fallback for IO memcpy and IO memset

Thank you Arnd for your feedback and no problem. I should have asked before, to clarify what you meant.

ARM 架构支持

v5: Add support for DMA of F1C100s

Support for Allwinner F1C100s/200s series audio was submitted in 2018 as an RFC series, but was not merged, despite having only minor errors.

v2: Add PMGR nodes for Apple A7-A11 SoCs

This series adds the PMGR nodes and all known power state subnodes for Apple A7-A11 SoCs, along with the associated dt-bindings.

v4: PCI: add enabe(disable)_device() hook for bridge

Add enable(disable)_device() hook for bridge can return error when not enough resource, and PCI device can’t enabled.

GIT PULL: ARM: Zynq SoC changes for 6.13

v1: firmware: arm_scpi: Add check for dvfs_info.opp_count

Fix a kernel crash when dvfs_info.opp_count is zero.

v1: clk: zynqmp: Work around broken DT GPU node

The ZynqMP DT GPU node clock description is wrong and does not represent the hardware correctly, it only describes BUS and PP0 clock, while it is missing PP1 clock. That means PP1 clock can never be enabled when the GPU should be used, which leads to expected GPU hang even with simple basic tests like kmscube.

v2: sunxi: A100/A133 second stage support

This is V2 of this series, with some changes that were requested and others that were made after testing on more devices.

v4: soc: imx: Add SoC device register for i.MX9

This patch intends to use SMC call to obtain these information and then register i.MX9 SoC as a device.

v4: Initial support for SMMUv3 nested translation

This is quite straightforward as the nested STE can just be built in the special NESTED domain op and fed through the generic update machinery.

v3: Add minimal Samsung Galaxy S20 Series board, SM-G981B and SM-G980F support

This series adds initial support for the Samsung Galaxy S20 Series and also initial board support for the Samsung Galaxy S20 5G (SM-G981B) codenamed x1s.

v6: KVM: arm64: Hide unsupported MPAM from the guest

v7: Support SMT control on arm64

The core CPU control framework supports runtime SMT control which is not yet supported on arm64.

v5: source filtering for multi-port output

In our hardware design, by combining a funnel and a replicator, it implement a hardware device with one-to-one correspondence between output ports and input ports.

GIT PULL: Rockchip dts32 changes for 6.13 #1

Watchdog for rv1126 and the RV1109-based Relfor Saib board.

GIT PULL: Rockchip dts64 changes for 6.13 #1

please find below and in a subsequent pull-requests Rockchip changes for for 6.13 .

v2: Add MediaTek APU SMC call Definition

This patch introduces the SMC calls for MediaTek APU.

v4: Add Enclustra Arria10 and Cyclone5 SoMs

Add device-tree support for the following SoMs

v1: net: dpaa_eth: print FD status in CPU endianness in dpaa_eth_fd tracepoint

We take struct qm_fd :: status, store it and print it as an u32, though it is a big endian field. We should print the FD status in CPU endianness for ease of debug and consistency between PowerPC and Arm systems.

v2: ARM: Switch to generic entry

This patch series converts a slew of ARM assembly into the corresponding C code, step by step moving the codebase closer to the expectations of the generic entry code, and as a last step switches ARM over to the generic entry code.

v1: asahi-soc/dt: Add PMGR nodes for Apple A7-A11 SoCs

This series adds the PMGR nodes and all known power state subnodes for Apple A7-A11 SoCs, along with the associated dt-bindings.

X86 架构支持

v7: Add AutoFDO and Propeller support for Clang build

This patch series is to integrate AutoFDO and Propeller support into the Linux kernel.

v1: net-next: A pile of sfc deadcode

This is a collection of deadcode removal in the sfc drivers; the split is vaguely where I found them in the tree, with some left over.

v5: Add support for codec of F1C100s

Support for Allwinner F1C100s/200s series audio was submitted in 2018 as an RFC series, but was not merged, despite having only minor errors.

v3: Support SEV firmware hotloading

The SEV-SNP API specifies a command for hotloading the SEV firmware. when no SEV or SEV-ES guests are running.

v1: KVM: nVMX: Honor event priority for PI ack at VM-Enter

Rework and cleanup KVM’s event handling during nested VM-Enter emulation, and ultimately fix a bug where KVM doesn’t honor event priority when delivering a nested posted interrupt.

v1: KVM: VMX: Mark Intel PT virtualization as BROKEN

Hide Intel PT virtualization behind BROKEN, as it has multiple fatal flaws, several which put the host at risk, and several of which are far too invasive to backport to stable trees.

v2: futex: Create set_robust_list2

This patch adds a new robust_list() syscall.

v5: memory,x86,acpi: hotplug memory alignment advisement

Block size (min/max/selected) is architecture defined. Most architectures tend to use the minimum block size or some simplistic heurist.

v3: drm-dp: Add dp module in hibmc driver

Add DP module in hibmc drm driver, which is for Hisilicon Hibmc SoC which used for Out-of-band management.

v2: LKMM generic atomics in Rust

This is another RFC version of LKMM atomics in Rust, you can find the previous versions:

v1: x86/resctrl: Support Sub-NUMA cluster mode SNC6

Support Sub-NUMA cluster mode with 6 nodes per L3 cache (SNC6) on some Intel platforms.

v1: KVM: nVMX: Treat vpid01 as current if L2 is active, but with VPID disabled

When getting the current VPID, e.g. to emulate a guest TLB flush, return vpid01 if L2 is running but with VPID disabled, i.e. if VPID is disabled in vmcs12.

v12: RFT: fork: Support shadow stacks in clone3()

The kernel has recently added support for shadow stacks, currently x86 only using their CET feature but both arm64 and RISC-V have equivalent features (GCS and Zicfiss respectively), I am actively working on GCS[1].

v1: KVM: x86/mmu: Micro-optimize TDP MMU cond_resched()

Invert the order of checks in tdp_mmu_iter_cond_resched() so that the common case (no resched needed) is checked first, and opportunsitically clean up a wart where the helper would return “yielded” in an error path, even if that invocation didn’t actually yield.

v1: Add support for the ERAPS feature

Newer AMD CPUs (Turin+) have the ERAPS feature bit that allows us to remove the RSB filling loops required during context switches and VM exits.

v2: hrtimers: Consolidate hrtimer initialization - Part 1

This separate initialization is error prone and awkward to use. The separate initialization is also problematic for a clean Rust abstraction.

v1: timekeeping: Fall cleaning

The sanity checks under CONFIG_TIMEKEEPING_DEBUG have served their purpose for some time, but now that timekeeping handles potential 64bit math overflow correctly and is unconditionally protected against negative motion of time, these checks have no real value anymore.

v1: x86/cpufeature: Document cpu_feature_enabled() as the default to use

cpu_feature_enabled() should be used in most cases when CPU feature support needs to be tested in code. Document that.

v1: x86/mm/doc: Add missing details in virtual memory layout

Improve memory layout documentation

v1: x86/cpu: Centralize and standardize CPUID leaf naming

I noticed that the MWAIT code was rather haphazard in how it deals with CPUID leaf levels.

v2: TDX vCPU/VM creation

This series has 9 commits intended to collect acks from x86 maintainers.

v5: Implement DWARF modversions

Here’s v5 of the DWARF modversions series.

v1: KVM: x86: Small changes to support VMware guests

To be able to switch VMware products running on Linux to KVM some minor changes are required to let KVM run/resume unmodified VMware guests.

v11: Dell AWCC platform_profile support

This patch adds platform_profile support for Dell devices which implement WMAX thermal interface, that are meant to be controlled by Alienware Command Center (AWCC).

进程调度

v2: sched/topology: improve topology_span_sane speed

Use a different approach to topology_span_sane(), that checks for the same constraint of no partial overlaps for any two CPU sets for non-NUMA topology levels, but does so in a way that is O(N) rather than O(N^2).

v2: sched/eevdf: Force propagating min_slice of cfs_rq when a task changing slice

When a task changes slice and its cgroup se is already on_rq, the cgroup se will not be enqueued again, and hence the root->min_slice leaves unchanged.

v1: sched/urgent: sched: Task still delay-dequeued after switched from fair

On the current tip/sched/urgent, the following can be easily triggered by running tools/testing/selftests/sched_ext/runner -t reload_loop

v1: sched/eevdf: Introduce a cgroup interface for slice

The 1st patch is a minor fix for the existing cgroup propagating. The 2nd patch is the main part and RFC. If the design is ok, I’ll send another patch later for documents about the new cgroup interface.

内存管理

v2: mm: count zeromap read and set for swapout and swapin

This patch adopts option 1 as pswpin/pswpout counters are that they only apply to IO done directly to the backend device (as noted by Nhat Pham).

v1: scftorture: Use workqueue to free scf_check

This is problematic because smp_call_function() uses non-threaded interrupt and kfree() may acquire a local_lock which is a sleepable lock on RT.

v2: Buddy allocator like folio split

This patchset adds a new buddy allocator like large folio split to the total number of resulting folios, the amount of memory needed for multi-index xarray split, and keep more large folios after a split. It is on top of mm-everything-2024-11-01-04-30.

v1: mm/slab: Allow cache creation to proceed even if sysfs registration fails

This issue can be reproduced by creating new slab caches while applying failslab for kernfs_node_cache. This makes kobject_add_varg() succeed, but causes kobject_add_internal() to fail in kobject_init_and_add() during cache creation.

v15: EDAC: Scrub: introduce generic EDAC RAS control feature driver + CXL/ACPI-RAS2 drivers

Previously known as “ras: scrub: introduce subsystem + CXL/ACPI-RAS2 drivers”.

v1: mm: use vma_policy() to get vm_policy

Instead of accessing vma->vm_policy directly, use vma_policy() like other places for consistency.

v2: vmstat: call fold_vm_zone_numa_events() before show per zone NUMA event

Since 5.14-rc1, NUMA events will only be folded from per-CPU statistics to per zone and global statistics when the user actually needs it.

v2: vma: Detect infinite loop in vma tree

There have been no reported infinite loops in the tree, but checking the detection of an infinite loop during validation is simple enough. Add the detection to the validate_mm() function so that error reports are clear and don’t just report stalls.

[PATCH -V3 RESEND] x86, tdx, memory hotplug: Check whole hot-adding memory range for TDX

On systems with TDX (Trust Domain eXtensions) enabled, current kernel checks the TDX compatibility of the hot-added memory ranges through a memory hotplug notifier for each memory_block.

v3: mm: add per-order mTHP swpin counters

This helps profile the sizes of folios being swapped in. Currently, only mTHP swap-out is being counted.

v1: trace/events/page_ref: add page info to page_ref trace event

This followed commit 53d884a6675b (“mm, tracing: unify PFN format strings”) to add page info.

v1: Provide a new two step DMA mapping API

Currently the only efficient way to map a complex memory description through the DMA API is by using the scatterlist APIs. The SG APIs are unique in that they efficiently combine the two fundamental operations of sizing and allocating a large IOVA window from the IOMMU and processing all the per-address swiotlb/flushing/p2p/map details.

v1: mm/gup: restore the ability to pin more than 2GB at a time

commit 53ba78de064b (“mm/gup: introduce check_and_migrate_movable_folios()”) created a new constraint on the pin_user_pages*() API family: a potentially large allocation must now occur, internally.

文件系统

v1: [PATCHES v2] xattr stuff and interactions with io_uring

Help with review and testing would be welcome; if nobody objects, to #for-next it goes...

[POC, RFC] scheme for transferring group_list between processes

Note: this patch is a POC and RFC. It “parasites” on pidfd code just for the sake of a demo. It has nothing to do with pidfd.

v1: fs: Simplify getattr interface function checking AT_GETATTR_NOSEC flag

Commit 8a924db2d7b5 (“fs: Pass AT_GETATTR_NOSEC flag to getattr interface function”)’ introduced the AT_GETATTR_NOSEC flag to ensure that the call paths only call vfs_getattr_nosec if it is set instead of vfs_getattr. Now, simplify the getattr interface functions of filesystems where the flag AT_GETATTR_NOSEC is checked.

v1: pidfs: implement file handle support

This greatly facilitates process tracking in userspace.

v1: dax: Allow block size > PAGE_SIZE

For virtio-dax, the file/FS blocksize is irrelevant. FUSE always uses large DAX blocks (2MiB), which will work with all host page sizes.

v2: LKMM generic atomics in Rust

This is another RFC version of LKMM atomics in Rust, you can find the previous versions.

v1: proc: Add a way to make proc files writable

Provide an extra function, proc_create_single_write_data() that act like its non-write version but also set a write method in the proc_dir_entry struct. Alse provide a macro proc_create_single_write to reduces the boilerplate code in the callers.

v1: Support for limiting the number of managed interrupts on every node per allocation.

We found that in scenarios with a large number of devices on the system,

v6: Read/Write with metadata/integrity

This adds a new io_uring interface to exchange additional integrity/pi metadata with read/write.

v3: ext4: Add atomic writes support for DIO

This series adds the base feature support to enable atomic writes in direct-io path for ext4. We advertise the minimum and the maximum atomic write unit sizes via statx on a regular file.

v1: exfat: reduce FAT chain traversal

This patch set is designed to reduce FAT traversal, it includes the patch to implement this feature as well as the patches to optimize and clean up the code to facilitate the implementation of this feature.

v1: kernel: add pid_max to pid_namespace

It is necessary to have a different pid_max in different containers.

网络设备

v6: net: ipv4: Cache pmtu for all packet paths if multipath enabled

Check number of paths by fib_info_num_path(), and update_or_create_fnhe() for every path. Problem is that pmtu is cached only for the oif that has received icmp message “need to frag”, other oifs will still try to use “default” iface mtu.

v1: net: phy: ti: add PHY_RST_AFTER_CLK_EN flag

DP83848 datasheet (section 4.7.2) indicates that the reset pin should be toggled after the clocks are running. Add the PHY_RST_AFTER_CLK_EN to make sure that this indication is respected.

v1: net-next: r8169: improve initialization of RSS registers on RTL8125/RTL8126

Replace the register addresses with the names used in r8125/r8126 vendor driver, and consider that RSS_CTRL_8125 is a 32 bit register.

v2: net-next: support SO_PRIORITY cmsg

The changes introduce a new helper function, sk_set_prio_allowed, which centralizes the logic for validating priority settings. This series adds support for the SO_PRIORITY control message, allowing user-space applications to set socket priority via control messages (cmsg).

v1: Add support for Synopsis DesignWare version 3.72a

Add compatibility and dt-binding for Synopsis DesignWare version 3.72a. The dwmac is used on some older Altera/Intel SoCs such as Arria10.

v4: net-next: Suspend IRQs during application busy periods

This series introduces a new mechanism, IRQ suspension, which allows network applications using epoll to mask IRQs during periods of high traffic while also reducing tail latency (compared to existing mechanisms, see below) during periods of low traffic.

v1: net-next: openvswitch: Pass on secpath details for internal port rx.

Clearing the secpath for internal ports will cause packet drops when ipsec offload or early SW ipsec decrypt are used. Systems that rely on these will not be able to actually pass traffic via openvswitch.

v4: net-next: eth: fbnic: Add support to write TCE TCAM entries

Add support to redirect host-to-BMC traffic by writing MACDA entries from the RPC (RX Parser and Classifier) to TCE-TCAM. The TCE TCAM is a small L2 destination TCAM which is placed at the end of the TX path (TCE).

v2: bpf: Introduce cpu affinity for sockmap

Why we need cpu affinity: Mainstream data planes, like Nginx and HAProxy, utilize CPU affinity by binding user processes to specific CPUs. This avoids interference between processes and prevents impact from other processes.

[PATCH 1/1: 5.10/5.15] net: bridge: xmit: make sure we have at least eth header len bytes

Based on above commit but simplified since pskb_may_pull_reason() does not exist until 6.1.

[PATCH 0/1: 5.10/5.15] net: bridge: xmit: make sure we have at least eth header len bytes

This is my first commit to -stable so I’m going to carefully explain what I’ve done. I work on the Yocto Project and I have done some work on the Linux network stack a long time ago so I’m not quite a complete newbie.

v1: nf: netfilter: netlink: Report extack policy errors for batched ops

The nftables batch processing does not currently populate extack with policy errors. Fix this by passing extack when parsing batch messages.

v8: net-next: net: stmmac: Refactor FPE as a separate module

Refactor FPE implementation by moving common code for DWMAC4 and DWXGMAC into a separate FPE module.

v3: iproute: bridge: dump mcast querier state

Kernel support for dumping the multicast querier state was added in this commit [1].

v2: bpf-next: bpf: Add kernel symbol for struct_ops trampoline

Without kernel symbols for struct_ops trampoline, the unwinder may produce unexpected stacktraces.

v1: net-next: Add PCS support for Qualcomm IPQ9574 SoC

This patch series adds base driver support for initializing the PCS, and PCS phylink ops for managing the PCS modes/states. Support for SGMII/QSGMII (PCS) and USXGMII (XPCS) modes is being added initially.

v5: net-next: net: Implement fault injection forcing skb reallocation

Introduce a fault injection mechanism to force skb reallocation. The primary goal is to catch bugs related to pointer invalidation after potential skb reallocation.

v1: net-next: net: lan969x: add VCAP functionality

This series is the third of a multi-part series, that prepares and adds support for the new lan969x switch driver.

v2: virtio: only reset device and restore status if needed in device resume

Virtio core unconditionally reset and restore status for all virtio devices before calling restore method. This breaks some virtio drivers which don’t need to do anything in suspend and resume because they just want to keep device state retained.

v5: rust: Add IO polling

As a result of the past discussion, this introduces two new types, Instant and Delta, which represent a specific point in time and a span of time, respectively.

GIT PULL: bpf for v6.12-rc6

The following changes since commit ae90f6a6170d7a7a1aa4fddf664fbd093e3023bc: are available in the Git repository at:

v3: net-next: mlx5/core: Schedule EQ comp tasklet only if necessary

Currently, the mlx5_eq_comp_int() interrupt handler schedules a tasklet to call mlx5_cq_tasklet_cb() if it processes any completions.

GIT PULL: Networking for v6.12-rc6

The following changes since commit d44cd8226449114780a8554fd253c7e3d171a0a6: are available in the Git repository at:

v1: can: tcan4x5x: add option for selecting nWKRQ voltage

This series adds support for setting the nWKRQ voltage.

v1: net-next: mlx5 misc patches 2024-10-31

This patchset for the mlx5 driver contains small misc patches.

v6: net-next: udp: Add 4-tuple hash for connected sockets

This patchset introduces 4-tuple hash for connected udp sockets, to make connected udp lookup faster.

安全增强

v2: Initial support for Samsung Galaxy Tab 2 series

This series adds initial support for the Samsung Galaxy Tab 2 (samsung-espresso*) series of devices. It adds support for 6 variants .

v1: kprobes: Adjustments for __counted_by addition

This series addresses the issues that I brought up at.

v5: DCD: Add support for Dynamic Capacity Devices (DCD)

A git tree of this series can be found here:

v1: disable __counted_by for clang < 19.1.3

Bill’s PR to disable __counted_by for “whole struct” __bdos cases has now been merged into 19.1.3 [1], so here’s the patch to disable __counted_by for clang versions < 19.1.3 in the kernel.

v1: coccinelle: Add str_off_on() and str_no_yes() rules

In addition to str_on_off() and str_yes_no(), add rules to search for str_off_on() and str_no_yes() replacements.

异步 IO

v1: io_uring/sqpoll: wait on sqd->wait for thread parking

io_sqd_handle_event() just does a mutex unlock/lock dance when it’s supposed to park, somewhat relying on full ordering with the thread trying to park it which does a similar unlock/lock dance on sqd->lock.

Rust For Linux

v1: rust: security: add abstraction for secctx

Add an abstraction for viewing the string representation of a security context.

v2: Add dma coherent allocator abstraction

This series adds support for the dma coherent allocator. This is based on code developed by Andreas Hindborg for the rnvme driver. We adapted this for basic use in the Nova driver to access the GSP via DMA [0].

v2: LKMM generic atomics in Rust

This is another RFC version of LKMM atomics in Rust, you can find the previous versions:

v3: rust: Add Lock::from_raw() and expose Guard::new()

This is the third version of a small patch series to introduce interfaces for working with locks that we’ve acquired from raw C pointers, something that is quite useful for bindings like the rust bindings - where there’s a number of interfaces protected by BFLs, or which require the implementation of callbacks that are known to occur under lock.

v8: Extended MODVERSIONS Support

This patch series is intended for use alongside the Implement DWARF modversions series [1] to enable RUST and MODVERSIONS at the same time.

v1: rust: add improved version of ForeignOwnable::borrow_mut

This is a re-submission of Alice’s patch[0]. The leading commits are intended to improve the consistency and ergonomics of ForeignOwnable, and to split out the code movement originally included in the patch.

v1: cfi: tweak llvm version for HAVE_CFI_ICALL_NORMALIZE_INTEGERS

The llvm fix [1] did not make it for 19.0.0, but ended up getting backported to llvm 19.1.3 [2]. Thus, fix the version requirement to correctly specify which versions have the bug.

v2: rust: Implement Display for Box

Currently impl Display is missing for Box<T, A>, as a result, things like using Box<..> directly as an operand in pr_info!() are impossible, which is less ergonomic compared to Box in Rust std.

v1: rust: Implement fmt::Display for kernel Box<T, A>

Currently fmt::Display is not implemented for Box<T, A>. We can make the following code work by implementing fmt::Display.

BPF

v1: kbuild,bpf: pass make jobs’ value to pahole

Pass the value of make’s -j/–jobs argument to pahole, to avoid out of memory errors and make pahole respect the “jobs” value of make.

v8: bpf-next: bpf: Support private stack for bpf progs

The main motivation for private stack comes from nested scheduler in sched-ext from Tejun.

v1: bpf-next: Handle possible NULL trusted raw_tp arguments

More context is available in , but the TLDR; is that the verifier incorrectly assumes that any raw tracepoint argument will always be non-NULL.

GIT PULL: bpf for v6.12-rc6

The following changes since commit ae90f6a6170d7a7a1aa4fddf664fbd093e3023bc: are available in the Git repository at

v1: bpf: smp_wmb before bpf_ringbuf really commit

To guarantee visibility of writing ringbuffer,it is necessary to call smp_wmb before ringbuffer really commit.

v3: net-next: xdp: a fistful of generic changes (+libeth_xdp)

They are implemented mostly as inlines with inline callback arguments. They will be then uninlined in the drivers with sane function sizes, but without any indirect calls.

v2: bpf: Add sk_is_inet and IS_ICSK check in tls_sw_has_ctx_tx/rx

As the introduction of the support for vsock and unix sockets in sockmap, tls_sw_has_ctx_tx/rx cannot presume the socket passed in must be IS_ICSK.

v2: net-next: virtio-net: support AF_XDP zero copy (tx)

v7: powerpc: Core ftrace rework, support for ftrace direct and bpf trampolines

This series reworks core ftrace support on powerpc to have the function profiling sequence moved out of line.

v2: bpf-next: bpf/crib: Add open-coded style process file iterator and file related CRIB kfuncs

This patch series adds open-coded style process file iterator bpf_iter_task_file and file related kfuncs bpf_fget_task(), bpf_get_file_ops_type(), and corresponding selftests test cases.

v1: bpf: Add sk_is_inet check in tls_sw_has_ctx_tx/rx

As the introduction of the support for vsock and unix sockets in sockmap, tls_sw_has_ctx_tx/rx cannot presume the socket passed in must be inet.

v6: iwl-next: igc: Link IRQs and queues to NAPIs

This revision was created due to a report from Vitaly [2], that my v5 should use different function and variable names, like igb.

v1: bpf: disallow 40-bytes extra stack for bpf_fastcall patterns

This patch disables the additional allowance for the moment. Also, two test cases are removed

v1: bpf-next: libbpf: start v1.6 development cycle

With libbpf v1.5.0 release out, start v1.6 dev cycle.

v2: bpf-next: bpf: handle implicit declaration of function gettid in bpf_iter.c

As we can see from the title, when I compiled the selftests/bpf, I saw the error.

v4: bpf: Using binary search to improve the performance of btf_find_by_name_kind

Currently, we are only using the linear search method to find the type id by the name, which has a time complexity of O(n).

v2: bpf: enhance validation of pointer formatting

This patch series enhances validation of pointer formatting to prevent same exact issue happening again, as it happen before in [0] and happened now.

周边技术动态

Qemu

v1: riscv-to-apply queue

The following changes since commit 58d49b5895f2e0b5cfe4b2901bf24f3320b74f29: are available in the Git repository at:

v4: target/riscv: add wrapper for target specific macros in atomicity check.

The patch also adjusts the indentation of the if/else clauses and the comment about the above mentioned check for atomic 128b load/store to reflect better the code.

Buildroot

v1: board/qemu/riscv{32, 64}-virt: nommu: needs virtio-blk device

Commit [1] removed virtio-blk-device,drive=hd0 from the Qemu command line since RISC-V virt target now define a default type for block devices (virtio) [2].

board/qemu/riscv{32, 64}-virt: do not use the default bus implicitly

Qemu 9.1 recently fixed the RISC-V virt target by adding the missing default type for block devices [1].

U-Boot

bios_emulator: how LOG_inpb() is supposed to work on non-x86 systems?

When trying to compile drivers/bios_emulator for RISC-V, I get a bunch of the following warnings.

v2: Support OF_UPSTREAM for StarFive JH7110

This patchset add OF_STREAM support for StarFive JH7110 based boards.



Read Album:

Read Related:

Read Latest: