Uploaded image for project: 'Lustre'
  1. Lustre
  2. LU-13005

Remove LNet event queuing subsystem (lib-eq)

    XMLWordPrintable

Details

    • Improvement
    • Status: Resolved
    • Minor
    • Resolution: Fixed
    • None
    • Lustre 2.14.0
    • None
    • 9223372036854775807

    Description

      lib-eq provides a "event queue' which allows one thread to add events to a queue, and another to remove them, or wait for more.

      Such a  queue would be useful if LNet were accessed from user-space: allowing user-space to pluck events of a queue with minimal interaction with the kernel would be valuable.  But lnet/eq is never used like that.

      Almost all users for LNet/eq allocate a queue with zero slots and provide a call-back to be called for each event.  This is a sensible approach when producer and consumer are in the same address space (i.e. both in the kernel).

      The one exception is lnet_ping() which allocated a 2-element queue.  lnet_ping() can easily be re-written to use a call-back, with a reduction in code size.

      So let's remove the whole EQ subsystem and just use callbacks everywhere.

       

      Attachments

        Issue Links

          Activity

            People

              neilb Neil Brown
              neilb Neil Brown
              Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: