[置顶] 泰晓 RISC-V 实验箱,配套 30+ 讲嵌入式 Linux 系统开发公开课
RISC-V Linux 内核及周边技术动态第 116 期
时间: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.
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.
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 theSO_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.
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.
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 forBox<T, A>
, as a result, things like usingBox<..>
directly as an operand inpr_info!()
are impossible, which is less ergonomic compared toBox
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.
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
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.
猜你喜欢:
- 我要投稿:发表原创技术文章,收获福利、挚友与行业影响力
- 泰晓资讯:汇总一周技术趣闻与文章,查看「Linux 资讯」
- 知识星球:独家 Linux 实战经验与技巧,订阅「Linux知识星球」
- 视频频道:泰晓学院,B 站,发布各类 Linux 视频课
- 开源小店:欢迎光临泰晓科技自营店,购物支持泰晓原创
- 技术交流:Linux 用户技术交流微信群,联系微信号:tinylab
支付宝打赏 ¥9.68元 | 微信打赏 ¥9.68元 | |
请作者喝杯咖啡吧 |
Read Album:
- TinyBPT 和面向 buildroot 的二进制包管理服务(3):服务端说明
- TinyBPT 和面向 buildroot 的二进制包管理服务(2):客户端说明
- TinyBPT 和面向 buildroot 的二进制包管理服务(1):设计简介与框架
- RISC-V Linux 内核及周边技术动态第 118 期
- RISC-V Linux 内核及周边技术动态第 117 期