[置顶] 泰晓 RISC-V 实验箱,配套 30+ 讲嵌入式 Linux 系统开发公开课
RISC-V Linux 内核及周边技术动态第 100 期
时间:20240714
编辑:晓瑜
仓库:RISC-V Linux 内核技术调研活动
赞助:PLCT Lab, ISCAS
内核动态
RISC-V 架构支持
v1: net-next: Add the dwmac driver support for T-HEAD TH1520 SoC.
There was discussion about the syscon for the APB registers in Jisheng’s v2.
GIT PULL: KVM/riscv changes for 6.11
We have the following KVM RISC-V changes for 6.11
v7: Add Svade and Svadu Extensions Support
Svade and Svadu extensions represent two schemes for managing the PTE A/D bit.
v4: RISC-V: Detect and report speed of unaligned vector accesses
Adds support for detecting and reporting the speed of unaligned vector accesses on RISC-V CPUs.
v4: Add board support for Sipeed LicheeRV Nano
Adds minimal device tree files for this board to make it boot to a basic shell.
v1: riscv/mm: Add soft-dirty page tracking support
This patch adds its standard handlers for PTE, PMD, and swap entry.
v4: RISC-V: Parse DT for Zkr to seed KASLR
Add functions to pi/fdt_early.c to help parse the FDT to check if the isa string has the Zkr extension.
v2: riscv: select ARCH_USE_SYM_ANNOTATIONS
commit 76329c693924 (“riscv: Use SYM_*() assembly macros instead of deprecated ones”), most riscv has been to converted the new style SYM_ assembler annotations.
v4: riscv: add initial support for SpacemiT K1
Add initial support for it to allow more people to participate in building drivers to mainline for it.
v1: riscv/purgatory: align riscv_kernel_entry
When alignment handling is delegated to the kernel, everything must be word-aligned in purgatory, since the trap handler is then set to the kexec one.
GIT PULL: RISC-V Sophgo Devicetrees for v6.11
Please pull dt changes for RISC-V/Sophgo.
v1: bpf-next: riscv, bpf: Optimize stack usage of trampoline
Only reserve space for stacked arguments when BPF_TRAMP_F_CALL_ORIG is set.
v3: riscv: stacktrace: Add USER_STACKTRACE support
Add RISC-V USER_STACKTRACE support, and fix the fp alignment bug in perf_callchain_user() by the way as Björn pointed out.
v1: riscv: cacheinfo: Add back init_cache_level() function
commit 5944ce092b97 (arch_topology: Build cacheinfo from primary CPU) removed the init_cache_level() function from arch/riscv/kernel/cacheinfo.c and relies on the init_cpu_topology() function in drivers/base/arch_topology.c to call fetch_cache_info() which in turn calls init_of_cache_level() to populate the cache hierarchy information.
v1: serial: 8250: don’t lost port’s default capabilities
Commit b0b8c84cf58d (“serial: of_serial: Handle auto-flow-control property”) added support for fifo-size and hw-flow-control properties to avoid adding new types to 8250.c for UARTs that are compatible with the standard types but that have different size fifo or support 16750 compatible auto flow control.
LoongArch 架构支持
v1: Add jump table support for objtool on LoongArch
This RFC version is based on Linux 6.10-rc7, there are no detailed commit messages for each patch for now and the code are relatively clear and simple.
GIT PULL: LoongArch KVM changes for v6.11
Add ParaVirt steal time support. Add some VM migration enhancement. Add perf kvm-stat support for loongarch.
GIT PULL: LoongArch KVM changes for v6.11
The following changes since commit 256abd8e550ce977b728be79a74e1729438b4948
v4: v1: LoongArch: Add AVEC irqchip support
Introduce the advanced extended interrupt controllers.
进程调度
v3: sched/fair: Defer CFS throttle to user entry
CFS tasks can end up throttled while holding locks that other, non-throttled tasks are blocking on.
v1: sched/ext: Add BPF function to fetch rq
rq contains many useful fields to implement a custom scheduler.
v6: Introduce –task-name and –fuzzy-name options in perf sched map
This patch-set aims to reduce the amount of output printed on the terminal when using perf sched map, allowing users to focus only on the tasks of interest.
v1: sched/autogroup: Improve readability and performance
This patch improves the readability and performance of the autogroup scheduling code.
内存管理
v2: binfmt_elf, coredump: Log the reason of the failed core dumps
A powerful way to diagnose crashes is to analyze the core dump produced upon the failure.
v1: Address Space Isolation (ASI) 2024
This RFC demonstrates an implementation of Address Space Isolation (ASI), similar to Junaid Shahid’s proposal from 2022.
v1: mm/x86/pat: Only untrack the pfn range if unmap region
This patch is one patch of an old series [1] that got reposted standalone here, with the hope to fix some reported untrack_pfn() issues reported recently [2,3], where there used to be other fix [4] but unfortunately which looks like to cause other issues.
v3: Add XSAVE layout description to Core files for debuggers to support varying XSAVE layouts
This patch proposes to add an extra .note section in the corefile to dump the CPUID information of a machine.
v1: mm: Ignore data-race in __swap_writepage
Syzbot reported a possible data race:
v4: mm: swap: mTHP swap allocator base on swap cluster order
This is the short term solutions “swap cluster order” listed in my “Swap Abstraction” discussion slice 8 in the recent LSF/MM conference.
v1: Support direct I/O read and write for memory allocated by dmabuf
Use vm_insert_page to establish a mapping for the memory allocated by dmabuf, thus supporting direct I/O read and write; and fix the issue of incorrect memory statistics after mapping dmabuf memory.
v2: mm: shmem: Rename mTHP shmem counters
The legacy PMD-sized THP counters at /proc/vmstat include thp_file_alloc, thp_file_fallback and thp_file_fallback_charge, which rather confusingly refer to shmem THP and do not include any other types of file pages.
v10: mm: shrink skip folio mapped by an exiting process
This patch is that shrink skips the non-shared anonymous folio solely mapped by an exting process and this folio is only released directly in the process exiting flow, which will save swap-out time and alleviate the load of the process exiting.
v2: mm-unstable: mm/truncate: batch-clear shadow entries
Make clear_shadow_entry() clear shadow entries in
struct folio_batch
so that it can reduce contention on i_lock and i_pages locks, e.g.,
v1: mm/mmap: Align the length parameter of munmap with hugepage size
munmap hugepge mappings, if the length of the range to munmap is not aligned with hugepage size,munmap will fail.
v1: bpf-next: Harden and extend ELF build ID parsing logic
The goal of this patch set is to extend existing ELF build ID parsing logic, currently mostly used by BPF subsystem, with support for working in sleepable mode in which memory faults are allowed and can be relied upon to fetch relevant parts of ELF file to find and fetch .note.gnu.build-id information.
v1: mm/cma: export total and free number of pages for CMA areas
In addition to the number of allocations and releases, system management software may like to be aware of the size of CMA areas, and how many pages are available in it.
v1: Unmapping guest_memfd from Direct Map
This RFC series is a rough draft adding support for running non-confidential compute VMs in guest_memfd, based on prior discussions with Sean.
文件系统
v4: fs/file.c: optimize the critical section of file_lock in
These 3 patches are created to reduce the critical section of file_lock in alloc_fd() and close_fd().
v1: virtio-fs: Add ‘file’ mount option
We want to be able to mount filesystems that just consist of one regular file via virtio-fs, i.e. no root directory, just a file as the root node.
v4: fs: multigrain timestamp redux
The conversion of ctime to be a ktime_t value has been dropped, and we now use an unused bit in the nsec field as the QUERIED flag (like the earlier patchset did).
We use RWF_ATOMIC as this is legacy name for similar feature proposed in the past.
v1: inotify: Added pid and uid information in inotify event.
The inotify event only contains file name information.
v3: kpageflags: detect isolated KPF_THP folios
Use folio_test_large_rmappable() instead to also include isolated folios.
v1: blk: optimization for classic polling
This removes the dependency on interrupts to wake up task.
网络设备
v4: net-next: net: dsa: vsc73xx: Implement VLAN operations
This patch series is a result of splitting a larger patch series [0], where some parts was merged before.
v10: net: af_packet: Handle outgoing VLAN packets without hardware offloading
The issue initially stems from libpcap.
v1: pull request (net-next): ipsec-next 2024-07-13
Support sending NAT keepalives in ESP in UDP states. Support IPsec crypto offload for IPv6 ESP and IPv4 UDP-encapsulated ESP data paths.
v4: net-next: flower: rework TCA_FLOWER_KEY_ENC_FLAGS usage
This series reworks the recently added TCA_FLOWER_KEY_ENC_FLAGS attribute, to be more like TCA_FLOWER_KEY_FLAGS, and use the unused u32 flags field in FLOW_DISSECTOR_KEY_ENC_CONTROL, instead of adding a new flags field as FLOW_DISSECTOR_KEY_ENC_FLAGS.
v1: bpf: xsk: require XDP_UMEM_TX_METADATA_LEN to actuate tx_metadata_len
Julian reports that commit 341ac980eab9 (“xsk: Support tx_metadata_len”) can break existing use cases which don’t zero-initialize xdp_umem_reg padding.
GIT PULL: Networking for v6.10-rc8 (follow up)
A quick follow up to yesterday’s PR. We got a regressions report for the bnxt patch as soon as it got to your tree. The ethtool fix is also good to have, although it’s an older regression.
v8: net-next: Introduce EN7581 ethernet support
Add airoha_eth driver in order to introduce ethernet support for Airoha EN7581 SoC available on EN7581 development board.
v1: net-next: bonding: Return TX congested if no active slave
We are seeing a rare TCP connection timeout after only 7.5 seconds of inactivity. This is mainly due to the ibmvnic driver hogging the RTNL lock for too long ( 2 seconds per ibmvnic device). We are working on getting the driver off the RTNL lock but figured the core of the issue should also be considered.
v1: ethtool-next: module-eeprom: treat zero arguments like any other arguments for hex dump
The code does not differentiate between user asking for page 0 and page not being set on the CLI at all. This is problematic because drivers don’t support old type of dumping for newer module types.
v12: net: phy: bcm5481x: add support for BroadR-Reach mode
v2: iproute2-next: tc: f_flower: add support for matching on tunnel metadata
extend TC flower for matching on tunnel metadata.
v1: net-next: bnx2x: turn off FCoE if storage MAC-address setup failed
This can lead to unexpected FCoE behavior (as address will be in unexpected state) without notice.
v3: net-next: net: ti: icssg-prueth: Split out common object into module
Fix this by building a new module (icssg.o) for all the common objects. Both the driver can then depend on this common module.
[Intel-wired-lan] v2: iwl-next: Add support for devlink health events
Reports for two kinds of events are implemented, Malicious Driver Detection (MDD) and Tx hang.
v5: iwl-next: igb: Add support for AF_XDP zero-copy
This is version 5 of the AF_XDP zero-copy support for igb. Since Sriram’s duties changed I am sending this instead. Additionally, I’ve tested this on real hardware, Intel i210 .
v4: ipsec-next: Support IPsec crypto offload for IPv6 ESP and IPv4 UDP-encapsulated ESP data paths
This patchset extends the crypto offload support to cover these two cases.
This series adds support for the Management Control Transport Protocol (MCTP) over the Platform Communication Channel (PCC) mechanism.
v3: net: bridge: mst: Check vlan state for egress decision
If a port is blocking in the common instance but forwarding in an MST instance, traffic egressing the bridge will be dropped because the state of the common instance is overriding that of the MST instance.
v9: af_packet: Handle outgoing VLAN packets without hardware offloading
The issue initially stems from libpcap. The ethertype will be overwritten as the VLAN TPID if the network interface lacks hardware VLAN offloading.
v3: net-next: mlx5 misc 2023-07-08 (sf max eq)
This V3 includes only 4 patches out of the original 10 in V2, since Jakub asked to split the series and fix the commit message of the first patch.
v2: net-next: eth: mlx5: expose NETIF_F_NTUPLE when ARFS is compiled out
Drivers which don’t support ARFS commonly still support NTUPLE filtering. mlx5 has a Kconfig option to disable ARFS (MLX5_EN_ARFS) and does not advertise NTUPLE filters as a feature at all when ARFS is compiled out.
linux-next: duplicate patch in the bpf-next tree
The following commit is also in the net tree as a different commit
v1: net-next: eth: bnxt: use the new RSS API
Convert bnxt from using the set_rxfh API to separate create/modify/remove callbacks.
[GIT PULL mlx5-next] Introduce auxiliary bus IRQs sysfs
Following the review of v10 and Greg’s request to send this via netdev. This is a pull request that includes the 2 patches of adding IRQs sysfs to aux dev subsystem based on mlx5-next tree (6.10-rc3).
v1: can: fsl,flexcan: add fsl,s32v234-flexcan and imx95 wakeup
安全增强
v4: Add per-core RAPL energy counter support for AMD CPUs
This patchset adds a new “power_per_core” PMU alongside the existing “power” PMU, which will be responsible for collecting the new “energy-per-core” event.
v1: media: venus: hfi_cmds: struct hfi_session_release_buffer_pkt
This replaces the 1-element “fake” flexible array in struct hfi_session_release_buffer_pkt with a modern flexible array and adds the __counted_by annotation that was identified during the analysis.
v1: slab: Allow for type introspection during allocation
This is an RFC for some changes I’d like to make to the kernel’s allocators (starting with slab) that allow for type introspection, which has been a long-time gap in potential analysis capabilities available at compile-time.
异步 IO
v6: RESEND: io_uring: releasing CPU resources when polling
This set a signal “IORING_SETUP_HY_POLL” to application, aim to provide a interface for user to enable a new hybrid polling at io_uring level.
v6: io_uring: releasing CPU resources when polling
This set a signal “IORING_SETUP_HY_POLL” to application, aim to provide a interface for user to enable a new hybrid polling at io_uring level.
Rust For Linux
v4: Rust bindings for cpufreq and OPP core + sample driver
This adds initial rust bindings for two subsystems, cpufreq and operating performance points (OPP). The bindings are provided for most of the interface these subsystems expose.
v1: drm: panthor: add dev_coredumpv support
Dump the state of the GPU. This feature is useful for debugging purposes.
v3: drm/panic: Add a QR code panic screen
This series adds a new panic screen, with the kmsg data embedded in a QR code.
v1: rust: types: Add explanation for ARef pattern
As the usage of
ARef
andAlwaysRefCounted
is growing, it makes sense to add explanation of the “ARef pattern” to cover the most “DO” and “DO NOT” cases when wrapping a self-refcounted C type.
v2: Support several Rust toolchain versions
A few things improved here and there, and rebased on top of
rust-next
.
v2: drm/panic: Add a qr_code panic screen
This series adds a new panic screen, with the kmsg data embedded in a QR-code.
BPF
v1: perf/bpf: Don’t call bpf_overflow_handler() for tracing events
It assumed that anytime event->prog is set bpf_overflow_handler() should be invoked to execute the attached bpf program.
v2: bpf-next: handle errno ENOTSUPP
v2: bpf-next: use network helpers, part 9
linux-next: duplicate patch in the bpf-next tree
The following commit is also in the net tree as a different commit (but the same patch)
[RFC PATCH bpf-next RESEND 00/16] bpf: Checkpoint/Restore In eBPF (CRIB)
This patch series adds a new bpf program type CRIB (Checkpoint/Restore In eBPF) for better checkpoint/restore of processes.
v4: bpf-next: Add return value range check for BPF LSM
LSM BPF prog returning a positive number attached to the hook file_alloc_security makes kernel panic.
v6: net-next: virtio/vsock: support datagrams
This series introduces support for datagrams to virtio/vsock.
v1: bpf: Checkpoint/Restore In eBPF (CRIB)
This patch series adds a new bpf program type CRIB (Checkpoint/Restore In eBPF) for better checkpoint/restore of processes.
v1: bpf: Ensure BPF programs testing skb context initialization
This commit addresses an issue where a netdevice was found to be uninitialized.
v16: net-next: Device Memory TCP
v14: Reduce overhead of LSMs with static calls
LSM hooks (callbacks) are currently invoked as indirect function calls. These callbacks are registered into a linked list at boot time as the order of the LSMs can be configured on the kernel command line with the “lsm=” command line parameter.
周边技术动态
Qemu
v2: qemu: target/riscv: Add Zilsd and Zcmlsd extension support
In this version of the patch:
- Adjusted the code formatting issue
- Optimize the processing of all instructions
v8: Add RISC-V ISA extension smcntrpmf support
This patch series adds the support for RISC-V ISA extension smcntrpmf (cycle and privilege mode filtering) [1].
v2: RISC-V: Add preliminary textra trigger CSR functions
This series support to write MHVALUE and MHSELECT fields into textra32 and textra64 trigger CSRs.
v5: target/riscv: Expose RV32 cpu to RV64 QEMU
v4: target/riscv: Support zimop/zcmop/zama16b/zabha
This patch set has been queued to alistair/riscv-to-apply.next, but it is still not merged by the master branch. I think we had better fix it before merging into the master.
v5: riscv: QEMU RISC-V IOMMU Support
In this new version changes based on the suggestions made in v4 were made.
Buildroot
package/gdb: add support for GDB 15.1
The patches from gdb 14.1 are all ported to 15.1, with some minor adaptation to 2 of them.
Tig is an ncurses-based text-mode interface for git. It functions mainly as a Git repository browser, but can also assist in staging changes for commit at chunk level and act as a pager for output from various Git commands.
猜你喜欢:
- 我要投稿:发表原创技术文章,收获福利、挚友与行业影响力
- 泰晓资讯:汇总一周技术趣闻与文章,查看「Linux 资讯」
- 知识星球:独家 Linux 实战经验与技巧,订阅「Linux知识星球」
- 视频频道:泰晓学院,B 站,发布各类 Linux 视频课
- 开源小店:欢迎光临泰晓科技自营店,购物支持泰晓原创
- 技术交流:Linux 用户技术交流微信群,联系微信号:tinylab
支付宝打赏 ¥9.68元 | 微信打赏 ¥9.68元 | |
请作者喝杯咖啡吧 |
Read Album:
- 实时分析工具 rtla timerlat 介绍(一):交叉编译及使用
- RISC-V Linux 内核及周边技术动态第 116 期
- 废弃 QEMU xilinx_zynq 板卡的 ignore_memory_transaction_failures
- RISC-V Linux 内核及周边技术动态第 115 期
- RISC-V Linux 内核及周边技术动态第 114 期