fesco
LOGS
17:01:53 <mhroncok> #startmeeting FESCO (2023-01-03)
17:01:53 <zodbot> Meeting started Tue Jan  3 17:01:53 2023 UTC.
17:01:53 <zodbot> This meeting is logged and archived in a public location.
17:01:53 <zodbot> The chair is mhroncok. Information about MeetBot at https://fedoraproject.org/wiki/Zodbot#Meeting_Functions.
17:01:53 <zodbot> Useful Commands: #action #agreed #halp #info #idea #link #topic.
17:01:53 <zodbot> The meeting name has been set to 'fesco_(2023-01-03)'
17:01:55 <mhroncok> #meetingname fesco
17:01:55 <zodbot> The meeting name has been set to 'fesco'
17:01:59 <mhroncok> #chair nirik, decathorpe, zbyszek, sgallagh, mhroncok, dcantrell, music, mhayden, Conan_Kudo, Pharaoh_Atem, Son_Goku, King_InuYasha, Sir_Gallantmon, Eighth_Doctor
17:01:59 <zodbot> Current chairs: Conan_Kudo Eighth_Doctor King_InuYasha Pharaoh_Atem Sir_Gallantmon Son_Goku dcantrell decathorpe mhayden mhroncok music nirik sgallagh zbyszek
17:02:08 <dcantrell> .hello2
17:02:08 <mhroncok> #topic init process
17:02:08 <zodbot> dcantrell: dcantrell 'David Cantrell' <dcantrell@redhat.com>
17:02:19 <mhroncok> .hello churchyrad
17:02:20 <zodbot> mhroncok: Sorry, but user 'churchyrad' does not exist
17:02:22 <zbyszek> .hello2
17:02:24 <zodbot> zbyszek: zbyszek 'Zbigniew Jędrzejewski-Szmek' <zbyszek@in.waw.pl>
17:02:36 <mhroncok> .hello churchyard
17:02:37 <zodbot> mhroncok: churchyard 'Miro Hrončok' <mhroncok@redhat.com>
17:02:45 <davide> .hello dcavalca
17:02:46 <zodbot> davide: dcavalca 'Davide Cavalca' <davide@cavalca.name>
17:03:06 <salimma> .hello salimma
17:03:07 <zodbot> salimma: salimma 'Michel Alexandre Salim' <michel@michel-slm.name>
17:03:11 <MichaelCatanzaro> .hello catanzaro
17:03:14 <zodbot> MichaelCatanzaro: catanzaro 'Michael Catanzaro' <mcatanza@redhat.com>
17:03:18 <mhayden> .hi
17:03:19 <zodbot> mhayden: mhayden 'Major Hayden' <mhayden@redhat.com>
17:05:14 <mhroncok> I count 4 FESCo members
17:05:18 <Eighth_Doctor> .hello ngompa
17:05:19 <zodbot> Eighth_Doctor: ngompa 'Neal Gompa' <ngompa13@gmail.com>
17:05:23 <mhroncok> that's 5
17:06:26 <mhroncok> #topic #2923 Re-vote for Change proposal: Add -fno-omit-frame-pointer to default
17:06:26 <mhroncok> compilation flags
17:06:31 <mhroncok> .fesco 2923
17:06:32 <zodbot> mhroncok: Issue #2923: Re-vote for Change proposal: Add -fno-omit-frame-pointer to default compilation flags - fesco - Pagure.io - https://pagure.io/fesco/issue/2923
17:06:51 <mhroncok> I count +4,0,-1 in the ticket
17:07:15 <dcantrell> +1 from me
17:07:19 <mhroncok> is there anybody from fesco who has not voted in the ticket and is ready to be the fifth +1?
17:07:21 <dcantrell> I can also add it to the ticket
17:07:37 <mhroncok> that would be +5
17:08:08 <mhroncok> do we want to discuss this, or approve it like that?
17:08:35 <hergertme> i have to run, but if people have follow up questions i can try to respond later today
17:08:35 * mhroncok feels like the discussion has been exhausted
17:09:02 <zbyszek> hergertme: thanks for joining and the writeup in the ticket.
17:09:27 <hergertme> np
17:09:37 <zbyszek> mhroncok: agreed. Let's just do whatever makes the most sense procedurally. You're the boss today.
17:09:58 <mhroncok> does anybody want to say something?
17:10:12 <mhayden> i'm still very much torn on this one :|
17:10:23 <mhroncok> same for me
17:10:49 <mhroncok> also, should Python opt-out for now?
17:10:50 <Eighth_Doctor> I think this is probably one of the few changes where we've gotten lots of external and internal discussion, but I do really believe that this is going to bring a ton of benefit for developers on Fedora
17:11:04 <Eighth_Doctor> I think it probably makes sense for Python to opt-out
17:11:06 <hergertme> i think that it's worth the engineering effort to make things work without frame pointers, because we'll always have to progress towards that. but i think having them now, until we can have a bulletproof solution in place, is the better move
17:11:34 <hergertme> Eighth_Doctor, i hear upcoming python versions will improve performance wrt frame-pointers, so opt-out not needed
17:11:43 <zbyszek> mhayden: what are your worries?
17:11:48 <hergertme> same goes for boringssl
17:11:49 <mhroncok> future is the key word
17:11:53 <Eighth_Doctor> yeah, Python 3.12 will recommend being compiled with it
17:12:02 <mhayden> i guess i've got quantifiable developer benefits on one hand and unquantified performance impacts on the other 🙃
17:12:11 <Eighth_Doctor> but Python 3.11 is in F38, and it's going to hurt with it on
17:12:26 <hergertme> opt-out for 3.11 makes sense then
17:12:48 <mhayden> i mean, if we have this opt-out capability that is meant to be temporary, i could probably get on board with this
17:13:00 <Eighth_Doctor> fortunately it's very easy to opt-out, just undefine the enablement variable
17:13:02 <davide> we'd started taking a closer look to the Python regression before the break, will follow up on that and see if there's something that can be done in the short term
17:13:13 <hergertme> if it makes people feel any better, macos still has frame-pointers for exactly the reasons we want, and it's why their profilers work ;)
17:13:17 <mhroncok> enablement variable -> RPM macro?
17:13:20 <davide> but otherwise yeah, the point of the opt out is to be able to exclude problematic packages as needed
17:13:24 <Eighth_Doctor> mhroncok: yes
17:13:29 <davide> yes it's a macro
17:13:38 <Eighth_Doctor> hergertme: Windows too with SEH :)
17:13:46 <Eighth_Doctor> Linux is the odd-duck out
17:13:47 <davide> https://src.fedoraproject.org/rpms/redhat-rpm-config/pull-request/230 is the implementation
17:13:47 <mhroncok> anybody else wants to cast their votes?
17:14:04 <mhayden> mhroncok: okay, now that i understand the opt-out process better, i can be a +1 here
17:14:25 <mhayden> mhroncok: i updated the ticket
17:14:38 <mhroncok> I abstain. I see the benefit of this but I worry about the "we'll evaluate this" part. I am afraid we won't :D
17:14:39 <zbyszek> mhayden: My understanding is that that opt-out is always an option. The proposal talks about *default* flags, and packages are (in general) allowed to override their flags if appropriate.
17:14:52 <Eighth_Doctor> yup
17:15:08 <Eighth_Doctor> even before we started conditionalizing flags, this has always been a thing
17:15:27 <hergertme> i think this also puts the burden of proof on removing frame pointers to prove it is faster and worth the cost of developers moving to other platforms to develop software
17:15:27 <zbyszek> (In some cases, we disallow overriding, or at least raise the bar, e.g. for security flags. But I don't think that frame pointers would be covered by such a strong policy.)
17:15:37 <Eighth_Doctor> mhroncok: I'll hold Davide Cavalca and daandemeyer to the fire :)
17:15:43 <mhroncok> I also don't fully understand why we explicitly require 2 Fedora releases for the evaluation
17:16:38 <mhroncok> I count +6,1,-1 now
17:17:01 <mhroncok> with only sgallagh not voting
17:17:04 <zbyszek> mhroncok: we want some time to both figure out why some packages are impacted (e.g. like with Python), but also to give time for the tools to catch up and for people to start making use of this.
17:17:14 <Eighth_Doctor> yup, this :)
17:17:32 <mhroncok> (no need to convince me, the vote is pretty obvious now)
17:17:42 <zbyszek> If the effect is very terrible, we *can* revert earlier. But I think that waiting a bit for things to "settle down" will give as a more reliable result.
17:17:43 <mhroncok> so unless there's something else to discuss
17:18:10 <hergertme> with mass rebuilds happening for gcc/etc, how will we know if regression was from frame-pointers or gcc?
17:18:25 <hergertme> or does that matter?
17:18:34 <Eighth_Doctor> it doesn't really matter that much
17:18:45 <hergertme> cool
17:18:51 <Eighth_Doctor> it's easy enough to retest by flipping things off and on
17:18:57 <Eighth_Doctor> if someone suspects it
17:19:08 <zbyszek> hergertme: first, we would establish whether there is a regression. And if there is, then in which packages. And then you can bisect by channging the flags or the compiler…
17:19:25 <hergertme> sgtm
17:20:38 <mhroncok> #agree APPROVED (+6,1,-1) This Change is implemented for Fedora Linux 38 and we evaluate whether to retain it by Fedora Linux 40. This Change must be implemented in a manner which packages are able to trivially opt-out of retaining frame pointers during compilation so that packages that take larger performance hits can easily revert.
17:20:53 <Eighth_Doctor> 🎉
17:21:02 <zbyszek> Phew.
17:21:05 <hergertme> thanks everyone!
17:21:20 <mhroncok> #info Change owners please coordinate the change with the Python Maintainers before changing the defaults
17:21:46 <mhroncok> #topic Next week's chair
17:21:58 <Eighth_Doctor> I can probably do it
17:22:08 <Eighth_Doctor> let me check real quick
17:22:17 <mhroncok> #action Conan Kudo will probably chair next meeting
17:22:26 <Eighth_Doctor> yeah lgtm
17:22:32 <mhroncok> I'll undo if you cannot
17:22:34 <davide> thanks everyone!
17:23:06 <music[m]> .hello music
17:23:07 <zodbot> music[m]: music 'Benjamin Beasley' <code@musicinmybrain.net>
17:23:10 <mhroncok> #topic Open Floor
17:23:17 <zbyszek> Can we do #2907 now?
17:23:21 <zbyszek> .fesco 2907
17:23:22 <zodbot> zbyszek: Issue #2907: Exception for spliting OpenJDK build and integration - fesco - Pagure.io - https://pagure.io/fesco/issue/2907
17:23:47 <mhroncok> #topic #2907 Exception for spliting OpenJDK build and integration
17:23:53 <mhroncok> .fesco 2907
17:23:54 <zodbot> mhroncok: Issue #2907: Exception for spliting OpenJDK build and integration - fesco - Pagure.io - https://pagure.io/fesco/issue/2907
17:24:08 <mhroncok> 1) I don't believe an exception is needed
17:24:18 <mhroncok> 2) If needed, it would be an FPC exception
17:24:35 <zbyszek> Right.
17:24:53 <zbyszek> Proposal: We confirm that no exception is needed.
17:25:11 <mhroncok> +1 for no exception needed
17:25:13 <zbyszek> +1 from me
17:25:16 <dcantrell> +1
17:25:24 <music[m]> +1
17:25:54 <zbyszek> (FWIW, I also agree with 2, but it's moot.)
17:27:02 <Eighth_Doctor> I'm iffy about it... +0
17:27:34 <mhroncok> as in you don't want them to build it this way or you belive this requires an exception?
17:28:18 <mhroncok> we are at (+4,1,-0) for no exception required
17:28:42 <mhroncok> we also have Stephen +1ing in the ticket, but not exactly for this
17:29:01 <mhroncok> other folks?
17:30:34 <mhayden> count me as a +1
17:31:20 <mhroncok> #agree No exception is needed (+5,1,-0)
17:31:28 <zbyszek> Thanks!
17:31:38 <Eighth_Doctor> the latter
17:31:44 <Eighth_Doctor> but I'm outvoted, so meh
17:31:50 <mhroncok> ack
17:31:52 <mhroncok> #topic Open Floor
17:32:03 <mhroncok> I ahve a question about ticket policy
17:32:06 <mhroncok> *have
17:32:12 <mhroncok> a ticket is opened on day 0
17:32:24 <mhroncok> during the first week, it gains +2
17:32:34 <mhroncok> right after that, at day 9, it gains another +1
17:32:48 <mhroncok> is it immediately approved, or does it wait until day 14?
17:32:58 <mhroncok> my understanding always was that it waits
17:33:09 <mhroncok> but zbyszek seems to think otherwise
17:33:43 <Eighth_Doctor> my understanding is that it's approved when the tickets are being evaluated to be announced
17:33:59 <zbyszek> "Once a ticket has a formal proposal offered, FESCo members have one week to either vote for or against it or else propose the ticket for the next weekly meeting agenda. At the end of that one week, if the proposal has gained at least three "for" votes and no "against" votes, it is approved."
17:34:32 <zbyszek> "If the week passes and the required number of votes have not been met, the proposal is extended by one further week and the minimum requirement becomes a single positive "for" vote."
17:34:46 <zbyszek> OK, so it seems mhroncok was right, and I was wrong.
17:34:50 <mhroncok> so if the ticket is "evaluated to be announced" at day 8 and it has +2 from the first week and the person who evaluates it casts +1, it is approved?
17:35:05 <Eighth_Doctor> that's what I figured it was
17:35:49 <zbyszek> But it seems that we weren't following the rules. We would often close tickets without exactly checking which votes were cast in the first 7 days and which after.
17:36:25 <mhroncok> me has not :)
17:36:40 <mhroncok> anyway, I can take this async
17:36:50 <mhroncok> won't hold you hostage any more
17:37:05 <mhroncok> unless there is some other thing for open floor
17:37:18 <mhayden> 🦗
17:37:18 <zbyszek> Well, if we were stricly following the policy, we would not count the votes cast after 7 days.
17:37:54 <mhroncok> not unless it has been 14
17:37:59 <mhroncok> days, not votes
17:38:02 <zbyszek> Because "it is approved" "at then end of that week" means that whatever the tally is *at that exact time* is the end tally.
17:38:37 <zbyszek> (I'm talking about the case where there were 3..8 positive votes.)
17:38:47 <zbyszek> But meh.
17:38:55 <mhayden> i like your attention to detail, zbyszek -- i completely overlooked the scenario you're talking about
17:39:56 <mhroncok> I'm a bit lost
17:40:01 <mhroncok> sorry
17:41:27 <mhroncok> anyway
17:41:38 <mhroncok> I am going to end this, ok?
17:41:43 <zbyszek> mhroncok: you were right in the ticket, we should wait until 14th day.
17:41:48 <zbyszek> Yes.
17:42:06 <mhroncok> #endmeeting