On Wed, 22 Nov 2023 14:27:50 PST (-0800), jeffreya...@gmail.com wrote:
...

[Trimming everything else, as this is a big change. I'm also making it a new subject/thread, so folks can see.]

More generally, I think I need to soften my prior statement about
deferring this to gcc-15.  This code was submitted in time for the
gcc-14 deadline, so it should be evaluated just like we do anything else
that makes the deadline.  There are various criteria we use to evaluate
if something should get integrated and we should just work through this
series like we always do and not treat it specially in any way.

We talked about this some in the pachwork meeting today. There's a lot of moving parts here, so here's my best bet at summarizing It seems like folks broadly agree: I think the only reason everyone was so quick to defer to 15 was because we though the Vrull guys even want to, but sounds like there's some interest in getting this into 14. That's obviously a risky thing to do given it was sent right at the end of the window, but it meets the rules.

Folks in the call seemed generally amenable to at least trying for 14, so unless anyone's opposed on the lists it seems like the way to go. IIRC we ended up with the following TODO list:

* Make sure this doesn't regress on the targets we already support. From the sounds of things there's been test suite runs that look fine, so hopefully that's all manageable. Christoph said he'd send something out, we've had a bunch of test skew so there might be a bit lurking but it should be generally manageable. * We agree on some sort of support lifecycle. There seemed to be basically two proposals: merge for 14 with the aim of quickly deperecating it (maybe even for 15), or merge for 14 with the aim of keeping it until it ends up un-tested (ie, requiring test results are published for every release). * We actually find some time to sit down and do the code review. That'll be a chunk of work and time is tight since most of us are focusing on V-1.0, but hopefully we've got time to fit things in. * There's some options for testing without hardware: QEMU dropped support for V-0.7.1 a while ago, but there's a patch set that's not yet on the lists to bring that back.

So I think unless anyone's opposed, we can at least start looking into getting this into GCC-14 -- there's obviously still a ton of review work to do and we might find something problematic, but we won't know until we actually sit down and do the reviews.

---

Then for my opinions:

The only policy worry I have is the support lifecycle: IMO merging something we're going to quickly deprecate is going to lead to headaches for users, so we should only merge this if we're going to plan on supporting it for the life of the hardware. That's always hard to define, but we talked through the option of pushing this onto the users: we'd require test results published for every GCC release, and if no reasonably cleas test results are published then we'll assume the HW is defunct and support for it can be deprecated. That's sort of patterned on how glibc documents deprecating ports.

IIRC we didn't really end up with any deprecation policy when merging the other vendor support, so I'd argue we should just make that the general plan for supporting vendor extensions. It pushes a little more work to the vendors/users than we have before, but I think it's a good balance. It's also a pretty easy policy for vendors to understand: if they want their custom stuff supported, they need to demonstrate it works.

Reply via email to