!kSKIrADSJJlBBppSjf:schreibt.jetzt

NixOS RFCs

47 Members
15 Servers

Load older messages


SenderMessageTime
15 Nov 2023
@mjolnir:nixos.orgNixOS Moderation Botchanged room power levels.18:11:54
@mjolnir:nixos.orgNixOS Moderation Botchanged room power levels.18:11:54
19 Nov 2023
@zxgu:matrix.orgZXGU joined the room.11:02:52
21 Nov 2023
@niksnut:matrix.orgEelco changed their display name from niksnut to Eelco.16:37:41
23 Nov 2023
@niko:conduit.rsnyanbinary
Pre-RFC: Gradual Transition of NixOS x86_64 Baseline to x86-64-v3 with an Intermediate Step to x86-64-v2
Summary

This pre-RFC proposes a phased update of NixOS's x86_64 baseline architecture, transitioning to x86-64-v2 in 2024 and subsequently to x86-64-v3 in 2027. This strategy is designed to gradually optimize NixOS for modern CPU architectures, balancing performance improvements with compatibility and transition challenges.
Background

NixOS currently supports a broad range of x86_64 processors. However, this extensive compatibility limits the utilization of advancements in newer CPU architectures. A gradual transition would allow NixOS to progressively adopt modern CPU features while maintaining broader hardware support.
Phase 1: Transition to x86-64-v2 (2024)
Implementation

Compiler Updates: Shift compiler flags to -march=x86-64-v2, targeting CPUs supporting up to SSE4.2 and SSSE3​.
Evaluation: Assess compatibility and performance impacts on the existing package ecosystem.

Rationale

Intermediate Compatibility: x86-64-v2 offers improved performance over the current baseline while maintaining broader compatibility, including with some older CPUs.
Building Foundations for Phase 3: This phase sets the stage for the subsequent transition to x86-64-v3, allowing time for testing and community adaptation.

Phase 2: Transition to x86-64-v3 (2027)
Implementation

Compiler Adjustments: Update to -march=x86-64-v3, optimizing for CPUs with support for AVX2 and additional bit-manipulation instructions​​.
Legacy Support Strategy: Develop and maintain strategies for supporting systems incompatible with x86-64-v3.

Rationale

Maximizing Performance: The shift to x86-64-v3 aims to fully leverage modern CPU capabilities, significantly boosting performance for various applications​.
Alignment with Industry Trends: The transition aligns NixOS with industry trends towards utilizing more advanced CPU features.

Drawbacks and Challenges

Compatibility

Reduced Compatibility: Each phase might render NixOS incompatible with some older systems, potentially impacting a subset of the user base.
System Types vs. Features: There's an ongoing discussion about whether these architectural levels should be system types or features within NixOS, with implications for package compatibility and system configuration​.

Migration Complexity

Implementation Challenges: The phased approach requires meticulous planning, testing, and execution.
Toolchain and Build System Adjustments: Accommodating new compiler flags and architecture levels in the NixOS toolchain and build systems.

Maintenance Workload

Increased Burden: Switching architectures adds to the maintenance workload.

Contingency Plan

Staged Rollouts with Community Feedback: Implement changes in stages, with active monitoring and adjustments based on feedback.
Enhanced Testing and Validation: Prioritize extensive testing and validation before each phase.
Community-Led Support for Legacy Systems: Develop initiatives for supporting users with older, incompatible hardware.
Transparent Communication: Continuous communication with the community on transition status and issues.
Adaptation Rather Than Reversion: Focus on adapting the approach based on encountered issues.

Alternatives

Single-Step Transition to x86-64-v3: Potential for greater compatibility issues.
Extended Support Periods: Prolonging support for each architecture level for smoother community adaptation.

Unresolved Questions

Community Engagement: How to effectively communicate and implement the transition plan within the NixOS community?
Hardware Compatibility Checks: Mechanisms for users to easily determine the compatibility of their hardware with each new baseline.
Support Mechanisms: Strategies to support users and maintainers during each transition phase, especially those with older hardware.
16:28:07
@niko:conduit.rsnyanbinaryScuffed pre-rfc draft I wrote up16:28:25
@niko:conduit.rsnyanbinaryQuestion is on my contingency plan would this be possible?16:28:42
@piegames:matrix.org@piegames:matrix.orgI think this would be better suited as a forum post for now16:43:13
25 Nov 2023
@niko:conduit.rsnyanbinaryRedacted or Malformed Event21:30:24
@niko:conduit.rsnyanbinaryRedacted or Malformed Event21:30:26
11 Dec 2023
@raitobezarius:matrix.orgraitobezarius joined the room.21:02:20
@infinisil:matrix.orginfinisil joined the room.22:59:41
17 Dec 2023
@dandellion:dodsorf.asDandellion joined the room.23:58:51
23 Dec 2023
@raitobezarius:matrix.orgraitobezarius changed their display name from raitobezarius to raitobezarius (DECT 2128).22:22:23
28 Dec 2023
@piegames:matrix.org@piegames:matrix.org changed their display name from piegames to piegames [☎ 9712].01:33:37
30 Dec 2023
@raitobezarius:matrix.orgraitobezarius changed their display name from raitobezarius (DECT 2128) to raitobezarius.19:52:57
31 Dec 2023
@piegames:matrix.org@piegames:matrix.org changed their display name from piegames [☎ 9712] to piegames.12:40:47
9 Jan 2024
@andar1an:matrix.org@andar1an:matrix.org joined the room.20:30:00
11 Jan 2024
@andar1an:matrix.org@andar1an:matrix.org left the room.11:43:53
29 Feb 2024
@federicodschonborn:matrix.org@federicodschonborn:matrix.org joined the room.02:41:41
1 Mar 2024
@tomberek:matrix.orgtomberek set a profile picture.15:20:40
7 Mar 2024
@qyriad:katesiria.orgQyriad joined the room.17:06:42
10 Mar 2024
@5m5z3q888q5prxkg:chat.lightnovel-dungeon.de@5m5z3q888q5prxkg:chat.lightnovel-dungeon.de joined the room.06:56:54
14 Mar 2024
@federicodschonborn:matrix.org@federicodschonborn:matrix.org left the room.02:04:40
@mjolnir:nixos.orgNixOS Moderation Botchanged room power levels.18:44:17
19 Mar 2024
@mjolnir:nixos.orgNixOS Moderation Botchanged room power levels.00:29:44
21 Mar 2024
@mjolnir:nixos.orgNixOS Moderation Botchanged room power levels.18:02:41
23 Mar 2024
@federicodschonborn:matrix.org@federicodschonborn:matrix.org joined the room.00:39:14
29 Mar 2024
@sebtm:lodere.esSebTM joined the room.05:38:44
9 Apr 2024
@5m5z3q888q5prxkg:chat.lightnovel-dungeon.de@5m5z3q888q5prxkg:chat.lightnovel-dungeon.de changed their profile picture.23:12:30

Show newer messages


Back to Room ListRoom Version: 10