[置顶] 泰晓 RISC-V 实验箱,配套 30+ 讲嵌入式 Linux 系统开发公开课
RISC-V Linux 内核及周边技术动态第 110 期
时间:20240922
编辑:晓瑜
仓库:RISC-V Linux 内核技术调研活动
赞助:PLCT Lab, ISCAS
内核动态
RISC-V 架构支持
v1: riscv: add Svukte extension
Svukte introduce senvcfg.UKTE and hstatus.HUKTE bitfield.
v1: riscv: make riscv_isa_vendor_ext_andes[] static
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
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
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
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
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
This patch series introduces support for the pinctrl driver of the Canaan K230 SoC.
v2: pinctrl: Add T-Head TH1520 SoC pin controllers
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
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}()
Clang warns (or errors with CONFIG_WERROR=y)
ARM 架构支持
v1: rockchip: Split rk3288-vop compatible into big and lit
The Rockchip RK3288 SoC contain two different Visual Output Processor (VOP) blocks, VOP_BIG and VOP_LIT.
v2: Add support for ArmSoM LM7 SoM
This series add support for ArmSoM RK3588 based SoM and carrier board.
v4: drm: sun4i: add Display Engine 3.3 (DE33) support
V4 of this patch series adding support for the Allwinner DE33 display engine variant.
v5: Correct perf sampling with Guest VMs
v5: Add minimal Exynos8895 SoC and SM-G950F support
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
this series adds support for a new member in our IOTA platform.
v19: Add i2c-mux and eeprom devices for Meta Yosemite4
v4: Initial device trees for A7-A11 based Apple devices
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
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
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
v1: ARM: bcm: Make BCM6846 bootable on mainline
Bringing up BCM6846 on mainline I faced two problems.
linux-next: duplicate patch in the watchdog tree
The following commit is also in the arm-soc tree as a different commit
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
A set of changes that came out of the issues reported here.
v10: Coresight for Kernel panic and watchdog reset
This patch series is rebased on coresight-next-v6.12.
v2: perf arm-spe: Refactor data source encoding
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
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
Add dts for Ariaboard Photonicat RK3568.
v5: Add support for RK3588S Evaluation board
GIT PULL: Emulated one-byte cmpxchg() for ARC and sh
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
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
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
Currently, data-race like [1] occur in fs/ext4/ialloc.c
v1: Selective mitigation for trusted userspace
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
The following changes since commit 8400291e289ee6b2bf9779ff1c83a291501f017b
GIT PULL: perf tools changes for v6.12
Please consider pulling,
GIT PULL: platform-drivers-x86 for 6.12-1
Here is the main PDx86 PR for 6.12.
GIT PULL: Performance events changes for v6.12
Pull the latest perf/core Git tree from
v3: platform/x86: introduce asus-armoury driver
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
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
A Linux guest on Hyper-V gets the TSC frequency from a synthetic MSR, if available.
[GIT pull] x86/timers for v6.12-rc1
please pull the latest x86/timers branch from
[GIT pull] x86/core for v6.12-rc1
Enable UBSAN traps for x86, which provides better reporting through metadata encodeded into UD1.
v1: objtool: Also include tools/include/uapi
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
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].
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.
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.
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.
hope you’re doing good. I finally found some time to rework acerhdf.
v1: x86: add more x86-64 micro-architecture levels
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
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
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
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
After twenty years of development we finally reached the point to enablePREEMPT_RT support in the mainline kernel.
v1: perf sched: Introduce stats tool
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
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
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
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
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
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
v13: ACPI: APEI: handle synchronous errors in task work
Changes Log
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
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
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
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
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()
The remap_file_pages syscall handler calls do_mmap() directly, which doesn’t contain the LSM security check.
v1: Add hazard pointers to kernel
This series introduces hazard pointers [1] to kernel space.
v1: Proposal of Integrating Namespaces and Cgroups for Enhanced Resource Management
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
We use pte_range_none() to determine whether contiguous PTEs are empty for an mTHP allocation.
v4: Do not shatter hugezeropage on wp-fault
It was observed at [1] and [2] that the current kernel behaviour of shattering a hugezeropage is inconsistent and suboptimal.
v8: fs: multigrain timestamp redux
This is a fairly small update to the v7 set.
v1: -next: tmpfs: fault in smaller chunks if large folio allocation not allowed
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
This follows up on the discussion regarding Gaoxu’s work.
文件系统
GIT PULL: bcachefs changes for 6.12-rc1
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
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
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
These patches bring the NFS connectable file handles feature to userspace servers.
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
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()
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
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()
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
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
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
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
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
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
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()
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()
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
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
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
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
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
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
From 7b6ccc0ce49f1bb440a6f91f45fd2e46542d169c Mon Sep 17 00:00:00 2001
Submitted a patch, got error “Patch does not apply to net-next-0”
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
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
Add a missing MODULE_FIRMWARE entry.
v3: net-next: sfc: per-queue stats
This series implements the netdev_stat_ops interface for per-queuestatistics in the sfc driver, partly using existing counters thatwere originally added for ethtool -S output.
v1: net-next: e1000e: link NAPI instances to queues and IRQs
Make e1000e compatible with the newly added netdev-genl APIs.
v11: iwl-next: ice: Implement PTP support for E830 devices
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
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
v1: net-next: vmxnet3: support higher link speeds from vmxnet3 v9
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
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
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
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
This is the 7th version of the ovpn patchset.
v5: PCIe TPH and cache direct injection support
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
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
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
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
sprd timer is currently available on ARM and ARM64 based devices.
v2: Add inline encryption support
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
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
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.
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
there are many small reasons justifying this change.
v1: io_uring/sqpoll: retain test for whether the CPU is valid
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
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
Add examples for the
Either
type
This series adds support for using the
hrtimer
subsystem from Rust code.
v1: kbuild: support building external modules in a separate build directory
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
Adds examples for the
Either
type
v2: rust: sync: Add Lock::from_raw for Lock<(), B>
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
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
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
Add a non-blocking trylock method to lock backend interface, mutex and spinlock implementations.
v2: rust: sync: require T: Sync
for LockedBy::access
The
LockedBy::access
method only requires a shared reference to the owner, so if we have shared access to theLockedBy
from several threads at once, then two threads could callaccess
in parallel and both obtain a shared reference to the inner value. Thus, require thatT: Sync
when calling theaccess
method.
BPF
v1: bpf-next: libbpf: add resizable array helpers
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
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
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
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
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
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
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
Add bond_xdp_check to ensure the bond interface is in a valid state.
v2: bpf-next: Support eliding map lookup nullness
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
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
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
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()
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
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
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
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
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
Key Changes Compared to Version 6: Included “signal-common.h” in target_arch_cpu.h
猜你喜欢:
- 我要投稿:发表原创技术文章,收获福利、挚友与行业影响力
- 泰晓资讯:汇总一周技术趣闻与文章,查看「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 期