[置顶] 泰晓 RISC-V 实验箱,配套 30+ 讲嵌入式 Linux 系统开发公开课
RISC-V Linux 内核及周边技术动态第 109 期
时间:20240916
编辑:晓瑜
仓库:RISC-V Linux 内核技术调研活动
赞助:PLCT Lab, ISCAS
内核动态
RISC-V 架构支持
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
There are quite a few in-flight patches waiting for more reviews and these will be included in 6.13.
v1: riscv: Prevent a bad reference count on CPU nodes
Moreover, the previous function did not check for errors when acquiring the device node, so a return -ENOENT has been added for that case.
v2: riscv: hwprobe: export Zicntr and Zihpm extensions
Export Zicntr and Zihpm ISA extensions through the hwprobe syscall.
v4: riscv control-flow integrity for usermode
To get more information on zicfilp and zicfiss riscv CPU extensions, patch series adds documentation for
zicfilp
andzicfiss
v1: Add Microchip IPC mailbox and remoteproc support
This series adds support for the Microchip Inter-Processor Communication (IPC) mailbox controller, as well as an IPC remoteproc platform driver.
v3: riscv: Add perf support to collect KVM guest statistics from host side
Add basic guest support to RISC-V perf, enabling it to distinguish whether PMU interrupts occur in the host or the guest, and then collect some basic guest information from the host side (guest os callchain is not supported for now).
v10: riscv: Add support for xtheadvector
xtheadvector is a custom extension that is based upon riscv vector version 0.7.1 [1].
v2: pwm: Add pwm driver for Sophgo SG2042
Add driver for pwm controller of Sophgo SG2042 SoC.
v6: riscv: sophgo: Add pinctrl support for CV1800 series SoC
Add basic pinctrl driver for Sophgo CV1800 series SoCs.
v1: 6.6: membarrier: riscv: Add full memory barrier in switch_mm()
The membarrier system call requires a full memory barrier after storing to rq->curr, before going back to user-space.
LoongArch 架构支持
v3: Consolidate IO memcpy functions
Fixed compilation problems on 32bit architectures.
v3: Added Interrupt controller emulation for loongarch kvm
In order to reduce the loss caused by frequent switching of the virtual machine monitor from kernel mode to user mode when the guest accesses the interrupt controller, we add the interrupt controller simulation in kvm.
v4: Add EDAC driver for loongson memory controller
Add a simple EDAC driver which report single bit errors (CE) only on loongson platform.
v1: LoongArch: Enable ACPI BGRT handling
Add ACPI BGRT support on LoongArch so it can display image provied by acpi table at boot stage and switch to graphical UI smoothly.
ARM 架构支持
v3: 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.
v2: perf arm-spe: Refactor data source encoding
This patch series is dependent on the metadata version 2 series [1] for retrieving CPU MIDR. It has been verified for per CPU mode and per thread mode on Cortex-A725 CPUs.
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
RK3588S EVB1 board features
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.
v1: Add minimal boot support for IPQ5424
This series adds minimal board boot support for ipq5424-rdp466 board.
v3: Correct perf sampling with Guest VMs
v1: Adding support of ADI ARMv8 ADSP-SC598 SoC.
This set of patches based on ADI fork of Linux Kerenl that support family of ADSP-SC5xx SoC’s and used by customers for some time . v2: perf: cs-etm: Coresight decode and disassembly improvements
A set of changes that came out of the issues reported here [1].
v3: Add support Relfor Saib board which is based on Rockchip RV1109 SoC
Rockchip RV1109 is compatible with Rockchip RV1126. In this series, adding required missing peripheral in RV1126 and its pin mux.
linux-next: duplicate patch in the sound-asoc tree
The following commit is also in the arm-soc tree as a different commit (but the same patch):
v4: Add mfd, pinctrl and pwm support to EN7581 SoC
Introduce airoha-mfd driver in order to load pinctrl and pwm drivers for EN7581 SoC.
v1: support for mm-local memory allocations and use it
In a series posted a few years ago [1], a proposal was put forward to allow the kernel to allocate memory local to a mm and thus push it out of reach for current and future speculation-based cross-process attacks.
v1: Add generic overlay for MikroBUS addon boards
This is an attempt to add MikroBUS addon support using the approach described by Grove connector patch series.
X86 架构支持
v1: x86: add more x86-64 micro-architecture levels
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: KVM: x86: VMX changes for 6.12
The highlight is a fix for nested posted interrupts that shows up on CPUs with IPI virtualization.
GIT PULL: KVM: x86: SVM changes for 6.12
I got nothing clever or interesting to say for this one.
GIT PULL: KVM: x86: MMU changes for 6.12
The bulk of the changes are to clean up the thorny “unprotect and retry” mess that grew over time.
GIT PULL: KVM: x86: Misc changes for 6.12
The highlight is a rework of the userspace MSR access code to automatically suppress errors on disallowed accesses to advertised-but-unsupported MSRs.
GIT PULL: KVM: Common changes for 6.12
Fix a long-standing goof in the coalesced IO code, and a lurking bug in kvm_clear_guest().
GIT PULL: KVM: x86 pull requests for 6.12
There’s a trivial (and amusing) conflict with KVM s390 in the selftests pull request (we both added “config” to the .gitignore, within a few days of each other, after the goof being around for a good year or more).
v1: kthread: Unpark only parked kthread
Calling into kthread unparking unconditionally is mostly harmless when the kthread is already unparked.
v11: x86: Trenchboot secure dynamic launch Linux kernel support
The larger focus of the TrenchBoot project (https://github.com/TrenchBoot) is to enhance the boot security and integrity in a unified manner.
v2: firmware: coreboot: Don’t register a pdev if screen_info data is present
On Coreboot platforms, a system framebuffer may be provided to the Linux kernel by filling a LB_TAG_FRAMEBUFFER entry in the Coreboot table.
v5: 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.
This is the work to cleanup and shrink struct file significantly.
v1: net:yt6801: Add Motorcomm yt6801 PCIe driver
This patch is to add the ethernet device driver for the PCIe interface of Motorcomm YT6801 Gigabit Ethernet.
进程调度
v1: sched/eevdf: Reduce the computation frequency of avg_vruntime
The current code subtracts the value of curr from avg_vruntime and avg_load during runtime. Then, every time avg_vruntime() is called, it adds the value of curr to the avg_vruntime and avg_load. Afterward, it divides these and adds min_vruntime to obtain the actual avg_vruntime.
v2: sched: Don’t try to catch up excess steal time.
When steal time exceeds the measured delta when updating clock_task, we currently try to catch up the excess in future updates.
v1: sched, cgroup: cgroup1 can also take the non-RUNTIME_INF min
For the handling logic of child_quota, there is no need to distinguish between cgroup1 and cgroup2, so unify the handling logic here.
v2: sched: Improve cache locality of RSEQ concurrency IDs
This series addresses this shortcoming.
内存管理
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.
v1: mm/huge_memory: ensure huge_zero_folio won’t have large_rmappable flag set
Ensure huge_zero_folio won’t have large_rmappable flag set. So it can be reported as thp,zero correctly through stable_page_flags().
v1: mm: Compute mTHP order efficiently
We use pte_range_none() to determine whether contiguous PTEs are empty for an mTHP allocation.
v2: mm/memcontrol: add per-memcg pgpgin/pswpin counter
In proactive memory reclamation scenarios, it is necessary to estimate the pswpin and pswpout metrics of the cgroup to determine whether to continue reclaiming anonymous pages in the current batch.
v1: maple_tree: root node could be handled by !p_slot too
For a root node, mte_parent_slot() return 0, this exactly fits the following !p_slot check.
v1: bootmem: Stop using page->index
Encode the type into the bottom four bits of page->private and the info into the remaining bits.
v2: Provide a new two step DMA API mapping API
Instead of waiting and waiting when I finally fix NVMe patch which doesn’t work correctly in DMA direct mode (it causes to failures in module reload), I decided to send the series as is to at least get a feedback about API and the overall direction.
v1: rust: shrinker: add shrinker abstraction
Rust Binder holds incoming transactions in a read-only mmap’d region where it manually manages the pages.
v1: mm: mmap: Allow mmap(MAP_STACK) to map growable stack
This is a RFC to change the behaviour of mmap(MAP_STACK) to be sufficient to map memory for usage as stack on all architectures.
v4: tmpfs: Add case-insensitive support for tmpfs
This patchset adds support for case-insensitive file names lookups in tmpfs.
By analysis the code, one condition check could be removed and one case would hit a redundant assignment.
v12: 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: 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. If using shared lock, the wait in
fuse_file_cached_io_open
may be forever.
v1: filemap: filemap_read() should check that the offset is positive or zero
We do check that the read offset is less than the filesystem limit, however for good measure we should also check that it is positive or zero, and return EINVAL if that is not the case.
**[v1: proc: Add mmap callback for /proc/
This patch introduces memory mapping (mmap) support for the /proc/
/mem interface. The new functionality allows users to map the memory of a process into their address space reusing the same pages
This contains the work to improve read/write performance for the new netfs library.
v1: -next: fs/inode: Modify mismatched function name
No functional modification involved.
v2: unicode: change the reference of database file
Commit 2b3d04787012 (“unicode: Add utf8-data module”) changed the database file from ‘utf8data.h’ to ‘utf8data.c’ to build separate module, but it seems forgot to update README.utf8data , which may causes confusion. Update the README.utf8data and the default ‘UTF8_NAME’ in ‘mkutf8data.c’.
v1: ext4: Implement support for extsize hints
This patchset implements extsize hint feature for ext4. Posting this RFC to get some early review comments on the design and implementation bits.
v5: data placement hints and FDP
The series extends the infrastructure with a new temperature-agnostic placement-type hint.
v1: uidgid: make sure we fit into one cacheline
This is also what we rely on in struct_group() and friends. This of course relies on non-strict aliasing which we don’t do.
v1: proc: fold kmalloc() + strcpy() into kmemdup()
strcpy() will recalculate string length second time which is unnecessary in this case.
v1: VFS: check i_nlink count before trying to unlink
Reported-by: syzbot+41b43444de86db4c5ed1@syzkaller.appspotmail.com Closes: https://syzkaller.appspot.com/bug?extid=41b43444de86db4c5ed1
v1: blk: optimization for classic polling
This removes the dependency on interrupts to wake up task.
网络设备
v1: net: dsa: mv88e6xxx: correct CC scale factor for 88E6393X
Sending this as an RFC: no datasheet access - this scaling factor may not be correct for all boards if this 4ns vs 8ns discrepancy is down to physical design.
v1: e1000e: makes e1000_watchdog_task use queue_delayed_work
Replaces watchdog timer with delayed_work as advised in the driver’s TODO comment.
v1: net-next: net: mana: Increase the DEF_RX_BUFFERS_PER_QUEUE to 1024
Through some experiments, we found out that increasing the default RX buffers count from 512 to 1024, gives slightly better throughput and significantly reduces the no_wqe_rx errs on the receiver side.
v1: vhost/net: Set num_buffers for virtio 1.0
The specification says the device MUST set num_buffers to 1 if VIRTIO_NET_F_MRG_RXBUF has not been negotiated.
v1: net-next: net/mlx5: HWS, check the correct variable in hws_send_ring_alloc_sq()
There is a copy and paste bug so this code checks “sq->dep_wqe” where “sq->wr_priv” was intended.
v4: -next: posix-clock: Check timespec64 for PTP clock
Check timespec64 in pc_clock_settime() for PTP clock.
v1: net-next: net: ethernet: fs_enet: Make the per clock optional
Some platforms that use fs_enet don’t have the PER register clock. This optional dependency on the clock was incorrectly made mandatory when switching to devm_ accessors.
v1: net: dsa: improve shutdown sequence
Alexander Sverdlin presents 2 problems during shutdown with the lan9303 driver.
v1: net-next: Mirroring to DSA CPU port
The simplest way I could come up with was to set up tc mirred actions towards a dummy net_device, and make the offloading of that be accepted by the driver.
v1: net: Handle threadirqs in __napi_schedule_irqoff
The threadirqs kernel parameter can be used to force threaded IRQs even on non-PREEMPT_RT kernels.
v1: net-next: net: devmem: TX Path
As discussed in [1], sending the preliminary version of the transmit path. It is somewhat based on [2], but at this point probably nothing of the original patch remains.
v2: net: xilinx: axienet: Schedule NAPI in two steps
As advised by Documentation/networking/napi.rst, masking IRQs after calling napi_schedule can be racy.
v1: Socket Pressure Stall Information / ephemeral port range depletion info
This RFC relates to “LPC 2023: connect() - why you so slow?” [1] by Frederick Lawler fred@cloudflare.com.
v1: net: stmmac: set PP_FLAG_DMA_SYNC_DEV only if XDP is enabled
This patch brings up to 9% noticeable performance improvement on certain platforms.
v1: net-next: net/udp: Add 4-tuple hash for connected socket
This RFC patch introduces 4-tuple hash for connected udp sockets, to make udp lookup faster.
v1: net-next: net: ethtool: phy: Don’t set the context dev pointer for unfiltered DUMP
The context info allows continuing DUMP requests, shall they fill the netlink buffer.
v1: Allow sk_lookup UDP return traffic to egress.
Currently, sk_lookup allows an ebpf program to run on the ingress socket lookup path, and accept traffic not only on a range of addresses, but also on a range of ports.
v1: ethtool: netlink: rss: retrieve ring count using ETHTOOL_GRXRINGS ioctl
Several drivers regressed when ethtool –show-rxfh was converted from ioctl to netlink. This is because ETHTOOL_GRXRINGS was converted to ETHTOOL_MSG_CHANNELS_GET, which is semantically equivalent to ETHTOOL_GCHANNELS but different from ETHTOOL_GRXRINGS.
v1: net-next: net: ethtool: phy: Distinguish whether dev is got by phy start or doit
Syzbot reported a refcount bug in ethnl_phy_done.
v1: net: phy: aquantia: Set phy speed to 2.5gbps for AQR115c
Recently we observed that aquantia AQR115c always comes up in 100Mbps mode.
v1: net-next: net: sched: cls_api: improve the error message for ID allocation failure
We run into an exhaustion problem with the kernel-allocated filter IDs.
v2: net-next: usbnet: ipheth: prevent OoB reads of NDP16
In “NCM mode”, the iOS device encapsulates RX (phone->computer) traffic in NCM Transfer Blocks (similarly to CDC NCM).
v1: net: fbnic: Set napi irq value after calling netif_napi_add
The driver calls netif_napi_set_irq() and then calls netif_napi_add(), which calls netif_napi_add_weight().
v1: iproute: man: replace use of term whitelist
Avoid use of term whitelist because it propgates white == good assumptions. Not really neede on the man page.
v1: iproute: man: replace use of word segregate
The term segregate carries a lot of racist baggage in the US. It is on the Inclusive Naming word list.
v1: iproute: replace use of term ‘Sanity check’
The term “sanity check” is on the Tier2 word list (should replace).
v2: net-next: eth: fbnic: add timestamping support
The series is to add timestamping support for Meta’s NIC driver.
v2: net-next: octeontx2: Few debugfs enhancements
Removed wrong mutex_unlock invocations.
v1: net-next: tg3: Link IRQs to NAPI instances
Link IRQs to NAPI instances with netif_napi_set_irq. This information can be queried with the netdev-genl API.
v1: net: netkit: Assign missing bpf_net_context
During the introduction of struct bpf_net_context handling for XDP-redirect, the netkit driver has been missed, which also requires it because NETKIT_REDIRECT invokes skb_do_redirect() which is accessing the per-CPU variables.
GIT PULL: Networking for v6.11-rc8
Including fixes from netfilter.
The suggested fix changes this behaviour by setting the ip_forward as the next “step” in the flow of the packet, just before it (previously was) is dropped, so that later the ip_forward, as usual, will pass it on to its relevant recipient (socket), by invoking the ip_call_ra_chain.
When an IP packet with the IP router alert (RFC 2113) field arrives to some host who is not the destination of that packet (i.e - non of its interfaces is the address in the destination IP address field of that packet)
v10: iwl-next: ice: Implement PTP support for E830 devices
Add specific functions and definitions for E830 devices to enable PTP support.
v1: ethtool-next: Add support for new features in C33 PSE
It also updates the manual accordingly. This series requisites the c33 PSE documentation support patch sent mainline.
v1: net-next: pull-request: can-next 2024-09-11
this is a pull request of 5 patches for net-next/master.
v1: net: pull-request: can 2024-09-12
this is a pull request of 5 patches for net/master.
v3: ipsec: xfrm: check MAC header is shown with both skb->mac_len and skb_mac_header_was_set()
When we use Intel WWAN with xfrm, our system always hangs after browsing websites for a few seconds.
v1: net: mana: Add get_link and get_link_ksettings in ethtool
Add support for the ethtool get_link and get_link_ksettings operations.
v1: net: bonding: do not set force_primary if reselect is set to failure
This can result in primary becoming active again when link is back which is not what we want when primary_reselect is set to ‘failure’
v10: net-next: Add support of HIBMCGE Ethernet Driver
This patch set adds the support of Hisilicon BMC Gigabit Ethernet Driver.
安全增强
v3: -next: coccinelle: Add some rules for string_chioces helpers.
We found that many of the detection rules for helpers in string_choices.h are missing. This series of patches is intended to complete these rules.
v2: overflow: optimize struct_size() calculation
If the offsetof() of a given flexible array member (fam) is smaller than the sizeof() of the containing struct, then the struct_size() macro reports a size which is too big.
异步 IO
v1: io_uring: rename “copy buffers” to “clone buffers”
A recent commit added support for copying registered buffers from one ring to another.
v5: implement async block discards and other ops via io_uring
There is an interest in having asynchronous block operations like discard and write zeroes. The series implements that as io_uring commands, which is an io_uring request type allowing to implement custom file specific operations.
v1: 6.1: io_uring/io-wq: respect cgroup cpusets
as discussed in [1], this is a manual backport of the remaining two patches to let the io worker threads respect the affinites defined by the cgroup of the process. v3: io_uring/io-wq: respect cgroup cpusets
this series continues the affinity cleanup work started in io_uring/sqpoll. It has been successfully tested against the liburing testsuite (make runtests), liburing @ caae94903d2e201.
v1: io_uring/rw: treat -EOPNOTSUPP for IOCB_NOWAIT like -EAGAIN
Some file systems, ocfs2 in this case, will return -EOPNOTSUPP for an IOCB_NOWAIT read/write attempt.
v8: RESENT: 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.
Rust For Linux
v2: rust: sync: require T: Sync
for LockedBy::access
The
LockedBy::access
method only requires a shared reference to the owner.
v1: Untrusted data abstraction
Enable marking certain data as untrusted. For example data coming from userspace, hardware or any other external data source.
v3: rust: error: make conversion functions public
Change visibility to public of functions in error.rs: from_err_ptr, from_errno, from_result and to_ptr. Additionally, remove dead_code annotations.
v5: 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().
v7: Generic Allocator
support for Rust
This patch series adds generic kernel allocator support for Rust, which so far is limited to
kmalloc
allocations.
BPF
v1: 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.
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.
v2: bpf-next: libbpf: add bpf_object__token_fd accessor
Add a LIBBPF_API function to retrieve the token_fd from a bpf_object.
v14: tracing: fprobe: function_graph: Multi-function graph and fprobe on fgraph
Here is the 14th version of the series to re-implement the fprobe on function-graph tracer. The previous version is.
For the inline timestamping same pitfall actually applies. There you timestamp the packets themselves.
v1: tools/bpf: Add missing fclose.
Add fclose to rm this error.
v4: net: bpf: devmap: provide rxq after redirect
Add bugfix and related selftest.
v1: bpf-next: bpf: lsm: Set bpf_lsm_blob_sizes.lbs_task to 0
bpf task local storage is now using task_struct->bpf_storage, so bpf_lsm_blob_sizes.lbs_task is no longer needed. Remove it to save some memory.
v3: bpf-next: bpf: Allow skb dynptr for tp_btf
This makes bpf_dynptr_from_skb usable for tp_btf, so that we can easily parse skb in tracepoints. This has been discussed in [0], and Martin suggested to use dynptr (instead of helpers like bpf_skb_load_bytes).
v1: uprobes: switch to RCU Tasks Trace flavor for better performance
This patch switches uprobes SRCU usage to RCU Tasks Trace flavor, which is optimized for more lightweight and quick readers (at the expense of slower writers, which for uprobes is a fine tradeof) and has better performance and scalability with number of CPUs.
v26: net-next: Device Memory TCP
v2: HID: HID: bpf: add a new hook to control hid-generic
This is a slight change from the fundamentals of HID-BPF. In theory, HID-BPF is abstract to the kernel itself, and makes only changes at the HID level (through report descriptors or events emitted to/from the device).
[v3 PATCH bpf-next 0/2] bpf: Add percpu map value size check
Check percpu map value size first and add the test case in selftest.
v4: net-next: net: ethernet: ti: am65-cpsw: Add multi queue RX support
This series adds multi-queue support.
v1: arm64: uprobes: Simulate STP for pushing fp/lr into user stack
This patch is the second part of a series to improve the selftest bench of uprobe/uretprobe [0]. The lack of simulating ‘stp fp, lr, [sp, #imm]’ significantly impact uprobe/uretprobe performance at function entry in most user cases.
v1: SRCU-protected uretprobes hot path
This patch set adds return uprobe (uretprobe) side of this, this time utilizing SRCU for the same reasons. Given the time between entry uprobe activation (at which point uretprobe code hijacks user-space stack to get activated on user function return) and uretprobe activation can be arbitrarily long and is completely under control of user code, we need to protect ourselves from too long or unbounded SRCU grace periods.
v1: bpf: devmap: allow for repeated redirect
Currently, returning XDP_REDIRECT from a xdp/devmap program is considered as invalid action and an exception is traced.
周边技术动态
Qemu
v6: bsd-user: Comprehensive RISCV Support
Key Changes Compared to Version 5: In target_arch_sigtramp.h removed static const, as there was a compile-time constant issue
v14: riscv support for control flow integrity extensions
v14 for riscv zicfilp and zicfiss extensions support in qemu.
v1: target/riscv: Add support for Smdbltrp and Ssdbltrp extensions
This series adds support for Ssdbltrp and Smdbltrp ratified ISA extensions. It is based on the Smrnmi series.
The following changes since commit a4eb31c678400472de0b4915b9154a7c20d8332f:Merge tag ‘pull-testing-gdbstub-oct-100924-1’ of https://gitlab.com/stsquad/qemu into staging (2024-09-11 13:17:29 +0100)
v4: tcg/riscv: Add support for vector
This patch set introduces support for the RISC-V vector extension in TCG backend for RISC-V targets.
v1: target/riscv: Add support for machine specific pmu’s events
Following original patch [1] here’s a patch with support of machine specific pmu events and PoC with initial support for sifive_u’s HPM.
U-Boot
v2: riscv: Add AST2700 platform support
AST2700 is the 7th generation of Aspeed BMC SoCs.
U-Boot SPL crashes after stack setup
I am having a crash with u-boot-spl simulated in spike, to be more spesific the problem occurs after this line located in start.S.
猜你喜欢:
- 我要投稿:发表原创技术文章,收获福利、挚友与行业影响力
- 泰晓资讯:汇总一周技术趣闻与文章,查看「Linux 资讯」
- 知识星球:独家 Linux 实战经验与技巧,订阅「Linux知识星球」
- 视频频道:泰晓学院,B 站,发布各类 Linux 视频课
- 开源小店:欢迎光临泰晓科技自营店,购物支持泰晓原创
- 技术交流:Linux 用户技术交流微信群,联系微信号:tinylab
支付宝打赏 ¥9.68元 | 微信打赏 ¥9.68元 | |
请作者喝杯咖啡吧 |
Read Album:
- TinyBPT 和面向 buildroot 的二进制包管理服务(1):设计简介与框架
- RISC-V Linux 内核及周边技术动态第 118 期
- RISC-V Linux 内核及周边技术动态第 117 期
- 实时分析工具 rtla timerlat 介绍(二):延迟测试原理
- 实时分析工具 rtla timerlat 介绍(一):交叉编译及使用