From: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
To: stable@vger.kernel.org
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
patches@lists.linux.dev, SeongJae Park <sj@kernel.org>,
Andrew Morton <akpm@linux-foundation.org>,
Sasha Levin <sashal@kernel.org>
Subject: [PATCH 6.6 002/156] mm/damon/core: use number of passed access sampling as a timer
Date: Sat, 30 Dec 2023 11:57:36 +0000 [thread overview]
Message-ID: <20231230115812.427401825@linuxfoundation.org> (raw)
In-Reply-To: <20231230115812.333117904@linuxfoundation.org>
6.6-stable review patch. If anyone has any objections, please let me know.
------------------
From: SeongJae Park <sj@kernel.org>
[ Upstream commit 4472edf63d6630e6cf65e205b4fc8c3c94d0afe5 ]
DAMON sleeps for sampling interval after each sampling, and check if the
aggregation interval and the ops update interval have passed using
ktime_get_coarse_ts64() and baseline timestamps for the intervals. That
design is for making the operations occur at deterministic timing
regardless of the time that spend for each work. However, it turned out
it is not that useful, and incur not-that-intuitive results.
After all, timer functions, and especially sleep functions that DAMON uses
to wait for specific timing, are not necessarily strictly accurate. It is
legal design, so no problem. However, depending on such inaccuracies, the
nr_accesses can be larger than aggregation interval divided by sampling
interval. For example, with the default setting (5 ms sampling interval
and 100 ms aggregation interval) we frequently show regions having
nr_accesses larger than 20. Also, if the execution of a DAMOS scheme
takes a long time, next aggregation could happen before enough number of
samples are collected. This is not what usual users would intuitively
expect.
Since access check sampling is the smallest unit work of DAMON, using the
number of passed sampling intervals as the DAMON-internal timer can easily
avoid these problems. That is, convert aggregation and ops update
intervals to numbers of sampling intervals that need to be passed before
those operations be executed, count the number of passed sampling
intervals, and invoke the operations as soon as the specific amount of
sampling intervals passed. Make the change.
Note that this could make a behavioral change to settings that using
intervals that not aligned by the sampling interval. For example, if the
sampling interval is 5 ms and the aggregation interval is 12 ms, DAMON
effectively uses 15 ms as its aggregation interval, because it checks
whether the aggregation interval after sleeping the sampling interval.
This change will make DAMON to effectively use 10 ms as aggregation
interval, since it uses 'aggregation interval / sampling interval *
sampling interval' as the effective aggregation interval, and we don't use
floating point types. Usual users would have used aligned intervals, so
this behavioral change is not expected to make any meaningful impact, so
just make this change.
Link: https://lkml.kernel.org/r/20230914021523.60649-1-sj@kernel.org
Signed-off-by: SeongJae Park <sj@kernel.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Stable-dep-of: 6376a8245956 ("mm/damon/core: make damon_start() waits until kdamond_fn() starts")
Signed-off-by: Sasha Levin <sashal@kernel.org>
---
include/linux/damon.h | 14 ++++++-
mm/damon/core.c | 96 +++++++++++++++++++++----------------------
2 files changed, 59 insertions(+), 51 deletions(-)
diff --git a/include/linux/damon.h b/include/linux/damon.h
index c70cca8a839f7..506118916378b 100644
--- a/include/linux/damon.h
+++ b/include/linux/damon.h
@@ -522,8 +522,18 @@ struct damon_ctx {
struct damon_attrs attrs;
/* private: internal use only */
- struct timespec64 last_aggregation;
- struct timespec64 last_ops_update;
+ /* number of sample intervals that passed since this context started */
+ unsigned long passed_sample_intervals;
+ /*
+ * number of sample intervals that should be passed before next
+ * aggregation
+ */
+ unsigned long next_aggregation_sis;
+ /*
+ * number of sample intervals that should be passed before next ops
+ * update
+ */
+ unsigned long next_ops_update_sis;
/* public: */
struct task_struct *kdamond;
diff --git a/mm/damon/core.c b/mm/damon/core.c
index fd5be73f699f4..30c93de59475f 100644
--- a/mm/damon/core.c
+++ b/mm/damon/core.c
@@ -427,8 +427,10 @@ struct damon_ctx *damon_new_ctx(void)
ctx->attrs.aggr_interval = 100 * 1000;
ctx->attrs.ops_update_interval = 60 * 1000 * 1000;
- ktime_get_coarse_ts64(&ctx->last_aggregation);
- ctx->last_ops_update = ctx->last_aggregation;
+ ctx->passed_sample_intervals = 0;
+ /* These will be set from kdamond_init_intervals_sis() */
+ ctx->next_aggregation_sis = 0;
+ ctx->next_ops_update_sis = 0;
mutex_init(&ctx->kdamond_lock);
@@ -542,6 +544,9 @@ static void damon_update_monitoring_results(struct damon_ctx *ctx,
*/
int damon_set_attrs(struct damon_ctx *ctx, struct damon_attrs *attrs)
{
+ unsigned long sample_interval = attrs->sample_interval ?
+ attrs->sample_interval : 1;
+
if (attrs->min_nr_regions < 3)
return -EINVAL;
if (attrs->min_nr_regions > attrs->max_nr_regions)
@@ -549,6 +554,11 @@ int damon_set_attrs(struct damon_ctx *ctx, struct damon_attrs *attrs)
if (attrs->sample_interval > attrs->aggr_interval)
return -EINVAL;
+ ctx->next_aggregation_sis = ctx->passed_sample_intervals +
+ attrs->aggr_interval / sample_interval;
+ ctx->next_ops_update_sis = ctx->passed_sample_intervals +
+ attrs->ops_update_interval / sample_interval;
+
damon_update_monitoring_results(ctx, attrs);
ctx->attrs = *attrs;
return 0;
@@ -722,38 +732,6 @@ int damon_stop(struct damon_ctx **ctxs, int nr_ctxs)
return err;
}
-/*
- * damon_check_reset_time_interval() - Check if a time interval is elapsed.
- * @baseline: the time to check whether the interval has elapsed since
- * @interval: the time interval (microseconds)
- *
- * See whether the given time interval has passed since the given baseline
- * time. If so, it also updates the baseline to current time for next check.
- *
- * Return: true if the time interval has passed, or false otherwise.
- */
-static bool damon_check_reset_time_interval(struct timespec64 *baseline,
- unsigned long interval)
-{
- struct timespec64 now;
-
- ktime_get_coarse_ts64(&now);
- if ((timespec64_to_ns(&now) - timespec64_to_ns(baseline)) <
- interval * 1000)
- return false;
- *baseline = now;
- return true;
-}
-
-/*
- * Check whether it is time to flush the aggregated information
- */
-static bool kdamond_aggregate_interval_passed(struct damon_ctx *ctx)
-{
- return damon_check_reset_time_interval(&ctx->last_aggregation,
- ctx->attrs.aggr_interval);
-}
-
/*
* Reset the aggregated monitoring results ('nr_accesses' of each region).
*/
@@ -1234,18 +1212,6 @@ static void kdamond_split_regions(struct damon_ctx *ctx)
last_nr_regions = nr_regions;
}
-/*
- * Check whether it is time to check and apply the operations-related data
- * structures.
- *
- * Returns true if it is.
- */
-static bool kdamond_need_update_operations(struct damon_ctx *ctx)
-{
- return damon_check_reset_time_interval(&ctx->last_ops_update,
- ctx->attrs.ops_update_interval);
-}
-
/*
* Check whether current monitoring should be stopped
*
@@ -1357,6 +1323,17 @@ static int kdamond_wait_activation(struct damon_ctx *ctx)
return -EBUSY;
}
+static void kdamond_init_intervals_sis(struct damon_ctx *ctx)
+{
+ unsigned long sample_interval = ctx->attrs.sample_interval ?
+ ctx->attrs.sample_interval : 1;
+
+ ctx->passed_sample_intervals = 0;
+ ctx->next_aggregation_sis = ctx->attrs.aggr_interval / sample_interval;
+ ctx->next_ops_update_sis = ctx->attrs.ops_update_interval /
+ sample_interval;
+}
+
/*
* The monitoring daemon that runs as a kernel thread
*/
@@ -1370,6 +1347,8 @@ static int kdamond_fn(void *data)
pr_debug("kdamond (%d) starts\n", current->pid);
+ kdamond_init_intervals_sis(ctx);
+
if (ctx->ops.init)
ctx->ops.init(ctx);
if (ctx->callback.before_start && ctx->callback.before_start(ctx))
@@ -1378,6 +1357,17 @@ static int kdamond_fn(void *data)
sz_limit = damon_region_sz_limit(ctx);
while (!kdamond_need_stop(ctx)) {
+ /*
+ * ctx->attrs and ctx->next_{aggregation,ops_update}_sis could
+ * be changed from after_wmarks_check() or after_aggregation()
+ * callbacks. Read the values here, and use those for this
+ * iteration. That is, damon_set_attrs() updated new values
+ * are respected from next iteration.
+ */
+ unsigned long next_aggregation_sis = ctx->next_aggregation_sis;
+ unsigned long next_ops_update_sis = ctx->next_ops_update_sis;
+ unsigned long sample_interval = ctx->attrs.sample_interval;
+
if (kdamond_wait_activation(ctx))
break;
@@ -1387,12 +1377,17 @@ static int kdamond_fn(void *data)
ctx->callback.after_sampling(ctx))
break;
- kdamond_usleep(ctx->attrs.sample_interval);
+ kdamond_usleep(sample_interval);
+ ctx->passed_sample_intervals++;
if (ctx->ops.check_accesses)
max_nr_accesses = ctx->ops.check_accesses(ctx);
- if (kdamond_aggregate_interval_passed(ctx)) {
+ sample_interval = ctx->attrs.sample_interval ?
+ ctx->attrs.sample_interval : 1;
+ if (ctx->passed_sample_intervals == next_aggregation_sis) {
+ ctx->next_aggregation_sis = next_aggregation_sis +
+ ctx->attrs.aggr_interval / sample_interval;
kdamond_merge_regions(ctx,
max_nr_accesses / 10,
sz_limit);
@@ -1407,7 +1402,10 @@ static int kdamond_fn(void *data)
ctx->ops.reset_aggregated(ctx);
}
- if (kdamond_need_update_operations(ctx)) {
+ if (ctx->passed_sample_intervals == next_ops_update_sis) {
+ ctx->next_ops_update_sis = next_ops_update_sis +
+ ctx->attrs.ops_update_interval /
+ sample_interval;
if (ctx->ops.update)
ctx->ops.update(ctx);
sz_limit = damon_region_sz_limit(ctx);
--
2.43.0
next prev parent reply other threads:[~2023-12-30 12:01 UTC|newest]
Thread overview: 176+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-12-30 11:57 [PATCH 6.6 000/156] 6.6.9-rc1 review Greg Kroah-Hartman
2023-12-30 11:57 ` [PATCH 6.6 001/156] bpf: Fix prog_array_map_poke_run map poke update Greg Kroah-Hartman
2023-12-30 11:57 ` Greg Kroah-Hartman [this message]
2023-12-30 11:57 ` [PATCH 6.6 003/156] mm/damon/core: make damon_start() waits until kdamond_fn() starts Greg Kroah-Hartman
2023-12-30 11:57 ` [PATCH 6.6 004/156] btrfs: qgroup: iterate qgroups without memory allocation for qgroup_reserve() Greg Kroah-Hartman
2023-12-30 11:57 ` [PATCH 6.6 005/156] btrfs: qgroup: use qgroup_iterator in qgroup_convert_meta() Greg Kroah-Hartman
2023-12-30 11:57 ` [PATCH 6.6 006/156] btrfs: free qgroup pertrans reserve on transaction abort Greg Kroah-Hartman
2023-12-30 11:57 ` [PATCH 6.6 007/156] drm/amd/display: fix hw rotated modes when PSR-SU is enabled Greg Kroah-Hartman
2023-12-30 11:57 ` [PATCH 6.6 008/156] drm/i915: Fix FEC state dump Greg Kroah-Hartman
2023-12-30 11:57 ` [PATCH 6.6 009/156] drm/i915: Introduce crtc_state->enhanced_framing Greg Kroah-Hartman
2023-12-30 11:57 ` [PATCH 6.6 010/156] drm/i915/edp: dont write to DP_LINK_BW_SET when using rate select Greg Kroah-Hartman
2023-12-30 11:57 ` [PATCH 6.6 011/156] drm: Update file owner during use Greg Kroah-Hartman
2023-12-30 11:57 ` [PATCH 6.6 012/156] drm: Fix FD ownership check in drm_master_check_perm() Greg Kroah-Hartman
2023-12-30 11:57 ` [PATCH 6.6 013/156] spi: spi-imx: correctly configure burst length when using dma Greg Kroah-Hartman
2023-12-30 11:57 ` [PATCH 6.6 014/156] arm64: dts: allwinner: h616: update emac for Orange Pi Zero 3 Greg Kroah-Hartman
2023-12-30 11:57 ` [PATCH 6.6 015/156] ARM: dts: dra7: Fix DRA7 L3 NoC node register size Greg Kroah-Hartman
2023-12-30 11:57 ` [PATCH 6.6 016/156] ARM: OMAP2+: Fix null pointer dereference and memory leak in omap_soc_device_init Greg Kroah-Hartman
2023-12-30 11:57 ` [PATCH 6.6 017/156] reset: Fix crash when freeing non-existent optional resets Greg Kroah-Hartman
2023-12-30 11:57 ` [PATCH 6.6 018/156] s390/vx: fix save/restore of fpu kernel context Greg Kroah-Hartman
2023-12-30 11:57 ` [PATCH 6.6 019/156] platform/x86/intel/pmc: Fix hang in pmc_core_send_ltr_ignore() Greg Kroah-Hartman
2023-12-30 11:57 ` [PATCH 6.6 020/156] SUNRPC: Revert 5f7fc5d69f6e92ec0b38774c387f5cf7812c5806 Greg Kroah-Hartman
2023-12-30 11:57 ` [PATCH 6.6 021/156] wifi: ieee80211: dont require protected vendor action frames Greg Kroah-Hartman
2023-12-30 11:57 ` [PATCH 6.6 022/156] wifi: iwlwifi: pcie: add another missing bh-disable for rxq->lock Greg Kroah-Hartman
2023-12-30 11:57 ` [PATCH 6.6 023/156] wifi: mac80211: check if the existing link config remains unchanged Greg Kroah-Hartman
2023-12-30 11:57 ` [PATCH 6.6 024/156] wifi: mac80211: dont re-add debugfs during reconfig Greg Kroah-Hartman
2023-12-30 11:57 ` [PATCH 6.6 025/156] wifi: mac80211: check defragmentation succeeded Greg Kroah-Hartman
2023-12-30 11:58 ` [PATCH 6.6 026/156] wifi: mac80211: mesh: check element parsing succeeded Greg Kroah-Hartman
2023-12-30 11:58 ` [PATCH 6.6 027/156] wifi: mac80211: mesh_plink: fix matches_local logic Greg Kroah-Hartman
2023-12-30 11:58 ` [PATCH 6.6 028/156] ice: fix theoretical out-of-bounds access in ethtool link modes Greg Kroah-Hartman
2023-12-30 11:58 ` [PATCH 6.6 029/156] bpf: syzkaller found null ptr deref in unix_bpf proto add Greg Kroah-Hartman
2023-12-30 11:58 ` [PATCH 6.6 030/156] Revert "net/mlx5e: fix double free of encap_header in update funcs" Greg Kroah-Hartman
2023-12-30 11:58 ` [PATCH 6.6 031/156] Revert "net/mlx5e: fix double free of encap_header" Greg Kroah-Hartman
2023-12-30 11:58 ` [PATCH 6.6 032/156] net/mlx5e: Fix slab-out-of-bounds in mlx5_query_nic_vport_mac_list() Greg Kroah-Hartman
2023-12-30 11:58 ` [PATCH 6.6 033/156] net/mlx5e: Fix a race in command alloc flow Greg Kroah-Hartman
2023-12-30 11:58 ` [PATCH 6.6 034/156] net/mlx5e: fix a potential double-free in fs_udp_create_groups Greg Kroah-Hartman
2023-12-30 11:58 ` [PATCH 6.6 035/156] net/mlx5e: Fix overrun reported by coverity Greg Kroah-Hartman
2023-12-30 11:58 ` [PATCH 6.6 036/156] net/mlx5e: Decrease num_block_tc when unblock tc offload Greg Kroah-Hartman
2023-12-30 11:58 ` [PATCH 6.6 037/156] net/mlx5e: XDP, Drop fragmented packets larger than MTU size Greg Kroah-Hartman
2023-12-30 11:58 ` [PATCH 6.6 038/156] net/mlx5: Fix fw tracer first block check Greg Kroah-Hartman
2023-12-30 11:58 ` [PATCH 6.6 039/156] net/mlx5: Refactor mlx5_flow_destination->rep pointer to vport num Greg Kroah-Hartman
2023-12-30 11:58 ` [PATCH 6.6 040/156] net/mlx5e: Fix error code in mlx5e_tc_action_miss_mapping_get() Greg Kroah-Hartman
2023-12-30 11:58 ` [PATCH 6.6 041/156] net/mlx5e: Fix error codes in alloc_branch_attr() Greg Kroah-Hartman
2023-12-30 11:58 ` [PATCH 6.6 042/156] net/mlx5e: Correct snprintf truncation handling for fw_version buffer Greg Kroah-Hartman
2023-12-30 11:58 ` [PATCH 6.6 043/156] net/mlx5e: Correct snprintf truncation handling for fw_version buffer used by representors Greg Kroah-Hartman
2023-12-30 11:58 ` [PATCH 6.6 044/156] net: mscc: ocelot: fix eMAC TX RMON stats for bucket 256-511 and above Greg Kroah-Hartman
2023-12-30 11:58 ` [PATCH 6.6 045/156] net: mscc: ocelot: fix pMAC " Greg Kroah-Hartman
2023-12-30 11:58 ` [PATCH 6.6 046/156] octeontx2-pf: Fix graceful exit during PFC configuration failure Greg Kroah-Hartman
2023-12-30 11:58 ` [PATCH 6.6 047/156] net: Return error from sk_stream_wait_connect() if sk_wait_event() fails Greg Kroah-Hartman
2023-12-30 11:58 ` [PATCH 6.6 048/156] net: sched: ife: fix potential use-after-free Greg Kroah-Hartman
2023-12-30 11:58 ` [PATCH 6.6 049/156] ethernet: atheros: fix a memleak in atl1e_setup_ring_resources Greg Kroah-Hartman
2023-12-30 11:58 ` [PATCH 6.6 050/156] net/rose: fix races in rose_kill_by_device() Greg Kroah-Hartman
2023-12-30 11:58 ` [PATCH 6.6 051/156] Bluetooth: Fix not notifying when connection encryption changes Greg Kroah-Hartman
2023-12-30 11:58 ` [PATCH 6.6 052/156] Bluetooth: Fix deadlock in vhci_send_frame Greg Kroah-Hartman
2023-12-30 11:58 ` [PATCH 6.6 053/156] Bluetooth: hci_event: shut up a false-positive warning Greg Kroah-Hartman
2023-12-30 11:58 ` [PATCH 6.6 054/156] Bluetooth: hci_core: Fix hci_conn_hash_lookup_cis Greg Kroah-Hartman
2023-12-30 11:58 ` [PATCH 6.6 055/156] bnxt_en: do not map packet buffers twice Greg Kroah-Hartman
2024-01-02 15:22 ` Andy Gospodarek
2024-01-03 10:04 ` Greg Kroah-Hartman
2024-01-04 20:07 ` Andy Gospodarek
2024-01-05 9:52 ` Greg Kroah-Hartman
2023-12-30 11:58 ` [PATCH 6.6 056/156] net: phy: skip LED triggers on PHYs on SFP modules Greg Kroah-Hartman
2023-12-30 11:58 ` [PATCH 6.6 057/156] ice: stop trashing VF VSI aggregator node ID information Greg Kroah-Hartman
2023-12-30 11:58 ` [PATCH 6.6 058/156] ice: alter feature support check for SRIOV and LAG Greg Kroah-Hartman
2023-12-30 11:58 ` [PATCH 6.6 059/156] ice: Fix PF with enabled XDP going no-carrier after reset Greg Kroah-Hartman
2023-12-30 11:58 ` [PATCH 6.6 060/156] net: mana: select PAGE_POOL Greg Kroah-Hartman
2023-12-30 11:58 ` [PATCH 6.6 061/156] net: check vlan filter feature in vlan_vids_add_by_dev() and vlan_vids_del_by_dev() Greg Kroah-Hartman
2023-12-30 11:58 ` [PATCH 6.6 062/156] afs: Fix the dynamic roots d_delete to always delete unused dentries Greg Kroah-Hartman
2023-12-30 11:58 ` [PATCH 6.6 063/156] afs: Fix dynamic root lookup DNS check Greg Kroah-Hartman
2023-12-30 11:58 ` [PATCH 6.6 064/156] net: ethernet: mtk_wed: fix possible NULL pointer dereference in mtk_wed_wo_queue_tx_clean() Greg Kroah-Hartman
2023-12-30 11:58 ` [PATCH 6.6 065/156] net/ipv6: Revert remove expired routes with a separated list of routes Greg Kroah-Hartman
2023-12-30 11:58 ` [PATCH 6.6 066/156] net: check dev->gso_max_size in gso_features_check() Greg Kroah-Hartman
2023-12-30 11:58 ` [PATCH 6.6 067/156] keys, dns: Allow key types (eg. DNS) to be reclaimed immediately on expiry Greg Kroah-Hartman
2024-01-05 2:13 ` Jeffrey E Altman
2024-01-05 9:51 ` Greg Kroah-Hartman
2024-01-05 10:06 ` Greg Kroah-Hartman
2023-12-30 11:58 ` [PATCH 6.6 068/156] afs: Fix overwriting of result of DNS query Greg Kroah-Hartman
2023-12-30 11:58 ` [PATCH 6.6 069/156] afs: Fix use-after-free due to get/remove race in volume tree Greg Kroah-Hartman
2023-12-30 11:58 ` [PATCH 6.6 070/156] drm/i915/hwmon: Fix static analysis tool reported issues Greg Kroah-Hartman
2023-12-30 11:58 ` [PATCH 6.6 071/156] drm/i915/mtl: Fix HDMI/DP PLL clock selection Greg Kroah-Hartman
2023-12-30 11:58 ` [PATCH 6.6 072/156] ASoC: hdmi-codec: fix missing report for jack initial status Greg Kroah-Hartman
2023-12-30 11:58 ` [PATCH 6.6 073/156] ASoC: fsl_sai: Fix channel swap issue on i.MX8MP Greg Kroah-Hartman
2023-12-30 11:58 ` [PATCH 6.6 074/156] i2c: qcom-geni: fix missing clk_disable_unprepare() and geni_se_resources_off() Greg Kroah-Hartman
2023-12-30 11:58 ` [PATCH 6.6 075/156] drm/amdgpu: re-create idle bos PTE during VM state machine reset Greg Kroah-Hartman
2023-12-30 11:58 ` [PATCH 6.6 076/156] i2c: aspeed: Handle the coalesced stop conditions with the start conditions Greg Kroah-Hartman
2023-12-30 11:58 ` [PATCH 6.6 077/156] x86/xen: add CPU dependencies for 32-bit build Greg Kroah-Hartman
2023-12-30 11:58 ` [PATCH 6.6 078/156] pinctrl: at91-pio4: use dedicated lock class for IRQ Greg Kroah-Hartman
2023-12-30 11:58 ` [PATCH 6.6 079/156] gpiolib: cdev: add gpio_device locking wrapper around gpio_ioctl() Greg Kroah-Hartman
2023-12-30 11:58 ` [PATCH 6.6 080/156] nvme-pci: fix sleeping function called from interrupt context Greg Kroah-Hartman
2023-12-30 11:58 ` [PATCH 6.6 081/156] interconnect: Treat xlate() returning NULL node as an error Greg Kroah-Hartman
2023-12-30 11:58 ` [PATCH 6.6 082/156] iio: imu: inv_mpu6050: fix an error code problem in inv_mpu6050_read_raw Greg Kroah-Hartman
2023-12-30 11:58 ` [PATCH 6.6 083/156] interconnect: qcom: sm8250: Enable sync_state Greg Kroah-Hartman
2023-12-30 11:58 ` [PATCH 6.6 084/156] Input: ipaq-micro-keys - add error handling for devm_kmemdup Greg Kroah-Hartman
2023-12-30 11:58 ` [PATCH 6.6 085/156] iio: adc: meson: add separate config for axg SoC family Greg Kroah-Hartman
2023-12-30 11:59 ` [PATCH 6.6 086/156] scsi: bnx2fc: Fix skb double free in bnx2fc_rcv() Greg Kroah-Hartman
2023-12-30 11:59 ` [PATCH 6.6 087/156] scsi: ufs: qcom: Return ufs_qcom_clk_scale_*() errors in ufs_qcom_clk_scale_notify() Greg Kroah-Hartman
2023-12-30 11:59 ` [PATCH 6.6 088/156] scsi: ufs: core: Let the sq_lock protect sq_tail_slot access Greg Kroah-Hartman
2023-12-30 11:59 ` [PATCH 6.6 089/156] iio: kx022a: Fix acceleration value scaling Greg Kroah-Hartman
2023-12-30 11:59 ` [PATCH 6.6 090/156] iio: adc: imx93: add four channels for imx93 adc Greg Kroah-Hartman
2023-12-30 11:59 ` [PATCH 6.6 091/156] iio: common: ms_sensors: ms_sensors_i2c: fix humidity conversion time table Greg Kroah-Hartman
2023-12-30 11:59 ` [PATCH 6.6 092/156] iio: imu: adis16475: add spi_device_id table Greg Kroah-Hartman
2023-12-30 11:59 ` [PATCH 6.6 093/156] iio: adc: ti_am335x_adc: Fix return value check of tiadc_request_dma() Greg Kroah-Hartman
2023-12-30 11:59 ` [PATCH 6.6 094/156] iio: tmag5273: fix temperature offset Greg Kroah-Hartman
2023-12-30 11:59 ` [PATCH 6.6 095/156] iio: triggered-buffer: prevent possible freeing of wrong buffer Greg Kroah-Hartman
2023-12-30 11:59 ` [PATCH 6.6 096/156] ALSA: usb-audio: Increase delay in MOTU M quirk Greg Kroah-Hartman
2023-12-30 11:59 ` [PATCH 6.6 097/156] ARM: dts: Fix occasional boot hang for am3 usb Greg Kroah-Hartman
2023-12-30 11:59 ` [PATCH 6.6 098/156] usb-storage: Add quirk for incorrect WP on Kingston DT Ultimate 3.0 G3 Greg Kroah-Hartman
2023-12-30 11:59 ` [PATCH 6.6 099/156] wifi: mt76: fix crash with WED rx support enabled Greg Kroah-Hartman
2023-12-30 11:59 ` [PATCH 6.6 100/156] wifi: cfg80211: Add my certificate Greg Kroah-Hartman
2023-12-30 11:59 ` [PATCH 6.6 101/156] wifi: cfg80211: fix certs build to not depend on file order Greg Kroah-Hartman
2023-12-30 11:59 ` [PATCH 6.6 102/156] USB: serial: ftdi_sio: update Actisense PIDs constant names Greg Kroah-Hartman
2023-12-30 11:59 ` [PATCH 6.6 103/156] USB: serial: option: add Quectel EG912Y module support Greg Kroah-Hartman
2023-12-30 11:59 ` [PATCH 6.6 104/156] USB: serial: option: add Foxconn T99W265 with new baseline Greg Kroah-Hartman
2023-12-30 11:59 ` [PATCH 6.6 105/156] USB: serial: option: add Quectel RM500Q R13 firmware support Greg Kroah-Hartman
2023-12-30 11:59 ` [PATCH 6.6 106/156] ALSA: hda/tas2781: select program 0, conf 0 by default Greg Kroah-Hartman
2023-12-30 11:59 ` [PATCH 6.6 107/156] ALSA: hda/realtek: Add quirk for ASUS ROG GV302XA Greg Kroah-Hartman
2023-12-30 11:59 ` [PATCH 6.6 108/156] ASoC: tas2781: check the validity of prm_no/cfg_no Greg Kroah-Hartman
2023-12-30 11:59 ` [PATCH 6.6 109/156] Bluetooth: hci_event: Fix not checking if HCI_OP_INQUIRY has been sent Greg Kroah-Hartman
2023-12-30 11:59 ` [PATCH 6.6 110/156] Bluetooth: af_bluetooth: Fix Use-After-Free in bt_sock_recvmsg Greg Kroah-Hartman
2023-12-30 11:59 ` [PATCH 6.6 111/156] Bluetooth: L2CAP: Send reject on command corrupted request Greg Kroah-Hartman
2023-12-30 11:59 ` [PATCH 6.6 112/156] Bluetooth: MGMT/SMP: Fix address type when using SMP over BREDR/LE Greg Kroah-Hartman
2023-12-30 11:59 ` [PATCH 6.6 113/156] Bluetooth: Add more enc key size check Greg Kroah-Hartman
2023-12-30 11:59 ` [PATCH 6.6 114/156] usb: typec: ucsi: fix gpio-based orientation detection Greg Kroah-Hartman
2023-12-30 11:59 ` [PATCH 6.6 115/156] usb: fotg210-hcd: delete an incorrect bounds test Greg Kroah-Hartman
2023-12-30 11:59 ` [PATCH 6.6 116/156] net: usb: ax88179_178a: avoid failed operations when device is disconnected Greg Kroah-Hartman
2023-12-30 11:59 ` [PATCH 6.6 117/156] Input: soc_button_array - add mapping for airplane mode button Greg Kroah-Hartman
2023-12-30 11:59 ` [PATCH 6.6 118/156] net: 9p: avoid freeing uninit memory in p9pdu_vreadf Greg Kroah-Hartman
2023-12-30 11:59 ` [PATCH 6.6 119/156] net: rfkill: gpio: set GPIO direction Greg Kroah-Hartman
2023-12-30 11:59 ` [PATCH 6.6 120/156] net: ks8851: Fix TX stall caused by TX buffer overrun Greg Kroah-Hartman
2023-12-30 11:59 ` [PATCH 6.6 121/156] net: avoid build bug in skb extension length calculation Greg Kroah-Hartman
2023-12-30 11:59 ` [PATCH 6.6 122/156] net: stmmac: fix incorrect flag check in timestamp interrupt Greg Kroah-Hartman
2023-12-30 11:59 ` [PATCH 6.6 123/156] dt-bindings: nvmem: mxs-ocotp: Document fsl,ocotp Greg Kroah-Hartman
2023-12-30 11:59 ` [PATCH 6.6 124/156] nfsd: call nfsd_last_thread() before final nfsd_put() Greg Kroah-Hartman
2023-12-30 11:59 ` [PATCH 6.6 125/156] smb: client: fix OOB in cifsd when receiving compounded resps Greg Kroah-Hartman
2023-12-30 11:59 ` [PATCH 6.6 126/156] smb: client: fix potential OOB in cifs_dump_detail() Greg Kroah-Hartman
2023-12-30 11:59 ` [PATCH 6.6 127/156] smb: client: fix OOB in SMB2_query_info_init() Greg Kroah-Hartman
2023-12-30 11:59 ` [PATCH 6.6 128/156] smb: client: fix OOB in smbCalcSize() Greg Kroah-Hartman
2023-12-30 11:59 ` [PATCH 6.6 129/156] drm/i915: Reject async flips with bigjoiner Greg Kroah-Hartman
2023-12-30 11:59 ` [PATCH 6.6 130/156] drm/i915/dmc: Dont enable any pipe DMC events Greg Kroah-Hartman
2023-12-30 11:59 ` [PATCH 6.6 131/156] 9p: prevent read overrun in protocol dump tracepoint Greg Kroah-Hartman
2023-12-30 11:59 ` [PATCH 6.6 132/156] ring-buffer: Fix 32-bit rb_time_read() race with rb_time_cmpxchg() Greg Kroah-Hartman
2023-12-30 11:59 ` [PATCH 6.6 133/156] ring-buffer: Remove useless update to write_stamp in rb_try_to_discard() Greg Kroah-Hartman
2023-12-30 21:47 ` Steven Rostedt
2024-01-03 10:05 ` Greg Kroah-Hartman
2023-12-30 11:59 ` [PATCH 6.6 134/156] ring-buffer: Fix slowpath of interrupted event Greg Kroah-Hartman
2023-12-30 11:59 ` [PATCH 6.6 135/156] spi: atmel: Do not cancel a transfer upon any signal Greg Kroah-Hartman
2023-12-30 11:59 ` [PATCH 6.6 136/156] spi: atmel: Prevent spi transfers from being killed Greg Kroah-Hartman
2023-12-30 11:59 ` [PATCH 6.6 137/156] spi: atmel: Fix clock issue when using devices with different polarities Greg Kroah-Hartman
2023-12-30 11:59 ` [PATCH 6.6 138/156] nvmem: brcm_nvram: store a copy of NVRAM content Greg Kroah-Hartman
2023-12-30 11:59 ` [PATCH 6.6 139/156] Revert "scsi: aacraid: Reply queue mapping to CPUs based on IRQ affinity" Greg Kroah-Hartman
2023-12-30 11:59 ` [PATCH 6.6 140/156] scsi: core: Always send batch on reset or error handling command Greg Kroah-Hartman
2023-12-30 11:59 ` [PATCH 6.6 141/156] tracing / synthetic: Disable events after testing in synth_event_gen_test_init() Greg Kroah-Hartman
2023-12-30 11:59 ` [PATCH 6.6 142/156] dm-integrity: dont modify bios immutable bio_vec in integrity_metadata() Greg Kroah-Hartman
2023-12-30 11:59 ` [PATCH 6.6 143/156] selftests: mptcp: join: fix subflow_send_ack lookup Greg Kroah-Hartman
2023-12-30 11:59 ` [PATCH 6.6 144/156] pinctrl: starfive: jh7110: ignore disabled device tree nodes Greg Kroah-Hartman
2023-12-30 11:59 ` [PATCH 6.6 145/156] pinctrl: starfive: jh7100: " Greg Kroah-Hartman
2023-12-30 12:00 ` [PATCH 6.6 146/156] bus: ti-sysc: Flush posted write only after srst_udelay Greg Kroah-Hartman
2023-12-30 12:00 ` [PATCH 6.6 147/156] gpio: dwapb: mask/unmask IRQ when disable/enale it Greg Kroah-Hartman
2023-12-30 12:00 ` [PATCH 6.6 148/156] lib/vsprintf: Fix %pfwf when current node refcount == 0 Greg Kroah-Hartman
2023-12-30 12:00 ` [PATCH 6.6 149/156] thunderbolt: Fix memory leak in margining_port_remove() Greg Kroah-Hartman
2023-12-30 12:00 ` [PATCH 6.6 150/156] KVM: arm64: vgic: Simplify kvm_vgic_destroy() Greg Kroah-Hartman
2023-12-30 12:00 ` [PATCH 6.6 151/156] KVM: arm64: vgic: Add a non-locking primitive for kvm_vgic_vcpu_destroy() Greg Kroah-Hartman
2023-12-30 12:00 ` [PATCH 6.6 152/156] KVM: arm64: vgic: Force vcpu vgic teardown on vcpu destroy Greg Kroah-Hartman
2023-12-30 12:00 ` [PATCH 6.6 153/156] x86/alternatives: Sync core before enabling interrupts Greg Kroah-Hartman
2023-12-30 12:00 ` [PATCH 6.6 154/156] x86/alternatives: Disable interrupts and sync when optimizing NOPs in place Greg Kroah-Hartman
2023-12-30 12:00 ` [PATCH 6.6 155/156] x86/smpboot/64: Handle X2APIC BIOS inconsistency gracefully Greg Kroah-Hartman
2023-12-30 12:00 ` [PATCH 6.6 156/156] spi: cadence: revert "Add SPI transfer delays" Greg Kroah-Hartman
2023-12-30 12:59 ` [PATCH 6.6 000/156] 6.6.9-rc1 review Ricardo B. Marliere
2023-12-30 15:05 ` Takeshi Ogasawara
2023-12-30 16:59 ` Florian Fainelli
2023-12-30 18:11 ` SeongJae Park
2023-12-31 1:03 ` Ron Economos
2023-12-31 3:18 ` Luna Jernberg
2023-12-31 9:18 ` Greg Kroah-Hartman
2023-12-31 8:10 ` Bagas Sanjaya
2023-12-31 9:19 ` Naresh Kamboju
2023-12-31 16:33 ` Guenter Roeck
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=20231230115812.427401825@linuxfoundation.org \
--to=gregkh@linuxfoundation.org \
--cc=akpm@linux-foundation.org \
--cc=patches@lists.linux.dev \
--cc=sashal@kernel.org \
--cc=sj@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