Uploaded image for project: 'Qpid Proton'
  1. Qpid Proton
  2. PROTON-2328

epoll proactor bug in tracking previous task used by a thread

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Major
    • Resolution: Fixed
    • proton-c-0.33.0
    • proton-c-0.34.0
    • proton-c
    • None
    • linux

    Description

      If an unassigned (ready) task and a free thread were each most recently working together, the epoll proactor tries to reassign them together for the next processing of the task, so that a warm memory cache may help performance.

      One half of this pairing information is in tslot_t->prev_task. This value is always set to NULL, defeating the warm cache strategy. In unassign_thread() prev_task should be set from the local variable that contains the correct value and not the member variable tslot_t->task which is zeroed on an earlier line.

      Attachments

        Activity

          People

            cliffjansen Clifford Jansen
            cliffjansen Clifford Jansen
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: