Upgrade to Pro — share decks privately, control downloads, hide ads and more …

How is the Fedora Kernel Different?

How is the Fedora Kernel Different?

Presented at Flock 2014 in Prague, Czech Republic.

Abstract:
This talk will show you the configuration differences between the kernels of mainstream Linux distributions (e.g. Fedora, Ubuntu, OpenSUSE, Gentoo and Arch) and their effect on various aspects of your everyday computing. We'll also discuss how these configurations affect other areas, i.e. Cloud, Server, etc.

Levente Kurusa

August 06, 2014
Tweet

More Decks by Levente Kurusa

Other Decks in Technology

Transcript

  1. How is the Fedora kernel
    different?
    Or is it not?
    Presented by:
    Levente Kurusa
    Software Engineering Intern
    Red Hat
    08/06/2014 Prague, Flock 2014
    Licensed under CC-BY-SA.

    View full-size slide

  2. Topics
    # 1 Introduction
    # 2 Extra patches
    # 3 Configuration

    View full-size slide

  3. Introduction

    View full-size slide

  4. Disclaimer
    # 1 These don't make a distribution
    better than an other one.
    # 2 No, really.
    # 3 It is just an overview.

    View full-size slide

  5. What is this not
    # 1 A list of differences as output by
    the tool diff.
    # 2 A list of ALL differences.
    # 3 A way to determine who is better

    View full-size slide

  6. Distributions
    # 1 Fedora
    # 2 OpenSUSE
    # 3 Ubuntu
    # 4 Arch Linux

    View full-size slide

  7. Target users
    Arch Linux => tinkers, developers
    Ubuntu => Desktop (and Server)
    Fedora => “Bleeding” users
    OpenSUSE => “Safely bleeding” users

    View full-size slide

  8. Extra patches

    View full-size slide

  9. Arch Linux
    # 1 (EFI PE/COFF stub extension)
    # 2 kernel message verbosity

    View full-size slide

  10. Fedora
    # 1 ACPI quirks for various devices
    # 2 SysRQ for disabling SecureBoot
    # 3 DRM fixes

    View full-size slide

  11. OpenSUSE
    # 1 RichACL!
    Rich set of extra ACLs. (ext4)
    # 2 OverlayFS
    Combines two filesystems
    # 3 Xen and Apparmor patches

    View full-size slide

  12. Configurations

    View full-size slide

  13. LSM
    # 1 SELinux (MAC)
    # 2 AppArmor (Path-based)
    # 3 TOMOYO (MAC)
    # 4 Smack (Path-based)

    View full-size slide

  14. Memory allocator
    This hands out memory chunks.
    Possible choices:
    # 1 SLAB (legacy)
    # 2 SLUB

    View full-size slide

  15. Differences
    Fedora: SLUB
    OpenSUSE: SLAB
    Arch Linux: SLUB
    Ubuntu: SLUB
    SLAB has been here for a longer time,
    SLUB is generally accepted as the better
    choice

    View full-size slide

  16. Schedulers
    Linux ships the following:
    # 1 SCHED_FIFO
    # 2 SCHED_BATCH
    # 3 SCHED_IDLE
    # 4 SCHED_OTHER (=> CFS)
    # 5 SCHED_RR

    View full-size slide

  17. Sched frequency
    OpenSUSE: HZ_1000
    Ubuntu: HZ_250
    Fedora: HZ_1000
    Arch Linux: HZ_300

    View full-size slide

  18. Kernel preemption
    Allows preemption (scheduling) in kernel
    space.
    # 1 PREEMPT_NONE
    # 2 PREEMPT_VOLUNTARY
    # 3 PREEMPT

    View full-size slide

  19. Differences
    OpenSUSE: Full kernel preemption
    Fedora: Voluntary!
    Arch Linux: Full kernel preemption
    Ubuntu: Voluntary!

    View full-size slide

  20. CPUFreq
    Controls the CPU's frequency
    # 1 Performance
    # 2 Userspace
    # 3 Powersave
    # 4 Conservative

    View full-size slide

  21. Default governor
    Fedora: ONDEMAND
    OpenSUSE: ONDEMAND
    Ubuntu: PERFORMANCE
    Arch Linux: ONDEMAND

    View full-size slide

  22. Why configuration sucks?
    Yes, this is a pet peeve of mine. Our configuration phase is
    absolutely *the* single worst part of the kernel, [...]
    Christ, even *I* find our configuration process tedious. I can only
    imagine how many casual users we scare away.
    This cavalier attitude about asking people idiotic questions MUST
    STOP. Seriously. This is not some "small harmless bug". This mindset
    of crazy questions is a major issue!
    - Linus Torvalds

    View full-size slide

  23. Questions?
    Licensed under CC-BY-SA
    Levente Kurusa

    @ilevex
    +LeventeKurusa
    http://ilevex.eu/
    Have a wonderful Flock 2014!

    View full-size slide