Project Description

multipathd is multi-threaded, but it uses a single lock that essentially kills most benefits of the additional threads. Also, it busy-waits or sleeps in various places, in part with locks held, which is of course very bad for a program with lots of asynchronous things going on.

Goal for this Hackweek

Eliminate busy-waiting. Assess which of the various threads are actually necessary. Rework the path checker to be truly asynchronous. Also, re-think configuration changes (reconfigure). Currently this works with user-space RCU, but I believe that's not optimal. It's dangerous to continue servicing uevents and path checkers while a configuration change is pending.

Looking for hackers with the skills:

c multipath storage

This project is part of:

Hack Week 20

Activity

  • about 3 years ago: mkubecek liked this project.
  • about 3 years ago: mwilck added keyword "multipath" to this project.
  • about 3 years ago: mwilck added keyword "storage" to this project.
  • about 3 years ago: mwilck added keyword "c" to this project.
  • about 3 years ago: mwilck originated this project.

  • Comments

    Be the first to comment!

    Similar Projects

    Extend GObject based introspectable API to libzypp by zbenjamin

    [comment]: # (Please use the project descriptio...


    The Missing Middle: Add an intermediate brightness setting for auxiliary LEDs in Andúril 2 by gkenion

    [comment]: # (Please use the project descriptio...


    80-bit floats support on x86_64 for Valgrind by mfranc

    [comment]: # (Please use the project descriptio...


    Deep Packet Inspection: compare the performance between libnetfilter_queue, NF_HOOK and eBPF XDP by nguyens

    Deep Packet Inspection: compare the performan...


    Vulkan Widget for GTK by yudaike

    [comment]: # (Please use the project descriptio...