From: Michal Pecio <michal.pecio@gmail.com>
To: "Neronin, Niklas" <niklas.neronin@linux.intel.com>
Cc: mathias.nyman@linux.intel.com, linux-usb@vger.kernel.org,
raoxu@uniontech.com
Subject: Re: [PATCH 5/9] usb: xhci: move ring initialization
Date: Wed, 1 Apr 2026 11:31:32 +0200 [thread overview]
Message-ID: <20260401113132.2dc880c7.michal.pecio@gmail.com> (raw)
In-Reply-To: <33373f50-7e86-4854-a651-577662d54811@linux.intel.com>
On Mon, 30 Mar 2026 11:53:31 +0300, Neronin, Niklas wrote:
> xhci_clear_command_ring() clears the command ring specifically.
>
> The idea is to have (naming not set in stone):
> ring_alloc() <- allocate necessary ring memory
> ring_free() <- free all ring memory
> ring_init() <- initialize necessary ring memory
> ring_reset() <- resets the ring
Not sure what reset() means, simply clear()? Would it include init()?
What I'm saying is that alloc() and init() almost always need to happen
together and the verbosity of this patch demonstrates widespread demand
for one function which can do both things.
Is this patch even correct? To know, I would need to find all callers
of ring_alloc() and verify that ring_init() has been added. OTOH, a
rename of ring_alloc() to ring_create() wouldn't compile if the patch
frogot to update some callers.
Similarly, separation of setting up links (ring_init) from clearing the
rest adds complexity and bug opportunities. Usually (always?) callers
will need to do both of those things for correct outcome.
I think it would be safer not to have rings in an invalid state, unless
it's some exceptional case like a very short-lived ring allocated for
expansion. And even then I'm not sure why expansion allocates a new
ring and splices it into the old one, instead of just adding segments.
Regards,
Michal
next prev parent reply other threads:[~2026-04-01 9:31 UTC|newest]
Thread overview: 23+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-03-27 12:34 [PATCH 0/9] xhci: usb: optimize resuming from S4 (suspend-to-disk) Niklas Neronin
2026-03-27 12:34 ` [PATCH 1/9] usb: xhci: simplify CMRT initialization logic Niklas Neronin
2026-03-27 12:34 ` [PATCH 2/9] usb: xhci: relocate Restore/Controller error check Niklas Neronin
2026-03-27 12:34 ` [PATCH 3/9] usb: xhci: factor out roothub bandwidth cleanup Niklas Neronin
2026-03-30 8:29 ` Michal Pecio
2026-03-31 9:34 ` Neronin, Niklas
2026-04-01 9:58 ` Michal Pecio
2026-03-27 12:34 ` [PATCH 4/9] usb: xhci: move reserving command ring trb Niklas Neronin
2026-03-27 12:34 ` [PATCH 5/9] usb: xhci: move ring initialization Niklas Neronin
2026-03-30 8:42 ` Michal Pecio
2026-03-30 8:53 ` Neronin, Niklas
2026-04-01 9:31 ` Michal Pecio [this message]
2026-03-27 12:34 ` [PATCH 6/9] usb: xhci: move initialization for lifetime objects Niklas Neronin
2026-03-30 8:49 ` Michal Pecio
2026-03-27 12:34 ` [PATCH 7/9] usb: xhci: split core allocation and initialization Niklas Neronin
2026-03-30 8:57 ` Michal Pecio
2026-03-27 12:34 ` [PATCH 8/9] usb: xhci: improve debug messages during suspend Niklas Neronin
2026-03-30 9:14 ` Michal Pecio
2026-03-30 11:44 ` Neronin, Niklas
2026-03-27 12:34 ` [PATCH 9/9] usb: xhci: optimize resuming from S4 (suspend-to-disk) Niklas Neronin
2026-03-30 9:45 ` Michal Pecio
2026-03-31 9:59 ` Neronin, Niklas
2026-04-01 10:38 ` Michal Pecio
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=20260401113132.2dc880c7.michal.pecio@gmail.com \
--to=michal.pecio@gmail.com \
--cc=linux-usb@vger.kernel.org \
--cc=mathias.nyman@linux.intel.com \
--cc=niklas.neronin@linux.intel.com \
--cc=raoxu@uniontech.com \
/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