From: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
To: linux-kernel@vger.kernel.org
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
stable@vger.kernel.org, Dave Chinner <dchinner@redhat.com>,
"Darrick J. Wong" <djwong@kernel.org>,
Leah Rumancik <leah.rumancik@gmail.com>, Jan Kara <jack@suse.cz>
Subject: [PATCH 5.15 029/167] xfs: drop async cache flushes from CIL commits.
Date: Tue, 19 Jul 2022 13:52:41 +0200 [thread overview]
Message-ID: <20220719114659.579342281@linuxfoundation.org> (raw)
In-Reply-To: <20220719114656.750574879@linuxfoundation.org>
From: Dave Chinner <dchinner@redhat.com>
[ Upstream commit 919edbadebe17a67193533f531c2920c03e40fa4 ]
Jan Kara reported a performance regression in dbench that he
bisected down to commit bad77c375e8d ("xfs: CIL checkpoint
flushes caches unconditionally").
Whilst developing the journal flush/fua optimisations this cache was
part of, it appeared to made a significant difference to
performance. However, now that this patchset has settled and all the
correctness issues fixed, there does not appear to be any
significant performance benefit to asynchronous cache flushes.
In fact, the opposite is true on some storage types and workloads,
where additional cache flushes that can occur from fsync heavy
workloads have measurable and significant impact on overall
throughput.
Local dbench testing shows little difference on dbench runs with
sync vs async cache flushes on either fast or slow SSD storage, and
no difference in streaming concurrent async transaction workloads
like fs-mark.
Fast NVME storage.
>From `dbench -t 30`, CIL scale:
clients async sync
BW Latency BW Latency
1 935.18 0.855 915.64 0.903
8 2404.51 6.873 2341.77 6.511
16 3003.42 6.460 2931.57 6.529
32 3697.23 7.939 3596.28 7.894
128 7237.43 15.495 7217.74 11.588
512 5079.24 90.587 5167.08 95.822
fsmark, 32 threads, create w/ 64 byte xattr w/32k logbsize
create chown unlink
async 1m41s 1m16s 2m03s
sync 1m40s 1m19s 1m54s
Slower SATA SSD storage:
>From `dbench -t 30`, CIL scale:
clients async sync
BW Latency BW Latency
1 78.59 15.792 83.78 10.729
8 367.88 92.067 404.63 59.943
16 564.51 72.524 602.71 76.089
32 831.66 105.984 870.26 110.482
128 1659.76 102.969 1624.73 91.356
512 2135.91 223.054 2603.07 161.160
fsmark, 16 threads, create w/32k logbsize
create unlink
async 5m06s 4m15s
sync 5m00s 4m22s
And on Jan's test machine:
5.18-rc8-vanilla 5.18-rc8-patched
Amean 1 71.22 ( 0.00%) 64.94 * 8.81%*
Amean 2 93.03 ( 0.00%) 84.80 * 8.85%*
Amean 4 150.54 ( 0.00%) 137.51 * 8.66%*
Amean 8 252.53 ( 0.00%) 242.24 * 4.08%*
Amean 16 454.13 ( 0.00%) 439.08 * 3.31%*
Amean 32 835.24 ( 0.00%) 829.74 * 0.66%*
Amean 64 1740.59 ( 0.00%) 1686.73 * 3.09%*
Performance and cache flush behaviour is restored to pre-regression
levels.
As such, we can now consider the async cache flush mechanism an
unnecessary exercise in premature optimisation and hence we can
now remove it and the infrastructure it requires completely.
Fixes: bad77c375e8d ("xfs: CIL checkpoint flushes caches unconditionally")
Reported-and-tested-by: Jan Kara <jack@suse.cz>
Signed-off-by: Dave Chinner <dchinner@redhat.com>
Reviewed-by: Darrick J. Wong <djwong@kernel.org>
Signed-off-by: Darrick J. Wong <djwong@kernel.org>
Signed-off-by: Leah Rumancik <leah.rumancik@gmail.com>
Acked-by: Darrick J. Wong <djwong@kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
---
fs/xfs/xfs_bio_io.c | 35 -----------------------------------
fs/xfs/xfs_linux.h | 2 --
fs/xfs/xfs_log.c | 36 +++++++++++-------------------------
fs/xfs/xfs_log_cil.c | 42 +++++++++++++-----------------------------
fs/xfs/xfs_log_priv.h | 3 +--
5 files changed, 25 insertions(+), 93 deletions(-)
--- a/fs/xfs/xfs_bio_io.c
+++ b/fs/xfs/xfs_bio_io.c
@@ -9,41 +9,6 @@ static inline unsigned int bio_max_vecs(
return bio_max_segs(howmany(count, PAGE_SIZE));
}
-static void
-xfs_flush_bdev_async_endio(
- struct bio *bio)
-{
- complete(bio->bi_private);
-}
-
-/*
- * Submit a request for an async cache flush to run. If the request queue does
- * not require flush operations, just skip it altogether. If the caller needs
- * to wait for the flush completion at a later point in time, they must supply a
- * valid completion. This will be signalled when the flush completes. The
- * caller never sees the bio that is issued here.
- */
-void
-xfs_flush_bdev_async(
- struct bio *bio,
- struct block_device *bdev,
- struct completion *done)
-{
- struct request_queue *q = bdev->bd_disk->queue;
-
- if (!test_bit(QUEUE_FLAG_WC, &q->queue_flags)) {
- complete(done);
- return;
- }
-
- bio_init(bio, NULL, 0);
- bio_set_dev(bio, bdev);
- bio->bi_opf = REQ_OP_WRITE | REQ_PREFLUSH | REQ_SYNC;
- bio->bi_private = done;
- bio->bi_end_io = xfs_flush_bdev_async_endio;
-
- submit_bio(bio);
-}
int
xfs_rw_bdev(
struct block_device *bdev,
--- a/fs/xfs/xfs_linux.h
+++ b/fs/xfs/xfs_linux.h
@@ -197,8 +197,6 @@ static inline uint64_t howmany_64(uint64
int xfs_rw_bdev(struct block_device *bdev, sector_t sector, unsigned int count,
char *data, unsigned int op);
-void xfs_flush_bdev_async(struct bio *bio, struct block_device *bdev,
- struct completion *done);
#define ASSERT_ALWAYS(expr) \
(likely(expr) ? (void)0 : assfail(NULL, #expr, __FILE__, __LINE__))
--- a/fs/xfs/xfs_log.c
+++ b/fs/xfs/xfs_log.c
@@ -527,12 +527,6 @@ xlog_state_shutdown_callbacks(
* Flush iclog to disk if this is the last reference to the given iclog and the
* it is in the WANT_SYNC state.
*
- * If the caller passes in a non-zero @old_tail_lsn and the current log tail
- * does not match, there may be metadata on disk that must be persisted before
- * this iclog is written. To satisfy that requirement, set the
- * XLOG_ICL_NEED_FLUSH flag as a condition for writing this iclog with the new
- * log tail value.
- *
* If XLOG_ICL_NEED_FUA is already set on the iclog, we need to ensure that the
* log tail is updated correctly. NEED_FUA indicates that the iclog will be
* written to stable storage, and implies that a commit record is contained
@@ -549,12 +543,10 @@ xlog_state_shutdown_callbacks(
* always capture the tail lsn on the iclog on the first NEED_FUA release
* regardless of the number of active reference counts on this iclog.
*/
-
int
xlog_state_release_iclog(
struct xlog *log,
- struct xlog_in_core *iclog,
- xfs_lsn_t old_tail_lsn)
+ struct xlog_in_core *iclog)
{
xfs_lsn_t tail_lsn;
bool last_ref;
@@ -565,18 +557,14 @@ xlog_state_release_iclog(
/*
* Grabbing the current log tail needs to be atomic w.r.t. the writing
* of the tail LSN into the iclog so we guarantee that the log tail does
- * not move between deciding if a cache flush is required and writing
- * the LSN into the iclog below.
+ * not move between the first time we know that the iclog needs to be
+ * made stable and when we eventually submit it.
*/
- if (old_tail_lsn || iclog->ic_state == XLOG_STATE_WANT_SYNC) {
+ if ((iclog->ic_state == XLOG_STATE_WANT_SYNC ||
+ (iclog->ic_flags & XLOG_ICL_NEED_FUA)) &&
+ !iclog->ic_header.h_tail_lsn) {
tail_lsn = xlog_assign_tail_lsn(log->l_mp);
-
- if (old_tail_lsn && tail_lsn != old_tail_lsn)
- iclog->ic_flags |= XLOG_ICL_NEED_FLUSH;
-
- if ((iclog->ic_flags & XLOG_ICL_NEED_FUA) &&
- !iclog->ic_header.h_tail_lsn)
- iclog->ic_header.h_tail_lsn = cpu_to_be64(tail_lsn);
+ iclog->ic_header.h_tail_lsn = cpu_to_be64(tail_lsn);
}
last_ref = atomic_dec_and_test(&iclog->ic_refcnt);
@@ -601,8 +589,6 @@ xlog_state_release_iclog(
}
iclog->ic_state = XLOG_STATE_SYNCING;
- if (!iclog->ic_header.h_tail_lsn)
- iclog->ic_header.h_tail_lsn = cpu_to_be64(tail_lsn);
xlog_verify_tail_lsn(log, iclog);
trace_xlog_iclog_syncing(iclog, _RET_IP_);
@@ -875,7 +861,7 @@ xlog_force_iclog(
iclog->ic_flags |= XLOG_ICL_NEED_FLUSH | XLOG_ICL_NEED_FUA;
if (iclog->ic_state == XLOG_STATE_ACTIVE)
xlog_state_switch_iclogs(iclog->ic_log, iclog, 0);
- return xlog_state_release_iclog(iclog->ic_log, iclog, 0);
+ return xlog_state_release_iclog(iclog->ic_log, iclog);
}
/*
@@ -2413,7 +2399,7 @@ xlog_write_copy_finish(
ASSERT(iclog->ic_state == XLOG_STATE_WANT_SYNC ||
xlog_is_shutdown(log));
release_iclog:
- error = xlog_state_release_iclog(log, iclog, 0);
+ error = xlog_state_release_iclog(log, iclog);
spin_unlock(&log->l_icloglock);
return error;
}
@@ -2630,7 +2616,7 @@ next_lv:
spin_lock(&log->l_icloglock);
xlog_state_finish_copy(log, iclog, record_cnt, data_cnt);
- error = xlog_state_release_iclog(log, iclog, 0);
+ error = xlog_state_release_iclog(log, iclog);
spin_unlock(&log->l_icloglock);
return error;
@@ -3054,7 +3040,7 @@ restart:
* reference to the iclog.
*/
if (!atomic_add_unless(&iclog->ic_refcnt, -1, 1))
- error = xlog_state_release_iclog(log, iclog, 0);
+ error = xlog_state_release_iclog(log, iclog);
spin_unlock(&log->l_icloglock);
if (error)
return error;
--- a/fs/xfs/xfs_log_cil.c
+++ b/fs/xfs/xfs_log_cil.c
@@ -681,11 +681,21 @@ xlog_cil_set_ctx_write_state(
* The LSN we need to pass to the log items on transaction
* commit is the LSN reported by the first log vector write, not
* the commit lsn. If we use the commit record lsn then we can
- * move the tail beyond the grant write head.
+ * move the grant write head beyond the tail LSN and overwrite
+ * it.
*/
ctx->start_lsn = lsn;
wake_up_all(&cil->xc_start_wait);
spin_unlock(&cil->xc_push_lock);
+
+ /*
+ * Make sure the metadata we are about to overwrite in the log
+ * has been flushed to stable storage before this iclog is
+ * issued.
+ */
+ spin_lock(&cil->xc_log->l_icloglock);
+ iclog->ic_flags |= XLOG_ICL_NEED_FLUSH;
+ spin_unlock(&cil->xc_log->l_icloglock);
return;
}
@@ -864,10 +874,7 @@ xlog_cil_push_work(
struct xfs_trans_header thdr;
struct xfs_log_iovec lhdr;
struct xfs_log_vec lvhdr = { NULL };
- xfs_lsn_t preflush_tail_lsn;
xfs_csn_t push_seq;
- struct bio bio;
- DECLARE_COMPLETION_ONSTACK(bdev_flush);
bool push_commit_stable;
new_ctx = xlog_cil_ctx_alloc();
@@ -938,23 +945,6 @@ xlog_cil_push_work(
spin_unlock(&cil->xc_push_lock);
/*
- * The CIL is stable at this point - nothing new will be added to it
- * because we hold the flush lock exclusively. Hence we can now issue
- * a cache flush to ensure all the completed metadata in the journal we
- * are about to overwrite is on stable storage.
- *
- * Because we are issuing this cache flush before we've written the
- * tail lsn to the iclog, we can have metadata IO completions move the
- * tail forwards between the completion of this flush and the iclog
- * being written. In this case, we need to re-issue the cache flush
- * before the iclog write. To detect whether the log tail moves, sample
- * the tail LSN *before* we issue the flush.
- */
- preflush_tail_lsn = atomic64_read(&log->l_tail_lsn);
- xfs_flush_bdev_async(&bio, log->l_mp->m_ddev_targp->bt_bdev,
- &bdev_flush);
-
- /*
* Pull all the log vectors off the items in the CIL, and remove the
* items from the CIL. We don't need the CIL lock here because it's only
* needed on the transaction commit side which is currently locked out
@@ -1030,12 +1020,6 @@ xlog_cil_push_work(
lvhdr.lv_iovecp = &lhdr;
lvhdr.lv_next = ctx->lv_chain;
- /*
- * Before we format and submit the first iclog, we have to ensure that
- * the metadata writeback ordering cache flush is complete.
- */
- wait_for_completion(&bdev_flush);
-
error = xlog_cil_write_chain(ctx, &lvhdr);
if (error)
goto out_abort_free_ticket;
@@ -1094,7 +1078,7 @@ xlog_cil_push_work(
if (push_commit_stable &&
ctx->commit_iclog->ic_state == XLOG_STATE_ACTIVE)
xlog_state_switch_iclogs(log, ctx->commit_iclog, 0);
- xlog_state_release_iclog(log, ctx->commit_iclog, preflush_tail_lsn);
+ xlog_state_release_iclog(log, ctx->commit_iclog);
/* Not safe to reference ctx now! */
@@ -1115,7 +1099,7 @@ out_abort_free_ticket:
return;
}
spin_lock(&log->l_icloglock);
- xlog_state_release_iclog(log, ctx->commit_iclog, 0);
+ xlog_state_release_iclog(log, ctx->commit_iclog);
/* Not safe to reference ctx now! */
spin_unlock(&log->l_icloglock);
}
--- a/fs/xfs/xfs_log_priv.h
+++ b/fs/xfs/xfs_log_priv.h
@@ -524,8 +524,7 @@ void xfs_log_ticket_regrant(struct xlog
void xlog_state_switch_iclogs(struct xlog *log, struct xlog_in_core *iclog,
int eventual_size);
-int xlog_state_release_iclog(struct xlog *log, struct xlog_in_core *iclog,
- xfs_lsn_t log_tail_lsn);
+int xlog_state_release_iclog(struct xlog *log, struct xlog_in_core *iclog);
/*
* When we crack an atomic LSN, we sample it first so that the value will not
next prev parent reply other threads:[~2022-07-19 12:35 UTC|newest]
Thread overview: 174+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-07-19 11:52 [PATCH 5.15 000/167] 5.15.56-rc1 review Greg Kroah-Hartman
2022-07-19 11:52 ` [PATCH 5.15 001/167] ALSA: hda - Add fixup for Dell Latitidue E5430 Greg Kroah-Hartman
2022-07-19 11:52 ` [PATCH 5.15 002/167] ALSA: hda/conexant: Apply quirk for another HP ProDesk 600 G3 model Greg Kroah-Hartman
2022-07-19 11:52 ` [PATCH 5.15 003/167] ALSA: hda/realtek: Fix headset mic for Acer SF313-51 Greg Kroah-Hartman
2022-07-19 11:52 ` [PATCH 5.15 004/167] ALSA: hda/realtek - Fix headset mic problem for a HP machine with alc671 Greg Kroah-Hartman
2022-07-19 11:52 ` [PATCH 5.15 005/167] ALSA: hda/realtek: fix mute/micmute LEDs for HP machines Greg Kroah-Hartman
2022-07-19 11:52 ` [PATCH 5.15 006/167] ALSA: hda/realtek - Fix headset mic problem for a HP machine with alc221 Greg Kroah-Hartman
2022-07-19 11:52 ` [PATCH 5.15 007/167] ALSA: hda/realtek - Enable the headset-mic on a Xiaomis laptop Greg Kroah-Hartman
2022-07-19 11:52 ` [PATCH 5.15 008/167] xen/netback: avoid entering xenvif_rx_next_skb() with an empty rx queue Greg Kroah-Hartman
2022-07-19 11:52 ` [PATCH 5.15 009/167] fix race between exit_itimers() and /proc/pid/timers Greg Kroah-Hartman
2022-07-19 11:52 ` [PATCH 5.15 010/167] mm: userfaultfd: fix UFFDIO_CONTINUE on fallocated shmem pages Greg Kroah-Hartman
2022-07-19 11:52 ` [PATCH 5.15 011/167] mm: split huge PUD on wp_huge_pud fallback Greg Kroah-Hartman
2022-07-19 11:52 ` [PATCH 5.15 012/167] tracing/histograms: Fix memory leak problem Greg Kroah-Hartman
2022-07-19 11:52 ` [PATCH 5.15 013/167] net: sock: tracing: Fix sock_exceed_buf_limit not to dereference stale pointer Greg Kroah-Hartman
2022-07-19 11:52 ` [PATCH 5.15 014/167] ip: fix dflt addr selection for connected nexthop Greg Kroah-Hartman
2022-07-19 11:52 ` [PATCH 5.15 015/167] ARM: 9213/1: Print message about disabled Spectre workarounds only once Greg Kroah-Hartman
2022-07-19 11:52 ` [PATCH 5.15 016/167] ARM: 9214/1: alignment: advance IT state after emulating Thumb instruction Greg Kroah-Hartman
2022-07-19 11:52 ` [PATCH 5.15 017/167] wifi: mac80211: fix queue selection for mesh/OCB interfaces Greg Kroah-Hartman
2022-07-19 11:52 ` [PATCH 5.15 018/167] cgroup: Use separate src/dst nodes when preloading css_sets for migration Greg Kroah-Hartman
2022-07-19 11:52 ` [PATCH 5.15 019/167] btrfs: return -EAGAIN for NOWAIT dio reads/writes on compressed and inline extents Greg Kroah-Hartman
2022-07-19 11:52 ` [PATCH 5.15 020/167] drm/panfrost: Put mapping instead of shmem obj on panfrost_mmu_map_fault_addr() error Greg Kroah-Hartman
2022-07-19 11:52 ` [PATCH 5.15 021/167] drm/panfrost: Fix shrinker list corruption by madvise IOCTL Greg Kroah-Hartman
2022-07-19 11:52 ` [PATCH 5.15 022/167] fs/remap: constrain dedupe of EOF blocks Greg Kroah-Hartman
2022-07-19 11:52 ` [PATCH 5.15 023/167] nilfs2: fix incorrect masking of permission flags for symlinks Greg Kroah-Hartman
2022-07-19 11:52 ` [PATCH 5.15 024/167] sh: convert nommu io{re,un}map() to static inline functions Greg Kroah-Hartman
2022-07-19 11:52 ` [PATCH 5.15 025/167] Revert "evm: Fix memleak in init_desc" Greg Kroah-Hartman
2022-07-19 11:52 ` [PATCH 5.15 026/167] xfs: only run COW extent recovery when there are no live extents Greg Kroah-Hartman
2022-07-19 11:52 ` [PATCH 5.15 027/167] xfs: dont include bnobt blocks when reserving free block pool Greg Kroah-Hartman
2022-07-19 11:52 ` [PATCH 5.15 028/167] xfs: run callbacks before waking waiters in xlog_state_shutdown_callbacks Greg Kroah-Hartman
2022-07-19 11:52 ` Greg Kroah-Hartman [this message]
2022-07-19 11:52 ` [PATCH 5.15 030/167] reset: Fix devm bulk optional exclusive control getter Greg Kroah-Hartman
2022-07-19 11:52 ` [PATCH 5.15 031/167] ARM: dts: imx6qdl-ts7970: Fix ngpio typo and count Greg Kroah-Hartman
2022-07-19 11:52 ` [PATCH 5.15 032/167] spi: amd: Limit max transfer and message size Greg Kroah-Hartman
2022-07-19 11:52 ` [PATCH 5.15 033/167] ARM: 9209/1: Spectre-BHB: avoid pr_info() every time a CPU comes out of idle Greg Kroah-Hartman
2022-07-19 11:52 ` [PATCH 5.15 034/167] ARM: 9210/1: Mark the FDT_FIXED sections as shareable Greg Kroah-Hartman
2022-07-19 11:52 ` [PATCH 5.15 035/167] net/mlx5e: kTLS, Fix build time constant test in TX Greg Kroah-Hartman
2022-07-19 11:52 ` [PATCH 5.15 036/167] net/mlx5e: kTLS, Fix build time constant test in RX Greg Kroah-Hartman
2022-07-19 11:52 ` [PATCH 5.15 037/167] net/mlx5e: Fix enabling sriov while tc nic rules are offloaded Greg Kroah-Hartman
2022-07-19 11:52 ` [PATCH 5.15 038/167] net/mlx5e: Fix capability check for updating vnic env counters Greg Kroah-Hartman
2022-07-19 11:52 ` [PATCH 5.15 039/167] net/mlx5e: Ring the TX doorbell on DMA errors Greg Kroah-Hartman
2022-07-19 11:52 ` [PATCH 5.15 040/167] drm/i915: fix a possible refcount leak in intel_dp_add_mst_connector() Greg Kroah-Hartman
2022-07-19 11:52 ` [PATCH 5.15 041/167] ima: Fix a potential integer overflow in ima_appraise_measurement Greg Kroah-Hartman
2022-07-19 11:52 ` [PATCH 5.15 042/167] ASoC: sgtl5000: Fix noise on shutdown/remove Greg Kroah-Hartman
2022-07-19 11:52 ` [PATCH 5.15 043/167] ASoC: tas2764: Add post reset delays Greg Kroah-Hartman
2022-07-19 11:52 ` [PATCH 5.15 044/167] ASoC: tas2764: Fix and extend FSYNC polarity handling Greg Kroah-Hartman
2022-07-19 11:52 ` [PATCH 5.15 045/167] ASoC: tas2764: Correct playback volume range Greg Kroah-Hartman
2022-07-19 11:52 ` [PATCH 5.15 046/167] ASoC: tas2764: Fix amp gain register offset & default Greg Kroah-Hartman
2022-07-19 11:52 ` [PATCH 5.15 047/167] ASoC: Intel: Skylake: Correct the ssp rate discovery in skl_get_ssp_clks() Greg Kroah-Hartman
2022-07-19 11:53 ` [PATCH 5.15 048/167] ASoC: Intel: Skylake: Correct the handling of fmt_config flexible array Greg Kroah-Hartman
2022-07-19 11:53 ` [PATCH 5.15 049/167] net: stmmac: dwc-qos: Disable split header for Tegra194 Greg Kroah-Hartman
2022-07-19 11:53 ` [PATCH 5.15 050/167] net: ethernet: ti: am65-cpsw: Fix devlink port register sequence Greg Kroah-Hartman
2022-07-19 11:53 ` [PATCH 5.15 051/167] sysctl: Fix data races in proc_dointvec() Greg Kroah-Hartman
2022-07-19 11:53 ` [PATCH 5.15 052/167] sysctl: Fix data races in proc_douintvec() Greg Kroah-Hartman
2022-07-19 11:53 ` [PATCH 5.15 053/167] sysctl: Fix data races in proc_dointvec_minmax() Greg Kroah-Hartman
2022-07-19 11:53 ` [PATCH 5.15 054/167] sysctl: Fix data races in proc_douintvec_minmax() Greg Kroah-Hartman
2022-07-19 11:53 ` [PATCH 5.15 055/167] sysctl: Fix data races in proc_doulongvec_minmax() Greg Kroah-Hartman
2022-07-19 11:53 ` [PATCH 5.15 056/167] sysctl: Fix data races in proc_dointvec_jiffies() Greg Kroah-Hartman
2022-07-19 11:53 ` [PATCH 5.15 057/167] tcp: Fix a data-race around sysctl_tcp_max_orphans Greg Kroah-Hartman
2022-07-19 11:53 ` [PATCH 5.15 058/167] inetpeer: Fix data-races around sysctl Greg Kroah-Hartman
2022-07-19 11:53 ` [PATCH 5.15 059/167] net: Fix data-races around sysctl_mem Greg Kroah-Hartman
2022-07-19 11:53 ` [PATCH 5.15 060/167] cipso: Fix data-races around sysctl Greg Kroah-Hartman
2022-07-19 11:53 ` [PATCH 5.15 061/167] icmp: " Greg Kroah-Hartman
2022-07-19 11:53 ` [PATCH 5.15 062/167] ipv4: Fix a data-race around sysctl_fib_sync_mem Greg Kroah-Hartman
2022-07-19 11:53 ` [PATCH 5.15 063/167] ARM: dts: at91: sama5d2: Fix typo in i2s1 node Greg Kroah-Hartman
2022-07-19 11:53 ` [PATCH 5.15 064/167] ARM: dts: sunxi: Fix SPI NOR campatible on Orange Pi Zero Greg Kroah-Hartman
2022-07-19 11:53 ` [PATCH 5.15 065/167] arm64: dts: broadcom: bcm4908: Fix timer node for BCM4906 SoC Greg Kroah-Hartman
2022-07-19 11:53 ` [PATCH 5.15 066/167] arm64: dts: broadcom: bcm4908: Fix cpu node for smp boot Greg Kroah-Hartman
2022-07-19 11:53 ` [PATCH 5.15 067/167] netfilter: nf_log: incorrect offset to network header Greg Kroah-Hartman
2022-07-19 11:53 ` [PATCH 5.15 068/167] netfilter: nf_tables: replace BUG_ON by element length check Greg Kroah-Hartman
2022-07-19 11:53 ` [PATCH 5.15 069/167] drm/i915/gvt: IS_ERR() vs NULL bug in intel_gvt_update_reg_whitelist() Greg Kroah-Hartman
2022-07-19 11:53 ` [PATCH 5.15 070/167] xen/gntdev: Ignore failure to unmap INVALID_GRANT_HANDLE Greg Kroah-Hartman
2022-07-19 11:53 ` [PATCH 5.15 071/167] lockd: set fl_owner when unlocking files Greg Kroah-Hartman
2022-07-19 11:53 ` [PATCH 5.15 072/167] lockd: fix nlm_close_files Greg Kroah-Hartman
2022-07-19 11:53 ` [PATCH 5.15 073/167] tracing: Fix sleeping while atomic in kdb ftdump Greg Kroah-Hartman
2022-07-19 11:53 ` [PATCH 5.15 074/167] drm/i915/selftests: fix a couple IS_ERR() vs NULL tests Greg Kroah-Hartman
2022-07-19 11:53 ` [PATCH 5.15 075/167] drm/i915/dg2: Add Wa_22011100796 Greg Kroah-Hartman
2022-07-19 11:53 ` [PATCH 5.15 076/167] drm/i915/gt: Serialize GRDOM access between multiple engine resets Greg Kroah-Hartman
2022-07-19 11:53 ` [PATCH 5.15 077/167] drm/i915/gt: Serialize TLB invalidates with GT resets Greg Kroah-Hartman
2022-07-19 11:53 ` [PATCH 5.15 078/167] drm/i915/uc: correctly track uc_fw init failure Greg Kroah-Hartman
2022-07-19 11:53 ` [PATCH 5.15 079/167] drm/i915: Require the vm mutex for i915_vma_bind() Greg Kroah-Hartman
2022-07-19 11:53 ` [PATCH 5.15 080/167] bnxt_en: Fix bnxt_reinit_after_abort() code path Greg Kroah-Hartman
2022-07-19 11:53 ` [PATCH 5.15 081/167] bnxt_en: Fix bnxt_refclk_read() Greg Kroah-Hartman
2022-07-19 11:53 ` [PATCH 5.15 082/167] sysctl: Fix data-races in proc_dou8vec_minmax() Greg Kroah-Hartman
2022-07-19 11:53 ` [PATCH 5.15 083/167] sysctl: Fix data-races in proc_dointvec_ms_jiffies() Greg Kroah-Hartman
2022-07-19 11:53 ` [PATCH 5.15 084/167] icmp: Fix data-races around sysctl_icmp_echo_enable_probe Greg Kroah-Hartman
2022-07-19 11:53 ` [PATCH 5.15 085/167] icmp: Fix a data-race around sysctl_icmp_ignore_bogus_error_responses Greg Kroah-Hartman
2022-07-19 11:53 ` [PATCH 5.15 086/167] icmp: Fix a data-race around sysctl_icmp_errors_use_inbound_ifaddr Greg Kroah-Hartman
2022-07-19 11:53 ` [PATCH 5.15 087/167] icmp: Fix a data-race around sysctl_icmp_ratelimit Greg Kroah-Hartman
2022-07-19 11:53 ` [PATCH 5.15 088/167] icmp: Fix a data-race around sysctl_icmp_ratemask Greg Kroah-Hartman
2022-07-19 11:53 ` [PATCH 5.15 089/167] raw: Fix a data-race around sysctl_raw_l3mdev_accept Greg Kroah-Hartman
2022-07-19 11:53 ` [PATCH 5.15 090/167] tcp: Fix a data-race around sysctl_tcp_ecn_fallback Greg Kroah-Hartman
2022-07-19 11:53 ` [PATCH 5.15 091/167] ipv4: Fix data-races around sysctl_ip_dynaddr Greg Kroah-Hartman
2022-07-19 11:53 ` [PATCH 5.15 092/167] nexthop: Fix data-races around nexthop_compat_mode Greg Kroah-Hartman
2022-07-19 11:53 ` [PATCH 5.15 093/167] net: ftgmac100: Hold reference returned by of_get_child_by_name() Greg Kroah-Hartman
2022-07-19 11:53 ` [PATCH 5.15 094/167] net: stmmac: fix leaks in probe Greg Kroah-Hartman
2022-07-19 11:53 ` [PATCH 5.15 095/167] ima: force signature verification when CONFIG_KEXEC_SIG is configured Greg Kroah-Hartman
2022-07-19 11:53 ` [PATCH 5.15 096/167] ima: Fix potential memory leak in ima_init_crypto() Greg Kroah-Hartman
2022-07-19 11:53 ` [PATCH 5.15 097/167] drm/amd/display: Only use depth 36 bpp linebuffers on DCN display engines Greg Kroah-Hartman
2022-07-19 11:53 ` [PATCH 5.15 098/167] drm/amd/pm: Prevent divide by zero Greg Kroah-Hartman
2022-07-19 11:53 ` [PATCH 5.15 099/167] sfc: fix use after free when disabling sriov Greg Kroah-Hartman
2022-07-19 11:53 ` [PATCH 5.15 100/167] ceph: switch netfs read ops to use rreq->inode instead of rreq->mapping->host Greg Kroah-Hartman
2022-07-19 11:53 ` [PATCH 5.15 101/167] seg6: fix skb checksum evaluation in SRH encapsulation/insertion Greg Kroah-Hartman
2022-07-19 11:53 ` [PATCH 5.15 102/167] seg6: fix skb checksum in SRv6 End.B6 and End.B6.Encaps behaviors Greg Kroah-Hartman
2022-07-19 11:53 ` [PATCH 5.15 103/167] seg6: bpf: fix skb checksum in bpf_push_seg6_encap() Greg Kroah-Hartman
2022-07-19 11:53 ` [PATCH 5.15 104/167] sfc: fix kernel panic when creating VF Greg Kroah-Hartman
2022-07-19 11:53 ` [PATCH 5.15 105/167] net: atlantic: remove deep parameter on suspend/resume functions Greg Kroah-Hartman
2022-07-19 11:53 ` [PATCH 5.15 106/167] net: atlantic: remove aq_nic_deinit() when resume Greg Kroah-Hartman
2022-07-19 11:53 ` [PATCH 5.15 107/167] KVM: x86: Fully initialize struct kvm_lapic_irq in kvm_pv_kick_cpu_op() Greg Kroah-Hartman
2022-07-19 11:54 ` [PATCH 5.15 108/167] net/tls: Check for errors in tls_device_init Greg Kroah-Hartman
2022-07-19 11:54 ` [PATCH 5.15 109/167] ACPI: video: Fix acpi_video_handles_brightness_key_presses() Greg Kroah-Hartman
2022-07-19 11:54 ` [PATCH 5.15 110/167] mm: sysctl: fix missing numa_stat when !CONFIG_HUGETLB_PAGE Greg Kroah-Hartman
2022-07-19 11:54 ` [PATCH 5.15 111/167] btrfs: rename btrfs_bio to btrfs_io_context Greg Kroah-Hartman
2022-07-19 11:54 ` [PATCH 5.15 112/167] btrfs: zoned: fix a leaked bioc in read_zone_info Greg Kroah-Hartman
2022-07-19 11:54 ` [PATCH 5.15 113/167] ksmbd: use SOCK_NONBLOCK type for kernel_accept() Greg Kroah-Hartman
2022-07-19 11:54 ` [PATCH 5.15 114/167] powerpc/xive/spapr: correct bitmap allocation size Greg Kroah-Hartman
2022-07-19 11:54 ` [PATCH 5.15 115/167] vdpa/mlx5: Initialize CVQ vringh only once Greg Kroah-Hartman
2022-07-19 11:54 ` [PATCH 5.15 116/167] vduse: Tie vduse mgmtdev and its device Greg Kroah-Hartman
2022-07-19 11:54 ` [PATCH 5.15 117/167] virtio_mmio: Add missing PM calls to freeze/restore Greg Kroah-Hartman
2022-07-19 11:54 ` [PATCH 5.15 118/167] virtio_mmio: Restore guest page size on resume Greg Kroah-Hartman
2022-07-19 11:54 ` [PATCH 5.15 119/167] netfilter: br_netfilter: do not skip all hooks with 0 priority Greg Kroah-Hartman
2022-07-19 11:54 ` [PATCH 5.15 120/167] scsi: hisi_sas: Limit max hw sectors for v3 HW Greg Kroah-Hartman
2022-07-19 11:54 ` [PATCH 5.15 121/167] cpufreq: pmac32-cpufreq: Fix refcount leak bug Greg Kroah-Hartman
2022-07-19 11:54 ` [PATCH 5.15 122/167] platform/x86: hp-wmi: Ignore Sanitization Mode event Greg Kroah-Hartman
2022-07-19 11:54 ` [PATCH 5.15 123/167] firmware: sysfb: Make sysfb_create_simplefb() return a pdev pointer Greg Kroah-Hartman
2022-07-19 11:54 ` [PATCH 5.15 124/167] firmware: sysfb: Add sysfb_disable() helper function Greg Kroah-Hartman
2022-07-19 11:54 ` [PATCH 5.15 125/167] fbdev: Disable sysfb device registration when removing conflicting FBs Greg Kroah-Hartman
2022-07-19 11:54 ` [PATCH 5.15 126/167] net: tipc: fix possible refcount leak in tipc_sk_create() Greg Kroah-Hartman
2022-07-19 11:54 ` [PATCH 5.15 127/167] NFC: nxp-nci: dont print header length mismatch on i2c error Greg Kroah-Hartman
2022-07-19 11:54 ` [PATCH 5.15 128/167] nvme-tcp: always fail a request when sending it failed Greg Kroah-Hartman
2022-07-19 11:54 ` [PATCH 5.15 129/167] nvme: fix regression when disconnect a recovering ctrl Greg Kroah-Hartman
2022-07-19 11:54 ` [PATCH 5.15 130/167] net: sfp: fix memory leak in sfp_probe() Greg Kroah-Hartman
2022-07-19 11:54 ` [PATCH 5.15 131/167] ASoC: ops: Fix off by one in range control validation Greg Kroah-Hartman
2022-07-19 11:54 ` [PATCH 5.15 132/167] pinctrl: aspeed: Fix potential NULL dereference in aspeed_pinmux_set_mux() Greg Kroah-Hartman
2022-07-19 11:54 ` [PATCH 5.15 133/167] ASoC: Realtek/Maxim SoundWire codecs: disable pm_runtime on remove Greg Kroah-Hartman
2022-07-19 11:54 ` [PATCH 5.15 134/167] ASoC: rt711-sdca-sdw: fix calibrate mutex initialization Greg Kroah-Hartman
2022-07-19 11:54 ` [PATCH 5.15 135/167] ASoC: Intel: sof_sdw: handle errors on card registration Greg Kroah-Hartman
2022-07-19 11:54 ` [PATCH 5.15 136/167] ASoC: rt711: fix calibrate mutex initialization Greg Kroah-Hartman
2022-07-19 11:54 ` [PATCH 5.15 137/167] ASoC: rt7*-sdw: harden jack_detect_handler Greg Kroah-Hartman
2022-07-19 11:54 ` [PATCH 5.15 138/167] ASoC: codecs: rt700/rt711/rt711-sdca: initialize workqueues in probe Greg Kroah-Hartman
2022-07-19 11:54 ` [PATCH 5.15 139/167] ASoC: SOF: Intel: hda-loader: Clarify the cl_dsp_init() flow Greg Kroah-Hartman
2022-07-19 11:54 ` [PATCH 5.15 140/167] ASoC: wcd938x: Fix event generation for some controls Greg Kroah-Hartman
2022-07-19 11:54 ` [PATCH 5.15 141/167] ASoC: Intel: bytcr_wm5102: Fix GPIO related probe-ordering problem Greg Kroah-Hartman
2022-07-19 11:54 ` [PATCH 5.15 142/167] ASoC: wm5110: Fix DRE control Greg Kroah-Hartman
2022-07-19 11:54 ` [PATCH 5.15 143/167] ASoC: rt711-sdca: fix kernel NULL pointer dereference when IO error Greg Kroah-Hartman
2022-07-19 11:54 ` [PATCH 5.15 144/167] ASoC: dapm: Initialise kcontrol data for mux/demux controls Greg Kroah-Hartman
2022-07-19 11:54 ` [PATCH 5.15 145/167] ASoC: cs47l15: Fix event generation for low power mux control Greg Kroah-Hartman
2022-07-19 11:54 ` [PATCH 5.15 146/167] ASoC: madera: Fix event generation for OUT1 demux Greg Kroah-Hartman
2022-07-19 11:54 ` [PATCH 5.15 147/167] ASoC: madera: Fix event generation for rate controls Greg Kroah-Hartman
2022-07-19 11:54 ` [PATCH 5.15 148/167] irqchip: or1k-pic: Undefine mask_ack for level triggered hardware Greg Kroah-Hartman
2022-07-19 11:54 ` [PATCH 5.15 149/167] x86: Clear .brk area at early boot Greg Kroah-Hartman
2022-07-19 11:54 ` [PATCH 5.15 150/167] soc: ixp4xx/npe: Fix unused match warning Greg Kroah-Hartman
2022-07-19 11:54 ` [PATCH 5.15 151/167] ARM: dts: stm32: use the correct clock source for CEC on stm32mp151 Greg Kroah-Hartman
2022-07-19 11:54 ` [PATCH 5.15 152/167] Revert "can: xilinx_can: Limit CANFD brp to 2" Greg Kroah-Hartman
2022-07-19 11:54 ` [PATCH 5.15 153/167] ALSA: usb-audio: Add quirks for MacroSilicon MS2100/MS2106 devices Greg Kroah-Hartman
2022-07-19 11:54 ` [PATCH 5.15 154/167] ALSA: usb-audio: Add quirk for Fiero SC-01 Greg Kroah-Hartman
2022-07-19 11:54 ` [PATCH 5.15 155/167] ALSA: usb-audio: Add quirk for Fiero SC-01 (fw v1.0.0) Greg Kroah-Hartman
2022-07-19 11:54 ` [PATCH 5.15 156/167] nvme-pci: phison e16 has bogus namespace ids Greg Kroah-Hartman
2022-07-19 11:54 ` [PATCH 5.15 157/167] signal handling: dont use BUG_ON() for debugging Greg Kroah-Hartman
2022-07-19 11:54 ` [PATCH 5.15 158/167] USB: serial: ftdi_sio: add Belimo device ids Greg Kroah-Hartman
2022-07-19 11:54 ` [PATCH 5.15 159/167] usb: typec: add missing uevent when partner support PD Greg Kroah-Hartman
2022-07-19 11:54 ` [PATCH 5.15 160/167] usb: dwc3: gadget: Fix event pending check Greg Kroah-Hartman
2022-07-19 11:54 ` [PATCH 5.15 161/167] tty: serial: samsung_tty: set dma burst_size to 1 Greg Kroah-Hartman
2022-07-19 11:54 ` [PATCH 5.15 162/167] vt: fix memory overlapping when deleting chars in the buffer Greg Kroah-Hartman
2022-07-19 11:54 ` [PATCH 5.15 163/167] serial: 8250: fix return error code in serial8250_request_std_resource() Greg Kroah-Hartman
2022-07-19 11:54 ` [PATCH 5.15 164/167] serial: stm32: Clear prev values before setting RTS delays Greg Kroah-Hartman
2022-07-19 11:54 ` [PATCH 5.15 165/167] serial: pl011: UPSTAT_AUTORTS requires .throttle/unthrottle Greg Kroah-Hartman
2022-07-19 11:54 ` [PATCH 5.15 166/167] serial: 8250: Fix PM usage_count for console handover Greg Kroah-Hartman
2022-07-19 11:54 ` [PATCH 5.15 167/167] x86/pat: Fix x86_has_pat_wp() Greg Kroah-Hartman
2022-07-19 19:07 ` [PATCH 5.15 000/167] 5.15.56-rc1 review Florian Fainelli
2022-07-20 6:19 ` Guenter Roeck
2022-07-20 7:20 ` Ron Economos
2022-07-20 9:09 ` Bagas Sanjaya
2022-07-20 9:19 ` Naresh Kamboju
2022-07-20 14:48 ` Sudip Mukherjee (Codethink)
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=20220719114659.579342281@linuxfoundation.org \
--to=gregkh@linuxfoundation.org \
--cc=dchinner@redhat.com \
--cc=djwong@kernel.org \
--cc=jack@suse.cz \
--cc=leah.rumancik@gmail.com \
--cc=linux-kernel@vger.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