From: Joonho Lee <mynameisjune111@gmail.com>
To: linux-sound@vger.kernel.org
Cc: tiwai@suse.com, perex@perex.cz, anton.yakovlev@opensynergy.com,
mst@redhat.com, virtualization@lists.linux.dev,
linux-kernel@vger.kernel.org, corbet@lwn.net,
skhan@linuxfoundation.org, rdunlap@infradead.org,
linux-doc@vger.kernel.org
Subject: [PATCH v18 00/12] ALSA: virtio: fix capture lifetime and accounting
Date: Fri, 6 Nov 2026 09:06:32 +0900 [thread overview]
Message-ID: <20261106000644.20460-1-mynameisjune111@gmail.com> (raw)
Hi Takashi,
This cumulative resend keeps the twelve-patch series on the same base,
a4311e9447bbb219044db38897f95be112f46a8a. It covers PCM stop-threshold
sampling, locked partial-progress reporting, the optional reset operation,
VirtIO ACK error propagation and recovery, PCM and control DMA ownership,
signal-safe teardown, staged capture lifecycle and work prioritization, and
capture parameter documentation.
Relative to v17, patch 4 adds the transfer-failure XRUN latch so later
completions do not advance PCM accounting after a failed ACK. The existing
ACK and prepare recovery behavior is retained. Patch 6's partial-restore
rollback and event-message ownership fixes, and patch 9's wait-result type
fix, are carried forward unchanged from v17. Patch 7 retains PCM DMA lifetime
and fixed-slot completion checks, and now reserves the successfully seeded
ordinary capture ring until userspace advances appl_ptr. Patch 10 retains the
staged capture lifecycle and paused linked-stream XRUN handling, and restores
full-ring accounting after active and native paused RESET requeues completed
requests.
Validation:
- Cumulative stages 04–12 passed incremental ARM64 W=1 builds with KASAN,
lockdep, and OSS PCM enabled.
- The no-hook production candidate passed ordinary and staged RW/MMAP QEMU
capture. The 14-capture sequence verifier passed across both modes,
including RESET/reopen boundaries.
- A slow-reader QEMU oracle reproduces unread-period overwrite on upstream
a4311e9 and v17. The candidate keeps the ring slice unchanged until
appl_ptr advances. Separate active and paused RESET pairs reproduce the
same baseline issue and show the candidate preserving the unread slice.
- Synthetic ACK-failure QEMU probes cover capture, playback, and DRAINING
admission. Subsequent virtqueue completions and recovery paths were also
exercised.
- An exact ALSA-helper model covers partial-period capture accounting.
- MMIO rollback, timeout-width, PCI remove/reprobe, and linked paused-XRUN
evidence is inherited from the validated v17 candidate for source paths
unchanged by v18; the manifest identifies those inherited checks.
These are guest QEMU and host-model results. ACK failures were injected by
test-only hooks; the returned VirtIO completions were real QEMU events.
Physical Virtualization.framework devices and KCSAN were not tested.
Previous version:
https://lore.kernel.org/linux-sound/20261105070845.6449-1-mynameisjune111@gmail.com/
AI assistance was used for analysis, implementation, and test preparation.
Assisted-by: LLM
Thanks,
Joonho
base-commit: a4311e9447bbb219044db38897f95be112f46a8a
next reply other threads:[~2026-11-06 0:06 UTC|newest]
Thread overview: 13+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-11-06 0:06 Joonho Lee [this message]
2026-11-06 0:06 ` [PATCH v18 01/12] ALSA: pcm: mark stop-threshold accesses for capture policy sampling Joonho Lee
2026-11-06 0:06 ` [PATCH v18 02/12] ALSA: pcm: report partial progress under the stream lock Joonho Lee
2026-11-06 0:06 ` [PATCH v18 03/12] ALSA: pcm: add an optional reset operation " Joonho Lee
2026-11-06 0:06 ` [PATCH v18 04/12] ALSA: virtio: Propagate PCM send failures through ACK Joonho Lee
2026-11-06 0:06 ` [PATCH v18 05/12] ALSA: virtio: Recover PCM state after a failed start Joonho Lee
2026-11-06 0:06 ` [PATCH v18 06/12] ALSA: virtio: Retain queued messages through device reset Joonho Lee
2026-11-06 0:06 ` [PATCH v18 07/12] ALSA: virtio: retain PCM DMA pages and validate capture ring ownership Joonho Lee
2026-11-06 0:06 ` [PATCH v18 08/12] ALSA: virtio: Keep control payloads alive through DMA completion Joonho Lee
2026-11-06 0:06 ` [PATCH v18 09/12] ALSA: virtio: wait through signals for PCM teardown Joonho Lee
2026-11-06 0:06 ` [PATCH v18 10/12] ALSA: virtio: serialize staged capture lifecycle and defer paused XRUNs Joonho Lee
2026-11-06 0:06 ` [PATCH v18 11/12] ALSA: virtio: prioritize staged capture period work Joonho Lee
2026-11-06 0:06 ` [PATCH v18 12/12] docs: describe virtio-sound capture options Joonho Lee
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=20261106000644.20460-1-mynameisjune111@gmail.com \
--to=mynameisjune111@gmail.com \
--cc=anton.yakovlev@opensynergy.com \
--cc=corbet@lwn.net \
--cc=linux-doc@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-sound@vger.kernel.org \
--cc=mst@redhat.com \
--cc=perex@perex.cz \
--cc=rdunlap@infradead.org \
--cc=skhan@linuxfoundation.org \
--cc=tiwai@suse.com \
--cc=virtualization@lists.linux.dev \
/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
all inboxes | Powered by JetHome®