On Tue, 2025-08-05 at 07:09 +0200, Cédric Le Goater wrote:
> Hello Glenn,
> 
> +Harsh
> 
> On 8/4/25 19:37, Miles Glenn wrote:
> > On Sun, 2025-07-20 at 23:26 +0200, Cédric Le Goater wrote:
> > > On 5/16/25 03:29, Nicholas Piggin wrote:
> > > > On Fri May 16, 2025 at 1:36 AM AEST, Cédric Le Goater wrote:
> > > > > On 5/12/25 05:10, Nicholas Piggin wrote:
> > > > > > These changes gets the powernv xive2 to the point it is able to run
> > > > > > PowerVM with good stability.
> > > > > > 
> > > > > > * Various bug fixes around lost interrupts particularly.
> > > > > > * Major group interrupt work, in particular around redistributing
> > > > > >      interrupts. Upstream group support is not in a complete or 
> > > > > > usable
> > > > > >      state as it is.
> > > > > > * Significant context push/pull improvements, particularly pool and
> > > > > >      phys context handling was quite incomplete beyond trivial OPAL
> > > > > >      case that pushes at boot.
> > > > > > * Improved tracing and checking for unimp and guest error 
> > > > > > situations.
> > > > > > * Various other missing feature support.
> > > > > > 
> > > > > > The ordering and grouping of patches in the series is not perfect,
> > > > > > because it had been an ongoing development, and PowerVM only started
> > > > > > to become stable toward the end. I did try to rearrange and improve
> > > > > > things, but some were not worth rebasing cost (e.g., some of the
> > > > > > pool/phys pull redistribution patches should have ideally been 
> > > > > > squashed
> > > > > > or moved together), so please bear that in mind.  Suggestions for
> > > > > > further rearranging the series are fine, but I might just find they 
> > > > > > are
> > > > > > too much effort to be worthwhile.
> > > > > > 
> > > > > > Thanks,
> > > > > > Nick
> > > > > > 
> > > > > > Glenn Miles (12):
> > > > > >      ppc/xive2: Fix calculation of END queue sizes
> > > > > >      ppc/xive2: Use fair irq target search algorithm
> > > > > >      ppc/xive2: Fix irq preempted by lower priority group irq
> > > > > >      ppc/xive2: Fix treatment of PIPR in CPPR update
> > > > > >      pnv/xive2: Support ESB Escalation
> > > > > >      ppc/xive2: add interrupt priority configuration flags
> > > > > >      ppc/xive2: Support redistribution of group interrupts
> > > > > >      ppc/xive: Add more interrupt notification tracing
> > > > > >      ppc/xive2: Improve pool regs variable name
> > > > > >      ppc/xive2: Implement "Ack OS IRQ to even report line" TIMA op
> > > > > >      ppc/xive2: Redistribute group interrupt precluded by CPPR 
> > > > > > update
> > > > > >      ppc/xive2: redistribute irqs for pool and phys ctx pull
> > > > > > 
> > > > > > Michael Kowal (4):
> > > > > >      ppc/xive2: Remote VSDs need to match on forwarding address
> > > > > >      ppc/xive2: Reset Generation Flipped bit on END Cache Watch
> > > > > >      pnv/xive2: Print value in invalid register write logging
> > > > > >      pnv/xive2: Permit valid writes to VC/PC Flush Control registers
> > > > > > 
> > > > > > Nicholas Piggin (34):
> > > > > >      ppc/xive: Fix xive trace event output
> > > > > >      ppc/xive: Report access size in XIVE TM operation error logs
> > > > > >      ppc/xive2: fix context push calculation of IPB priority
> > > > > >      ppc/xive: Fix PHYS NSR ring matching
> > > > > >      ppc/xive2: Do not present group interrupt on OS-push if 
> > > > > > precluded by
> > > > > >        CPPR
> > > > > >      ppc/xive2: Set CPPR delivery should account for group priority
> > > > > >      ppc/xive: tctx_notify should clear the precluded interrupt
> > > > > >      ppc/xive: Explicitly zero NSR after accepting
> > > > > >      ppc/xive: Move NSR decoding into helper functions
> > > > > >      ppc/xive: Fix pulling pool and phys contexts
> > > > > >      pnv/xive2: VC_ENDC_WATCH_SPEC regs should read back WATCH_FULL
> > > > > >      ppc/xive: Change presenter .match_nvt to match not present
> > > > > >      ppc/xive2: Redistribute group interrupt preempted by higher 
> > > > > > priority
> > > > > >        interrupt
> > > > > >      ppc/xive: Add xive_tctx_pipr_present() to present new interrupt
> > > > > >      ppc/xive: Fix high prio group interrupt being preempted by low 
> > > > > > prio VP
> > > > > >      ppc/xive: Split xive recompute from IPB function
> > > > > >      ppc/xive: tctx signaling registers rework
> > > > > >      ppc/xive: tctx_accept only lower irq line if an interrupt was
> > > > > >        presented
> > > > > >      ppc/xive: Add xive_tctx_pipr_set() helper function
> > > > > >      ppc/xive2: split tctx presentation processing from set CPPR
> > > > > >      ppc/xive2: Consolidate presentation processing in context push
> > > > > >      ppc/xive2: Avoid needless interrupt re-check on CPPR set
> > > > > >      ppc/xive: Assert group interrupts were redistributed
> > > > > >      ppc/xive2: implement NVP context save restore for POOL ring
> > > > > >      ppc/xive2: Prevent pulling of pool context losing phys 
> > > > > > interrupt
> > > > > >      ppc/xive: Redistribute phys after pulling of pool context
> > > > > >      ppc/xive: Check TIMA operations validity
> > > > > >      ppc/xive2: Implement pool context push TIMA op
> > > > > >      ppc/xive2: redistribute group interrupts on context push
> > > > > >      ppc/xive2: Implement set_os_pending TIMA op
> > > > > >      ppc/xive2: Implement POOL LGS push TIMA op
> > > > > >      ppc/xive2: Implement PHYS ring VP push TIMA op
> > > > > >      ppc/xive: Split need_resend into restore_nvp
> > > > > >      ppc/xive2: Enable lower level contexts on VP push
> > > > > > 
> > > > > >     hw/intc/pnv_xive.c          |  16 +-
> > > > > >     hw/intc/pnv_xive2.c         | 139 +++++--
> > > > > >     hw/intc/pnv_xive2_regs.h    |   1 +
> > > > > >     hw/intc/spapr_xive.c        |  18 +-
> > > > > >     hw/intc/trace-events        |  12 +-
> > > > > >     hw/intc/xive.c              | 555 ++++++++++++++++++----------
> > > > > >     hw/intc/xive2.c             | 717 
> > > > > > +++++++++++++++++++++++++++---------
> > > > > >     hw/ppc/pnv.c                |  48 +--
> > > > > >     hw/ppc/spapr.c              |  21 +-
> > > > > >     include/hw/ppc/xive.h       |  66 +++-
> > > > > >     include/hw/ppc/xive2.h      |  22 +-
> > > > > >     include/hw/ppc/xive2_regs.h |  22 +-
> > > > > >     12 files changed, 1145 insertions(+), 492 deletions(-)
> > > > > > 
> > > > > 
> > > > > I am impressed :) and glad that you are still taking care of XIVE.
> > > > > 
> > > > > I suggest adding new names under the XIVE entry in the MAINTAINERS 
> > > > > file.
> > > > 
> > > > Yeah it's good to see. They are building a lot more cool stuff with
> > > > powernv at the moment, hopefully almost all should get upstreamed
> > > > eventually.
> > > > 
> > > > I will try to convince them to add MAINTAINER entries :)
> > > > 
> > > > Thanks,
> > > > Nick
> > > > 
> > > 
> > > This is a major update for XIVE and, since I am not sure anyone
> > > is going to send a PR for QEMU 10.1, I am volunteering to do
> > > it again on monday, once and only for these fixes.
> > > 
> > > We should clarify in the next cycle who is charge of ppc. IMO,
> > > If we don't have maintainers, we should orphan all non-pseries
> > > PPC components. I can send a maintainer update on this as soon
> > > as the QEMU 10.2 cycle opens.
> > > 
> > > 
> > > Thanks,
> > > 
> > > C.
> > > 
> > 
> > Cédric,
> > 
> > Thanks for doing the PR for these XIVE changes!  It sounds like if we
> > want to continue having our XIVE changes upstreamed we will need
> > someone on our IBM QEMU development team to volunteer as a maintainer.
> 
> We did some updates recently :
> 
>    https://lore.kernel.org/qemu-devel/20250724133126.1695824-1-...@redhat.com/
> 
> Given your knowledge of IBM Power servers, your relationships with
> the hardware team, and the quality of your work within QEMU, you
> should add your self as a Reviewer of PowerNV and XIVE (Needs a
> Maintainer also). I can merge that for QEMU 10.1.
> 
> > Does becoming a maintainer still require physically attending a key
> > signing party at KVM Forum?
> 
> To be able to send PRs, it is strongly recommended to have your
> key signed by the people pulling in your changes. Being physically
> present is always better to verify the identity of a person.
> 
> But that's not all, it's a chain of trust and a community involvement
> in all areas. It takes time.
> 
> Btw, in series [1], there are several patches tagged as Fixes,
> could you please reply to Michael [2] regarding which could be
> backported to the stable branches ?
> 
> 
> Thanks,
> 
> C.
> 
> 
> [1] 
> https://lore.kernel.org/qemu-devel/20250512031100.439842-1-npig...@gmail.com/
> [2] 
> https://lore.kernel.org/qemu-devel/10177005-d549-41bc-b0eb-c98b7e475...@tls.msk.ru/
> 

Thanks Cédric,

I'll go ahead and add my name as a reviewer for powernv and xive.  As
for a maintainer for the XIVE code, I would like to nominate Mike Kowal
for that role.  And, yes, I will respond to Michael Tokarev's question
regarding backporting fixes.

Thanks,

Glenn


Reply via email to