From: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
To: stable@vger.kernel.org
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
patches@lists.linux.dev,
Jacek Lawrynowicz <jacek.lawrynowicz@linux.intel.com>,
Karol Wachowski <karol.wachowski@intel.com>,
Sasha Levin <sashal@kernel.org>
Subject: [PATCH 6.12 074/218] accel/ivpu: Add debugfs interface for setting HWS priority bands
Date: Thu, 3 Jul 2025 16:40:22 +0200 [thread overview]
Message-ID: <20250703143958.898455216@linuxfoundation.org> (raw)
In-Reply-To: <20250703143955.956569535@linuxfoundation.org>
6.12-stable review patch. If anyone has any objections, please let me know.
------------------
From: Karol Wachowski <karol.wachowski@intel.com>
[ Upstream commit 320323d2e5456df9d6236ac1ce9c030b1a74aa5b ]
Add debugfs interface to modify following priority bands properties:
* grace period
* process grace period
* process quantum
This allows for the adjustment of hardware scheduling algorithm parameters
for each existing priority band, facilitating validation and fine-tuning.
Reviewed-by: Jacek Lawrynowicz <jacek.lawrynowicz@linux.intel.com>
Signed-off-by: Karol Wachowski <karol.wachowski@intel.com>
Signed-off-by: Jacek Lawrynowicz <jacek.lawrynowicz@linux.intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20250204084622.2422544-4-jacek.lawrynowicz@linux.intel.com
Stable-dep-of: a47e36dc5d90 ("accel/ivpu: Trigger device recovery on engine reset/resume failure")
Signed-off-by: Sasha Levin <sashal@kernel.org>
---
drivers/accel/ivpu/ivpu_debugfs.c | 84 +++++++++++++++++++++++++++++++
drivers/accel/ivpu/ivpu_hw.c | 21 ++++++++
drivers/accel/ivpu/ivpu_hw.h | 5 ++
drivers/accel/ivpu/ivpu_jsm_msg.c | 29 ++++-------
4 files changed, 121 insertions(+), 18 deletions(-)
diff --git a/drivers/accel/ivpu/ivpu_debugfs.c b/drivers/accel/ivpu/ivpu_debugfs.c
index 05a0d99ce95c4..1edf6e5644026 100644
--- a/drivers/accel/ivpu/ivpu_debugfs.c
+++ b/drivers/accel/ivpu/ivpu_debugfs.c
@@ -423,6 +423,88 @@ static int dct_active_set(void *data, u64 active_percent)
DEFINE_DEBUGFS_ATTRIBUTE(ivpu_dct_fops, dct_active_get, dct_active_set, "%llu\n");
+static int priority_bands_show(struct seq_file *s, void *v)
+{
+ struct ivpu_device *vdev = s->private;
+ struct ivpu_hw_info *hw = vdev->hw;
+
+ for (int band = VPU_JOB_SCHEDULING_PRIORITY_BAND_IDLE;
+ band < VPU_JOB_SCHEDULING_PRIORITY_BAND_COUNT; band++) {
+ switch (band) {
+ case VPU_JOB_SCHEDULING_PRIORITY_BAND_IDLE:
+ seq_puts(s, "Idle: ");
+ break;
+
+ case VPU_JOB_SCHEDULING_PRIORITY_BAND_NORMAL:
+ seq_puts(s, "Normal: ");
+ break;
+
+ case VPU_JOB_SCHEDULING_PRIORITY_BAND_FOCUS:
+ seq_puts(s, "Focus: ");
+ break;
+
+ case VPU_JOB_SCHEDULING_PRIORITY_BAND_REALTIME:
+ seq_puts(s, "Realtime: ");
+ break;
+ }
+
+ seq_printf(s, "grace_period %9u process_grace_period %9u process_quantum %9u\n",
+ hw->hws.grace_period[band], hw->hws.process_grace_period[band],
+ hw->hws.process_quantum[band]);
+ }
+
+ return 0;
+}
+
+static int priority_bands_fops_open(struct inode *inode, struct file *file)
+{
+ return single_open(file, priority_bands_show, inode->i_private);
+}
+
+static ssize_t
+priority_bands_fops_write(struct file *file, const char __user *user_buf, size_t size, loff_t *pos)
+{
+ struct seq_file *s = file->private_data;
+ struct ivpu_device *vdev = s->private;
+ char buf[64];
+ u32 grace_period;
+ u32 process_grace_period;
+ u32 process_quantum;
+ u32 band;
+ int ret;
+
+ if (size >= sizeof(buf))
+ return -EINVAL;
+
+ ret = simple_write_to_buffer(buf, sizeof(buf) - 1, pos, user_buf, size);
+ if (ret < 0)
+ return ret;
+
+ buf[size] = '\0';
+ ret = sscanf(buf, "%u %u %u %u", &band, &grace_period, &process_grace_period,
+ &process_quantum);
+ if (ret != 4)
+ return -EINVAL;
+
+ if (band >= VPU_JOB_SCHEDULING_PRIORITY_BAND_COUNT)
+ return -EINVAL;
+
+ vdev->hw->hws.grace_period[band] = grace_period;
+ vdev->hw->hws.process_grace_period[band] = process_grace_period;
+ vdev->hw->hws.process_quantum[band] = process_quantum;
+
+ return size;
+}
+
+static const struct file_operations ivpu_hws_priority_bands_fops = {
+ .owner = THIS_MODULE,
+ .open = priority_bands_fops_open,
+ .write = priority_bands_fops_write,
+ .read = seq_read,
+ .llseek = seq_lseek,
+ .release = single_release,
+};
+
void ivpu_debugfs_init(struct ivpu_device *vdev)
{
struct dentry *debugfs_root = vdev->drm.debugfs_root;
@@ -445,6 +527,8 @@ void ivpu_debugfs_init(struct ivpu_device *vdev)
&fw_trace_hw_comp_mask_fops);
debugfs_create_file("fw_trace_level", 0200, debugfs_root, vdev,
&fw_trace_level_fops);
+ debugfs_create_file("hws_priority_bands", 0200, debugfs_root, vdev,
+ &ivpu_hws_priority_bands_fops);
debugfs_create_file("reset_engine", 0200, debugfs_root, vdev,
&ivpu_reset_engine_fops);
diff --git a/drivers/accel/ivpu/ivpu_hw.c b/drivers/accel/ivpu/ivpu_hw.c
index 1214f155afa11..37ef8ce642109 100644
--- a/drivers/accel/ivpu/ivpu_hw.c
+++ b/drivers/accel/ivpu/ivpu_hw.c
@@ -110,6 +110,26 @@ static void timeouts_init(struct ivpu_device *vdev)
}
}
+static void priority_bands_init(struct ivpu_device *vdev)
+{
+ /* Idle */
+ vdev->hw->hws.grace_period[VPU_JOB_SCHEDULING_PRIORITY_BAND_IDLE] = 0;
+ vdev->hw->hws.process_grace_period[VPU_JOB_SCHEDULING_PRIORITY_BAND_IDLE] = 50000;
+ vdev->hw->hws.process_quantum[VPU_JOB_SCHEDULING_PRIORITY_BAND_IDLE] = 160000;
+ /* Normal */
+ vdev->hw->hws.grace_period[VPU_JOB_SCHEDULING_PRIORITY_BAND_NORMAL] = 50000;
+ vdev->hw->hws.process_grace_period[VPU_JOB_SCHEDULING_PRIORITY_BAND_NORMAL] = 50000;
+ vdev->hw->hws.process_quantum[VPU_JOB_SCHEDULING_PRIORITY_BAND_NORMAL] = 300000;
+ /* Focus */
+ vdev->hw->hws.grace_period[VPU_JOB_SCHEDULING_PRIORITY_BAND_FOCUS] = 50000;
+ vdev->hw->hws.process_grace_period[VPU_JOB_SCHEDULING_PRIORITY_BAND_FOCUS] = 50000;
+ vdev->hw->hws.process_quantum[VPU_JOB_SCHEDULING_PRIORITY_BAND_FOCUS] = 200000;
+ /* Realtime */
+ vdev->hw->hws.grace_period[VPU_JOB_SCHEDULING_PRIORITY_BAND_REALTIME] = 0;
+ vdev->hw->hws.process_grace_period[VPU_JOB_SCHEDULING_PRIORITY_BAND_REALTIME] = 50000;
+ vdev->hw->hws.process_quantum[VPU_JOB_SCHEDULING_PRIORITY_BAND_REALTIME] = 200000;
+}
+
static void memory_ranges_init(struct ivpu_device *vdev)
{
if (ivpu_hw_ip_gen(vdev) == IVPU_HW_IP_37XX) {
@@ -248,6 +268,7 @@ int ivpu_hw_init(struct ivpu_device *vdev)
{
ivpu_hw_btrs_info_init(vdev);
ivpu_hw_btrs_freq_ratios_init(vdev);
+ priority_bands_init(vdev);
memory_ranges_init(vdev);
platform_init(vdev);
wa_init(vdev);
diff --git a/drivers/accel/ivpu/ivpu_hw.h b/drivers/accel/ivpu/ivpu_hw.h
index 1e85306bcd065..1c016b99a0fdd 100644
--- a/drivers/accel/ivpu/ivpu_hw.h
+++ b/drivers/accel/ivpu/ivpu_hw.h
@@ -45,6 +45,11 @@ struct ivpu_hw_info {
u8 pn_ratio;
u32 profiling_freq;
} pll;
+ struct {
+ u32 grace_period[VPU_HWS_NUM_PRIORITY_BANDS];
+ u32 process_quantum[VPU_HWS_NUM_PRIORITY_BANDS];
+ u32 process_grace_period[VPU_HWS_NUM_PRIORITY_BANDS];
+ } hws;
u32 tile_fuse;
u32 sku;
u16 config;
diff --git a/drivers/accel/ivpu/ivpu_jsm_msg.c b/drivers/accel/ivpu/ivpu_jsm_msg.c
index 33d597b2a7f53..21018feb45978 100644
--- a/drivers/accel/ivpu/ivpu_jsm_msg.c
+++ b/drivers/accel/ivpu/ivpu_jsm_msg.c
@@ -7,6 +7,7 @@
#include "ivpu_hw.h"
#include "ivpu_ipc.h"
#include "ivpu_jsm_msg.h"
+#include "vpu_jsm_api.h"
const char *ivpu_jsm_msg_type_to_str(enum vpu_ipc_msg_type type)
{
@@ -409,26 +410,18 @@ int ivpu_jsm_hws_setup_priority_bands(struct ivpu_device *vdev)
{
struct vpu_jsm_msg req = { .type = VPU_JSM_MSG_SET_PRIORITY_BAND_SETUP };
struct vpu_jsm_msg resp;
+ struct ivpu_hw_info *hw = vdev->hw;
+ struct vpu_ipc_msg_payload_hws_priority_band_setup *setup =
+ &req.payload.hws_priority_band_setup;
int ret;
- /* Idle */
- req.payload.hws_priority_band_setup.grace_period[0] = 0;
- req.payload.hws_priority_band_setup.process_grace_period[0] = 50000;
- req.payload.hws_priority_band_setup.process_quantum[0] = 160000;
- /* Normal */
- req.payload.hws_priority_band_setup.grace_period[1] = 50000;
- req.payload.hws_priority_band_setup.process_grace_period[1] = 50000;
- req.payload.hws_priority_band_setup.process_quantum[1] = 300000;
- /* Focus */
- req.payload.hws_priority_band_setup.grace_period[2] = 50000;
- req.payload.hws_priority_band_setup.process_grace_period[2] = 50000;
- req.payload.hws_priority_band_setup.process_quantum[2] = 200000;
- /* Realtime */
- req.payload.hws_priority_band_setup.grace_period[3] = 0;
- req.payload.hws_priority_band_setup.process_grace_period[3] = 50000;
- req.payload.hws_priority_band_setup.process_quantum[3] = 200000;
-
- req.payload.hws_priority_band_setup.normal_band_percentage = 10;
+ for (int band = VPU_JOB_SCHEDULING_PRIORITY_BAND_IDLE;
+ band < VPU_JOB_SCHEDULING_PRIORITY_BAND_COUNT; band++) {
+ setup->grace_period[band] = hw->hws.grace_period[band];
+ setup->process_grace_period[band] = hw->hws.process_grace_period[band];
+ setup->process_quantum[band] = hw->hws.process_quantum[band];
+ }
+ setup->normal_band_percentage = 10;
ret = ivpu_ipc_send_receive_internal(vdev, &req, VPU_JSM_MSG_SET_PRIORITY_BAND_SETUP_RSP,
&resp, VPU_IPC_CHAN_ASYNC_CMD, vdev->timeout.jsm);
--
2.39.5
next prev parent reply other threads:[~2025-07-03 14:47 UTC|newest]
Thread overview: 243+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-07-03 14:39 [PATCH 6.12 000/218] 6.12.36-rc1 review Greg Kroah-Hartman
2025-07-03 14:39 ` [PATCH 6.12 001/218] cifs: Correctly set SMB1 SessionKey field in Session Setup Request Greg Kroah-Hartman
2025-07-03 14:39 ` [PATCH 6.12 002/218] cifs: Fix cifs_query_path_info() for Windows NT servers Greg Kroah-Hartman
2025-07-03 14:39 ` [PATCH 6.12 003/218] cifs: Fix encoding of SMB1 Session Setup NTLMSSP Request in non-UNICODE mode Greg Kroah-Hartman
2025-07-03 14:39 ` [PATCH 6.12 004/218] NFSv4: Always set NLINK even if the server doesnt support it Greg Kroah-Hartman
2025-07-03 14:39 ` [PATCH 6.12 005/218] NFSv4.2: fix listxattr to return selinux security label Greg Kroah-Hartman
2025-07-03 14:39 ` [PATCH 6.12 006/218] NFSv4.2: fix setattr caching of TIME_[MODIFY|ACCESS]_SET when timestamps are delegated Greg Kroah-Hartman
2025-07-03 14:39 ` [PATCH 6.12 007/218] mailbox: Not protect module_put with spin_lock_irqsave Greg Kroah-Hartman
2025-07-03 14:39 ` [PATCH 6.12 008/218] mfd: max14577: Fix wakeup source leaks on device unbind Greg Kroah-Hartman
2025-07-03 14:39 ` [PATCH 6.12 009/218] sunrpc: dont immediately retransmit on seqno miss Greg Kroah-Hartman
2025-07-03 14:39 ` [PATCH 6.12 010/218] dm vdo indexer: dont read request structure after enqueuing Greg Kroah-Hartman
2025-07-03 14:39 ` [PATCH 6.12 011/218] leds: multicolor: Fix intensity setting while SW blinking Greg Kroah-Hartman
2025-07-03 14:39 ` [PATCH 6.12 012/218] fuse: fix race between concurrent setattrs from multiple nodes Greg Kroah-Hartman
2025-07-03 14:39 ` [PATCH 6.12 013/218] cxl/region: Add a dev_err() on missing target list entries Greg Kroah-Hartman
2025-07-03 14:39 ` [PATCH 6.12 014/218] NFSv4: xattr handlers should check for absent nfs filehandles Greg Kroah-Hartman
2025-07-03 14:39 ` [PATCH 6.12 015/218] hwmon: (pmbus/max34440) Fix support for max34451 Greg Kroah-Hartman
2025-07-03 14:39 ` [PATCH 6.12 016/218] ksmbd: allow a filename to contain special characters on SMB3.1.1 posix extension Greg Kroah-Hartman
2025-07-03 14:39 ` [PATCH 6.12 017/218] ksmbd: provide zero as a unique ID to the Mac client Greg Kroah-Hartman
2025-07-03 14:39 ` [PATCH 6.12 018/218] rust: module: place cleanup_module() in .exit.text section Greg Kroah-Hartman
2025-07-03 14:39 ` [PATCH 6.12 019/218] rust: arm: fix unknown (to Clang) argument -mno-fdpic Greg Kroah-Hartman
2025-07-03 14:39 ` [PATCH 6.12 020/218] Revert "iommu/amd: Prevent binding other PCI drivers to IOMMU PCI devices" Greg Kroah-Hartman
2025-07-03 14:51 ` Lukas Wunner
2025-07-04 6:42 ` Lukas Wunner
2025-07-04 8:35 ` Greg Kroah-Hartman
2025-07-03 14:39 ` [PATCH 6.12 021/218] dmaengine: idxd: Check availability of workqueue allocated by idxd wq driver before using Greg Kroah-Hartman
2025-07-03 14:39 ` [PATCH 6.12 022/218] dmaengine: xilinx_dma: Set dma_device directions Greg Kroah-Hartman
2025-07-03 14:39 ` [PATCH 6.12 023/218] PCI: dwc: Make link training more robust by setting PORT_LOGIC_LINK_WIDTH to one lane Greg Kroah-Hartman
2025-07-03 14:39 ` [PATCH 6.12 024/218] PCI: apple: Fix missing OF node reference in apple_pcie_setup_port Greg Kroah-Hartman
2025-07-03 14:39 ` [PATCH 6.12 025/218] PCI: imx6: Add workaround for errata ERR051624 Greg Kroah-Hartman
2025-07-03 14:39 ` [PATCH 6.12 026/218] nvme-tcp: fix I/O stalls on congested sockets Greg Kroah-Hartman
2025-07-03 14:39 ` [PATCH 6.12 027/218] nvme-tcp: sanitize request list handling Greg Kroah-Hartman
2025-07-03 14:39 ` [PATCH 6.12 028/218] md/md-bitmap: fix dm-raid max_write_behind setting Greg Kroah-Hartman
2025-07-03 14:39 ` [PATCH 6.12 029/218] amd/amdkfd: fix a kfd_process ref leak Greg Kroah-Hartman
2025-07-03 14:39 ` [PATCH 6.12 030/218] bcache: fix NULL pointer in cache_set_flush() Greg Kroah-Hartman
2025-07-03 14:39 ` [PATCH 6.12 031/218] drm/amdgpu: seq64 memory unmap uses uninterruptible lock Greg Kroah-Hartman
2025-07-03 14:39 ` [PATCH 6.12 032/218] drm/scheduler: signal scheduled fence when kill job Greg Kroah-Hartman
2025-07-03 14:39 ` [PATCH 6.12 033/218] iio: pressure: zpa2326: Use aligned_s64 for the timestamp Greg Kroah-Hartman
2025-07-03 14:39 ` [PATCH 6.12 034/218] um: Add cmpxchg8b_emu and checksum functions to asm-prototypes.h Greg Kroah-Hartman
2025-07-03 14:39 ` [PATCH 6.12 035/218] um: use proper care when taking mmap lock during segfault Greg Kroah-Hartman
2025-07-03 14:39 ` [PATCH 6.12 036/218] 8250: microchip: pci1xxxx: Add PCIe Hot reset disable support for Rev C0 and later devices Greg Kroah-Hartman
2025-07-03 14:39 ` [PATCH 6.12 037/218] coresight: Only check bottom two claim bits Greg Kroah-Hartman
2025-07-03 14:39 ` [PATCH 6.12 038/218] usb: dwc2: also exit clock_gating when stopping udc while suspended Greg Kroah-Hartman
2025-07-03 14:39 ` [PATCH 6.12 039/218] iio: adc: ad_sigma_delta: Fix use of uninitialized status_pos Greg Kroah-Hartman
2025-07-03 14:39 ` [PATCH 6.12 040/218] misc: tps6594-pfsm: Add NULL pointer check in tps6594_pfsm_probe() Greg Kroah-Hartman
2025-07-03 14:39 ` [PATCH 6.12 041/218] usb: potential integer overflow in usbg_make_tpg() Greg Kroah-Hartman
2025-07-03 14:39 ` [PATCH 6.12 042/218] tty: serial: uartlite: register uart driver in init Greg Kroah-Hartman
2025-07-03 14:39 ` [PATCH 6.12 043/218] usb: common: usb-conn-gpio: use a unique name for usb connector device Greg Kroah-Hartman
2025-07-03 14:39 ` [PATCH 6.12 044/218] usb: Add checks for snprintf() calls in usb_alloc_dev() Greg Kroah-Hartman
2025-07-03 14:39 ` [PATCH 6.12 045/218] usb: cdc-wdm: avoid setting WDM_READ for ZLP-s Greg Kroah-Hartman
2025-07-03 14:39 ` [PATCH 6.12 046/218] usb: gadget: f_hid: wake up readers on disable/unbind Greg Kroah-Hartman
2025-07-03 14:39 ` [PATCH 6.12 047/218] usb: typec: displayport: Receive DP Status Update NAK request exit dp altmode Greg Kroah-Hartman
2025-07-03 14:39 ` [PATCH 6.12 048/218] usb: typec: mux: do not return on EOPNOTSUPP in {mux, switch}_set Greg Kroah-Hartman
2025-07-03 14:39 ` [PATCH 6.12 049/218] riscv: add a data fence for CMODX in the kernel mode Greg Kroah-Hartman
2025-07-03 14:39 ` [PATCH 6.12 050/218] ALSA: hda: Ignore unsol events for cards being shut down Greg Kroah-Hartman
2025-07-03 14:39 ` [PATCH 6.12 051/218] ALSA: hda: Add new pci id for AMD GPU display HD audio controller Greg Kroah-Hartman
2025-07-03 14:40 ` [PATCH 6.12 052/218] ALSA: usb-audio: Add a quirk for Lenovo Thinkpad Thunderbolt 3 dock Greg Kroah-Hartman
2025-07-03 14:40 ` [PATCH 6.12 053/218] ASoC: rt1320: fix speaker noise when volume bar is 100% Greg Kroah-Hartman
2025-07-03 14:40 ` [PATCH 6.12 054/218] ceph: fix possible integer overflow in ceph_zero_objects() Greg Kroah-Hartman
2025-07-03 14:40 ` [PATCH 6.12 055/218] scsi: ufs: core: Dont perform UFS clkscaling during host async scan Greg Kroah-Hartman
2025-07-03 14:40 ` [PATCH 6.12 056/218] ovl: Check for NULL d_inode() in ovl_dentry_upper() Greg Kroah-Hartman
2025-07-03 14:40 ` [PATCH 6.12 057/218] btrfs: handle csum tree error with rescue=ibadroots correctly Greg Kroah-Hartman
2025-07-03 14:40 ` [PATCH 6.12 058/218] drm/i915/gem: Allow EXEC_CAPTURE on recoverable contexts on DG1 Greg Kroah-Hartman
2025-07-03 14:40 ` [PATCH 6.12 059/218] Revert "drm/i915/gem: Allow EXEC_CAPTURE on recoverable contexts on DG1" Greg Kroah-Hartman
2025-07-03 14:40 ` [PATCH 6.12 060/218] btrfs: factor out nocow ordered extent and extent map generation into a helper Greg Kroah-Hartman
2025-07-03 14:40 ` [PATCH 6.12 061/218] btrfs: use unsigned types for constants defined as bit shifts Greg Kroah-Hartman
2025-07-03 14:40 ` [PATCH 6.12 062/218] btrfs: fix qgroup reservation leak on failure to allocate ordered extent Greg Kroah-Hartman
2025-07-03 14:40 ` [PATCH 6.12 063/218] fs/jfs: consolidate sanity checking in dbMount Greg Kroah-Hartman
2025-07-03 14:40 ` [PATCH 6.12 064/218] jfs: validate AG parameters in dbMount() to prevent crashes Greg Kroah-Hartman
2025-07-03 14:40 ` [PATCH 6.12 065/218] ASoC: codec: wcd9335: Convert to GPIO descriptors Greg Kroah-Hartman
2025-07-03 14:40 ` [PATCH 6.12 066/218] ASoC: codecs: wcd9335: Fix missing free of regulator supplies Greg Kroah-Hartman
2025-07-03 14:40 ` [PATCH 6.12 067/218] f2fs: dont over-report free space or inodes in statvfs Greg Kroah-Hartman
2025-07-03 14:40 ` [PATCH 6.12 068/218] PCI: apple: Use helper function for_each_child_of_node_scoped() Greg Kroah-Hartman
2025-07-03 14:40 ` [PATCH 6.12 069/218] PCI: apple: Set only available ports up Greg Kroah-Hartman
2025-07-03 14:40 ` [PATCH 6.12 070/218] accel/ivpu: Do not fail on cmdq if failed to allocate preemption buffers Greg Kroah-Hartman
2025-07-03 14:40 ` [PATCH 6.12 071/218] accel/ivpu: Remove copy engine support Greg Kroah-Hartman
2025-07-03 14:40 ` [PATCH 6.12 072/218] accel/ivpu: Make command queue ID allocated on XArray Greg Kroah-Hartman
2025-07-03 14:40 ` [PATCH 6.12 073/218] accel/ivpu: Separate DB ID and CMDQ ID allocations from CMDQ allocation Greg Kroah-Hartman
2025-07-03 14:40 ` Greg Kroah-Hartman [this message]
2025-07-03 14:40 ` [PATCH 6.12 075/218] accel/ivpu: Trigger device recovery on engine reset/resume failure Greg Kroah-Hartman
2025-07-03 14:40 ` [PATCH 6.12 076/218] af_unix: Dont leave consecutive consumed OOB skbs Greg Kroah-Hartman
2025-07-03 14:40 ` [PATCH 6.12 077/218] i2c: tiny-usb: disable zero-length read messages Greg Kroah-Hartman
2025-07-03 14:40 ` [PATCH 6.12 078/218] i2c: robotfuzz-osif: " Greg Kroah-Hartman
2025-07-03 14:40 ` [PATCH 6.12 079/218] ata: ahci: Use correct DMI identifier for ASUSPRO-D840SA LPM quirk Greg Kroah-Hartman
2025-07-03 14:40 ` [PATCH 6.12 080/218] smb: client: remove \t from TP_printk statements Greg Kroah-Hartman
2025-07-03 14:40 ` [PATCH 6.12 081/218] mm/damon/sysfs-schemes: free old damon_sysfs_scheme_filter->memcg_path on write Greg Kroah-Hartman
2025-07-03 14:40 ` [PATCH 6.12 082/218] ASoC: amd: yc: Add DMI quirk for Lenovo IdeaPad Slim 5 15 Greg Kroah-Hartman
2025-07-03 14:40 ` [PATCH 6.12 083/218] s390/pkey: Prevent overflow in size calculation for memdup_user() Greg Kroah-Hartman
2025-07-03 14:40 ` [PATCH 6.12 084/218] fs/proc/task_mmu: fix PAGE_IS_PFNZERO detection for the huge zero folio Greg Kroah-Hartman
2025-07-03 14:40 ` [PATCH 6.12 085/218] lib/group_cpus: fix NULL pointer dereference from group_cpus_evenly() Greg Kroah-Hartman
2025-07-03 14:40 ` [PATCH 6.12 086/218] Revert "riscv: Define TASK_SIZE_MAX for __access_ok()" Greg Kroah-Hartman
2025-07-03 14:40 ` [PATCH 6.12 087/218] Revert "riscv: misaligned: fix sleeping function called during misaligned access handling" Greg Kroah-Hartman
2025-07-03 14:40 ` [PATCH 6.12 088/218] drm/dp: Change AUX DPCD probe address from DPCD_REV to LANE0_1_STATUS Greg Kroah-Hartman
2025-07-03 14:40 ` [PATCH 6.12 089/218] drm/xe/display: Add check for alloc_ordered_workqueue() Greg Kroah-Hartman
2025-07-03 14:40 ` [PATCH 6.12 090/218] HID: wacom: fix crash in wacom_aes_battery_handler() Greg Kroah-Hartman
2025-07-03 14:40 ` [PATCH 6.12 091/218] atm: clip: prevent NULL deref in clip_push() Greg Kroah-Hartman
2025-07-03 14:40 ` [PATCH 6.12 092/218] Bluetooth: hci_core: Fix use-after-free in vhci_flush() Greg Kroah-Hartman
2025-07-03 14:40 ` [PATCH 6.12 093/218] ALSA: usb-audio: Fix out-of-bounds read in snd_usb_get_audioformat_uac3() Greg Kroah-Hartman
2025-07-03 14:40 ` [PATCH 6.12 094/218] attach_recursive_mnt(): do not lock the covering tree when sliding something under it Greg Kroah-Hartman
2025-07-03 14:40 ` [PATCH 6.12 095/218] libbpf: Fix null pointer dereference in btf_dump__free on allocation failure Greg Kroah-Hartman
2025-07-03 14:40 ` [PATCH 6.12 096/218] ethernet: ionic: Fix DMA mapping tests Greg Kroah-Hartman
2025-07-03 14:40 ` [PATCH 6.12 097/218] wifi: mac80211: fix beacon interval calculation overflow Greg Kroah-Hartman
2025-07-03 14:40 ` [PATCH 6.12 098/218] af_unix: Dont set -ECONNRESET for consumed OOB skb Greg Kroah-Hartman
2025-07-03 14:40 ` [PATCH 6.12 099/218] wifi: mac80211: Add link iteration macro for link data Greg Kroah-Hartman
2025-07-03 14:40 ` [PATCH 6.12 100/218] wifi: mac80211: Create separate links for VLAN interfaces Greg Kroah-Hartman
2025-07-03 14:40 ` [PATCH 6.12 101/218] wifi: mac80211: finish link init before RCU publish Greg Kroah-Hartman
2025-07-03 14:40 ` [PATCH 6.12 102/218] vsock/uapi: fix linux/vm_sockets.h userspace compilation errors Greg Kroah-Hartman
2025-07-03 14:40 ` [PATCH 6.12 103/218] bnxt: properly flush XDP redirect lists Greg Kroah-Hartman
2025-07-03 14:40 ` [PATCH 6.12 104/218] um: ubd: Add missing error check in start_io_thread() Greg Kroah-Hartman
2025-07-03 14:40 ` [PATCH 6.12 105/218] libbpf: Fix possible use-after-free for externs Greg Kroah-Hartman
2025-07-03 14:40 ` [PATCH 6.12 106/218] net: enetc: Correct endianness handling in _enetc_rd_reg64 Greg Kroah-Hartman
2025-07-03 14:40 ` [PATCH 6.12 107/218] netlink: specs: tc: replace underscores with dashes in names Greg Kroah-Hartman
2025-07-03 14:40 ` [PATCH 6.12 108/218] atm: Release atm_dev_mutex after removing procfs in atm_dev_deregister() Greg Kroah-Hartman
2025-07-03 14:40 ` [PATCH 6.12 109/218] ALSA: hda/realtek: Fix built-in mic on ASUS VivoBook X507UAR Greg Kroah-Hartman
2025-07-03 14:40 ` [PATCH 6.12 110/218] net: selftests: fix TCP packet checksum Greg Kroah-Hartman
2025-07-03 14:40 ` [PATCH 6.12 111/218] drm/amdgpu/discovery: optionally use fw based ip discovery Greg Kroah-Hartman
2025-07-03 14:41 ` [PATCH 6.12 112/218] drm/amd: Adjust output for discovery error handling Greg Kroah-Hartman
2025-07-03 14:41 ` [PATCH 6.12 113/218] drm/i915: fix build error some more Greg Kroah-Hartman
2025-07-03 14:41 ` [PATCH 6.12 114/218] drm/bridge: ti-sn65dsi86: make use of debugfs_init callback Greg Kroah-Hartman
2025-07-03 14:41 ` [PATCH 6.12 115/218] drm/bridge: ti-sn65dsi86: Add HPD for DisplayPort connector type Greg Kroah-Hartman
2025-07-03 14:41 ` [PATCH 6.12 116/218] drm/xe: Process deferred GGTT node removals on device unwind Greg Kroah-Hartman
2025-07-03 14:41 ` [PATCH 6.12 117/218] smb: client: fix potential deadlock when reconnecting channels Greg Kroah-Hartman
2025-07-03 14:41 ` [PATCH 6.12 118/218] smb: smbdirect: add smbdirect_pdu.h with protocol definitions Greg Kroah-Hartman
2025-07-03 14:41 ` [PATCH 6.12 119/218] smb: client: make use of common smbdirect_pdu.h Greg Kroah-Hartman
2025-07-03 14:41 ` [PATCH 6.12 120/218] smb: smbdirect: add smbdirect.h with public structures Greg Kroah-Hartman
2025-07-03 14:41 ` [PATCH 6.12 121/218] smb: smbdirect: add smbdirect_socket.h Greg Kroah-Hartman
2025-07-03 14:41 ` [PATCH 6.12 122/218] smb: client: make use of common smbdirect_socket Greg Kroah-Hartman
2025-07-03 14:41 ` [PATCH 6.12 123/218] smb: smbdirect: introduce smbdirect_socket_parameters Greg Kroah-Hartman
2025-07-03 14:41 ` [PATCH 6.12 124/218] smb: client: make use of common smbdirect_socket_parameters Greg Kroah-Hartman
2025-07-03 14:41 ` [PATCH 6.12 125/218] cifs: Fix the smbd_response slab to allow usercopy Greg Kroah-Hartman
2025-07-03 14:41 ` [PATCH 6.12 126/218] cifs: Fix reading into an ITER_FOLIOQ from the smbdirect code Greg Kroah-Hartman
2025-07-03 14:41 ` [PATCH 6.12 127/218] EDAC/amd64: Fix size calculation for Non-Power-of-Two DIMMs Greg Kroah-Hartman
2025-07-03 14:41 ` [PATCH 6.12 128/218] x86/traps: Initialize DR6 by writing its architectural reset value Greg Kroah-Hartman
2025-07-03 14:41 ` [PATCH 6.12 129/218] staging: rtl8723bs: Avoid memset() in aes_cipher() and aes_decipher() Greg Kroah-Hartman
2025-07-03 14:41 ` [PATCH 6.12 130/218] dt-bindings: serial: 8250: Make clocks and clock-frequency exclusive Greg Kroah-Hartman
2025-07-03 14:41 ` [PATCH 6.12 131/218] serial: core: restore of_node information in sysfs Greg Kroah-Hartman
2025-07-03 14:41 ` [PATCH 6.12 132/218] serial: imx: Restore original RXTL for console to fix data loss Greg Kroah-Hartman
2025-07-03 14:41 ` [PATCH 6.12 133/218] Bluetooth: L2CAP: Fix L2CAP MTU negotiation Greg Kroah-Hartman
2025-07-03 14:41 ` [PATCH 6.12 134/218] dm-raid: fix variable in journal device check Greg Kroah-Hartman
2025-07-03 14:41 ` [PATCH 6.12 135/218] btrfs: fix a race between renames and directory logging Greg Kroah-Hartman
2025-07-03 14:41 ` [PATCH 6.12 136/218] btrfs: update superblocks device bytes_used when dropping chunk Greg Kroah-Hartman
2025-07-03 14:41 ` [PATCH 6.12 137/218] spi: spi-cadence-quadspi: Fix pm runtime unbalance Greg Kroah-Hartman
2025-07-03 14:41 ` [PATCH 6.12 138/218] net: libwx: fix the creation of page_pool Greg Kroah-Hartman
2025-07-03 14:41 ` [PATCH 6.12 139/218] maple_tree: fix MA_STATE_PREALLOC flag in mas_preallocate() Greg Kroah-Hartman
2025-07-03 14:41 ` [PATCH 6.12 140/218] mm/gup: revert "mm: gup: fix infinite loop within __get_longterm_locked" Greg Kroah-Hartman
2025-07-03 14:41 ` [PATCH 6.12 141/218] f2fs: fix to zero post-eof page Greg Kroah-Hartman
2025-07-03 14:41 ` [PATCH 6.12 142/218] HID: lenovo: Restrict F7/9/11 mode to compact keyboards only Greg Kroah-Hartman
2025-07-03 14:41 ` [PATCH 6.12 143/218] HID: wacom: fix memory leak on kobject creation failure Greg Kroah-Hartman
2025-07-03 14:41 ` [PATCH 6.12 144/218] HID: wacom: fix memory leak on sysfs attribute " Greg Kroah-Hartman
2025-07-03 14:41 ` [PATCH 6.12 145/218] HID: wacom: fix kobject reference count leak Greg Kroah-Hartman
2025-07-03 14:41 ` [PATCH 6.12 146/218] scsi: megaraid_sas: Fix invalid node index Greg Kroah-Hartman
2025-07-03 14:41 ` [PATCH 6.12 147/218] scsi: ufs: core: Fix clk scaling to be conditional in reset and restore Greg Kroah-Hartman
2025-07-03 14:41 ` [PATCH 6.12 148/218] drm/ast: Fix comment on modeset lock Greg Kroah-Hartman
2025-07-03 14:41 ` [PATCH 6.12 149/218] drm/cirrus-qemu: Fix pitch programming Greg Kroah-Hartman
2025-07-03 14:41 ` [PATCH 6.12 150/218] drm/etnaviv: Protect the schedulers pending list with its lock Greg Kroah-Hartman
2025-07-03 14:41 ` [PATCH 6.12 151/218] drm/tegra: Assign plane type before registration Greg Kroah-Hartman
2025-07-03 14:41 ` [PATCH 6.12 152/218] drm/tegra: Fix a possible null pointer dereference Greg Kroah-Hartman
2025-07-03 14:41 ` [PATCH 6.12 153/218] drm/udl: Unregister device before cleaning up on disconnect Greg Kroah-Hartman
2025-07-03 14:41 ` [PATCH 6.12 154/218] drm/msm/gpu: Fix crash when throttling GPU immediately during boot Greg Kroah-Hartman
2025-07-03 14:41 ` [PATCH 6.12 155/218] drm/amdkfd: Fix race in GWS queue scheduling Greg Kroah-Hartman
2025-07-03 14:41 ` [PATCH 6.12 156/218] drm/bridge: cdns-dsi: Fix the clock variable for mode_valid() Greg Kroah-Hartman
2025-07-03 14:41 ` [PATCH 6.12 157/218] drm/bridge: cdns-dsi: Fix phy de-init and flag it so Greg Kroah-Hartman
2025-07-03 14:41 ` [PATCH 6.12 158/218] drm/bridge: cdns-dsi: Fix connecting to next bridge Greg Kroah-Hartman
2025-07-03 14:41 ` [PATCH 6.12 159/218] drm/bridge: cdns-dsi: Check return value when getting default PHY config Greg Kroah-Hartman
2025-07-03 14:41 ` [PATCH 6.12 160/218] drm/bridge: cdns-dsi: Wait for Clk and Data Lanes to be ready Greg Kroah-Hartman
2025-07-03 14:41 ` [PATCH 6.12 161/218] drm/amd/display: Add null pointer check for get_first_active_display() Greg Kroah-Hartman
2025-07-03 14:41 ` [PATCH 6.12 162/218] drm/amdgpu: amdgpu_vram_mgr_new(): Clamp lpfn to total vram Greg Kroah-Hartman
2025-07-03 14:41 ` [PATCH 6.12 163/218] drm/amd/display: Correct non-OLED pre_T11_delay Greg Kroah-Hartman
2025-07-03 14:41 ` [PATCH 6.12 164/218] drm/xe/vm: move rebind_work init earlier Greg Kroah-Hartman
2025-07-03 14:41 ` [PATCH 6.12 165/218] drm/xe/sched: stop re-submitting signalled jobs Greg Kroah-Hartman
2025-07-03 14:41 ` [PATCH 6.12 166/218] drm/xe/guc_submit: add back fix Greg Kroah-Hartman
2025-07-03 14:41 ` [PATCH 6.12 167/218] drm/amd/display: Fix RMCM programming seq errors Greg Kroah-Hartman
2025-07-03 14:41 ` [PATCH 6.12 168/218] drm/amdgpu: Add kicker device detection Greg Kroah-Hartman
2025-07-03 14:41 ` [PATCH 6.12 169/218] drm/amd/display: Check dce_hwseq before dereferencing it Greg Kroah-Hartman
2025-07-03 14:41 ` [PATCH 6.12 170/218] drm/xe: Fix memset on iomem Greg Kroah-Hartman
2025-07-03 14:41 ` [PATCH 6.12 171/218] drm/xe: Fix taking invalid lock on wedge Greg Kroah-Hartman
2025-07-03 14:42 ` [PATCH 6.12 172/218] drm/xe: Fix early wedge on GuC load failure Greg Kroah-Hartman
2025-07-03 14:42 ` [PATCH 6.12 173/218] drm/i915/dsi: Fix off by one in BXT_MIPI_TRANS_VTOTAL Greg Kroah-Hartman
2025-07-03 14:42 ` [PATCH 6.12 174/218] drm/amdgpu: Fix SDMA UTC_L1 handling during start/stop sequences Greg Kroah-Hartman
2025-07-03 14:42 ` [PATCH 6.12 175/218] drm/amdgpu: switch job hw_fence to amdgpu_fence Greg Kroah-Hartman
2025-07-03 14:42 ` [PATCH 6.12 176/218] drm/amd/display: Fix mpv playback corruption on weston Greg Kroah-Hartman
2025-07-03 14:42 ` [PATCH 6.12 177/218] media: uvcvideo: Rollback non processed entities on error Greg Kroah-Hartman
2025-07-03 14:42 ` [PATCH 6.12 178/218] x86/fpu: Refactor xfeature bitmask update code for sigframe XSAVE Greg Kroah-Hartman
2025-07-03 14:42 ` [PATCH 6.12 179/218] x86/pkeys: Simplify PKRU update in signal frame Greg Kroah-Hartman
2025-07-03 14:42 ` [PATCH 6.12 180/218] net: libwx: fix Tx L4 checksum Greg Kroah-Hartman
2025-07-03 14:42 ` [PATCH 6.12 181/218] io_uring: fix potential page leak in io_sqe_buffer_register() Greg Kroah-Hartman
2025-07-03 14:42 ` [PATCH 6.12 182/218] io_uring/rsrc: fix folio unpinning Greg Kroah-Hartman
2025-07-03 14:42 ` [PATCH 6.12 183/218] io_uring/rsrc: dont rely on user vaddr alignment Greg Kroah-Hartman
2025-07-03 14:42 ` [PATCH 6.12 184/218] io_uring/net: improve recv bundles Greg Kroah-Hartman
2025-07-03 14:42 ` [PATCH 6.12 185/218] io_uring/net: only retry recv bundle for a full transfer Greg Kroah-Hartman
2025-07-03 14:42 ` [PATCH 6.12 186/218] io_uring/net: only consider msg_inq if larger than 1 Greg Kroah-Hartman
2025-07-03 14:42 ` [PATCH 6.12 187/218] io_uring/net: always use current transfer count for buffer put Greg Kroah-Hartman
2025-07-03 14:42 ` [PATCH 6.12 188/218] io_uring/net: mark iov as dynamically allocated even for single segments Greg Kroah-Hartman
2025-07-03 14:42 ` [PATCH 6.12 189/218] io_uring/kbuf: flag partial buffer mappings Greg Kroah-Hartman
2025-07-03 14:42 ` [PATCH 6.12 190/218] mm/vma: reset VMA iterator on commit_merge() OOM failure Greg Kroah-Hartman
2025-07-03 14:42 ` [PATCH 6.12 191/218] r8169: add support for RTL8125D Greg Kroah-Hartman
2025-07-03 14:42 ` [PATCH 6.12 192/218] net: phy: realtek: merge the drivers for internal NBase-T PHYs Greg Kroah-Hartman
2025-07-03 14:42 ` [PATCH 6.12 193/218] net: phy: realtek: add RTL8125D-internal PHY Greg Kroah-Hartman
2025-07-03 14:42 ` [PATCH 6.12 194/218] btrfs: do proper folio cleanup when cow_file_range() failed Greg Kroah-Hartman
2025-07-03 14:42 ` [PATCH 6.12 195/218] iio: dac: ad3552r: changes to use FIELD_PREP Greg Kroah-Hartman
2025-07-03 14:42 ` [PATCH 6.12 196/218] iio: dac: ad3552r: extract common code (no changes in behavior intended) Greg Kroah-Hartman
2025-07-03 14:42 ` [PATCH 6.12 197/218] iio: dac: ad3552r-common: fix ad3541/2r ranges Greg Kroah-Hartman
2025-07-03 14:42 ` [PATCH 6.12 198/218] drm/xe: Carve out wopcm portion from the stolen memory Greg Kroah-Hartman
2025-07-03 14:42 ` [PATCH 6.12 199/218] usb: typec: tcpm: PSSourceOffTimer timeout in PR_Swap enters ERROR_RECOVERY Greg Kroah-Hartman
2025-07-03 14:42 ` [PATCH 6.12 200/218] drm/msm/dp: account for widebus and yuv420 during mode validation Greg Kroah-Hartman
2025-07-03 14:42 ` [PATCH 6.12 201/218] drm/fbdev-dma: Add shadow buffering for deferred I/O Greg Kroah-Hartman
2025-07-03 14:42 ` [PATCH 6.12 202/218] btrfs: skip inodes without loaded extent maps when shrinking extent maps Greg Kroah-Hartman
2025-07-03 14:42 ` [PATCH 6.12 203/218] btrfs: make the extent map shrinker run asynchronously as a work queue job Greg Kroah-Hartman
2025-07-03 14:42 ` [PATCH 6.12 204/218] btrfs: do regular iput instead of delayed iput during extent map shrinking Greg Kroah-Hartman
2025-07-03 14:42 ` [PATCH 6.12 205/218] riscv/atomic: Do proper sign extension also for unsigned in arch_cmpxchg Greg Kroah-Hartman
2025-07-03 14:42 ` [PATCH 6.12 206/218] LoongArch: Set hugetlb mmap base address aligned with pmd size Greg Kroah-Hartman
2025-07-05 11:45 ` Miguel Ojeda
2025-07-05 14:34 ` Sasha Levin
2025-07-03 14:42 ` [PATCH 6.12 207/218] arm64: dts: rockchip: Add avdd HDMI supplies to RockPro64 board dtsi Greg Kroah-Hartman
2025-07-03 14:42 ` [PATCH 6.12 208/218] ALSA: hda/realtek: Bass speaker fixup for ASUS UM5606KA Greg Kroah-Hartman
2025-07-03 14:42 ` [PATCH 6.12 209/218] drm/amdkfd: remove gfx 12 trap handler page size cap Greg Kroah-Hartman
2025-07-03 14:42 ` [PATCH 6.12 210/218] drm/amdkfd: Fix instruction hazard in gfx12 trap handler Greg Kroah-Hartman
2025-07-03 14:42 ` [PATCH 6.12 211/218] net: stmmac: Fix accessing freed irq affinity_hint Greg Kroah-Hartman
2025-07-03 14:42 ` [PATCH 6.12 212/218] spi: spi-mem: Extend spi-mem operations with a per-operation maximum frequency Greg Kroah-Hartman
2025-07-04 11:55 ` Pratyush Yadav
2025-07-04 12:17 ` Greg Kroah-Hartman
2025-07-04 14:39 ` Mark Brown
2025-07-04 16:43 ` Greg Kroah-Hartman
2025-07-04 15:45 ` Pratyush Yadav
2025-07-04 16:43 ` Greg Kroah-Hartman
2025-07-03 14:42 ` [PATCH 6.12 213/218] spi: spi-mem: Add a new controller capability Greg Kroah-Hartman
2025-07-03 14:42 ` [PATCH 6.12 214/218] spi: fsl-qspi: Support per spi-mem operation frequency switches Greg Kroah-Hartman
2025-07-03 14:42 ` [PATCH 6.12 215/218] spi: fsl-qspi: use devm function instead of driver remove Greg Kroah-Hartman
2025-07-03 14:42 ` [PATCH 6.12 216/218] btrfs: zoned: fix extent range end unlock in cow_file_range() Greg Kroah-Hartman
2025-07-03 14:42 ` [PATCH 6.12 217/218] btrfs: fix use-after-free on inode when scanning root during em shrinking Greg Kroah-Hartman
2025-07-03 14:42 ` [PATCH 6.12 218/218] spi: fsl-qspi: Fix double cleanup in probe error path Greg Kroah-Hartman
2025-07-03 18:06 ` [PATCH 6.12 000/218] 6.12.36-rc1 review Florian Fainelli
2025-07-03 19:55 ` Hardik Garg
2025-07-03 22:14 ` Shuah Khan
2025-07-04 5:57 ` Ron Economos
2025-07-04 11:13 ` Jon Hunter
2025-07-04 12:14 ` Mark Brown
2025-07-04 12:51 ` Naresh Kamboju
2025-07-04 23:10 ` Miguel Ojeda
2025-07-06 6:51 ` Greg KH
2025-07-05 3:05 ` Peter Schneider
2025-07-05 13:50 ` Pascal Ernster
2025-07-06 6:51 ` Greg Kroah-Hartman
2025-07-06 6:56 ` Pascal Ernster
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20250703143958.898455216@linuxfoundation.org \
--to=gregkh@linuxfoundation.org \
--cc=jacek.lawrynowicz@linux.intel.com \
--cc=karol.wachowski@intel.com \
--cc=patches@lists.linux.dev \
--cc=sashal@kernel.org \
--cc=stable@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox