Uploaded image for project: 'MariaDB Server'
  1. MariaDB Server
  2. MDEV-21501

AIO release IO slots early in io_callback, to prevent stalls

    XMLWordPrintable

    Details

      Description

      In rare situations, it is possible, that multiple slow IO callbacks will prevent submitting new IO.

      if all IO threads are callbacks are waiting (i.e number of active write and read callbacks reached maximum specified by innodb_read/write_io_threads, and all IO "slots" ((read-_threads+write_threads)*256) were submitted, then a thread would stuck waiting for a free slot.

      Thus, it makes sense to release this slot earlier, prior to calling user callback. A downside is that we'd have to copy userdata (currently, 40 bytes) before releasing the slot.

        Attachments

          Activity

            People

            Assignee:
            wlad Vladislav Vaintroub
            Reporter:
            wlad Vladislav Vaintroub
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

              Dates

              Created:
              Updated: