Details

    Description

      This will allow us to reduce critical section protected by trx_sys.mutex:
      1. no need to maintain global m_free list
      2. eliminate if (trx->read_view == NULL) condition

      On x86_64 sizeof(Readview) is 144 mostly due to padding, sizeof(trx_t) with ReadView is 1200.

      Attachments

        Issue Links

          Activity

            svoj Sergey Vojtovich created issue -
            svoj Sergey Vojtovich made changes -
            Field Original Value New Value
            Epic Link MDEV-14442 [ 64369 ]
            svoj Sergey Vojtovich made changes -
            Status Open [ 1 ] Confirmed [ 10101 ]
            svoj Sergey Vojtovich added a comment - marko , please review https://github.com/MariaDB/server/commit/9f72798a8fe27fb06ceeb2f543c186ee8faa987a
            svoj Sergey Vojtovich made changes -
            Assignee Sergey Vojtovich [ svoj ] Marko Mäkelä [ marko ]
            Status Confirmed [ 10101 ] In Review [ 10002 ]
            svoj Sergey Vojtovich made changes -
            Assignee Marko Mäkelä [ marko ] Sergey Vojtovich [ svoj ]
            svoj Sergey Vojtovich made changes -
            Status In Review [ 10002 ] Stalled [ 10000 ]

            Pushed

            commit 8e1adff95993effaa22129ff34b4570b755434ac
            Author: Sergey Vojtovich <svoj@mariadb.org>
            Date:   Sun Jan 21 14:10:06 2018 +0400
             
                Simplified away ReadView::complete()
             
                It was supposed to be called out of mutex, but nevertheless was called
                under trx_sys.mutex for normal threads adding one extra condtion in
                critical section.
             
            commit 4dc30f3c170b9deab1ff0b472930baba5c65b01c
            Author: Sergey Vojtovich <svoj@mariadb.org>
            Date:   Sat Jan 20 17:45:42 2018 +0400
             
                MDEV-15019 - InnoDB: store ReadView on trx
             
                This will allow us to reduce critical section protected by
                trx_sys.mutex:
                - no need to maintain global m_free list
                - eliminate if (trx->read_view == NULL) condition.
             
                On x86_64 sizeof(Readview) is 144 mostly due to padding, sizeof(trx_t)
                with ReadView is 1200.
             
                Also don't close ReadView for read-write transactions, just mark it
                closed similarly to read-only.
             
                Clean-up: removed n_prepared_recovered_trx and n_prepared_trx, which
                accidentally re-appeared after some rebase.
            

            svoj Sergey Vojtovich added a comment - Pushed commit 8e1adff95993effaa22129ff34b4570b755434ac Author: Sergey Vojtovich <svoj@mariadb.org> Date: Sun Jan 21 14:10:06 2018 +0400   Simplified away ReadView::complete()   It was supposed to be called out of mutex, but nevertheless was called under trx_sys.mutex for normal threads adding one extra condtion in critical section.   commit 4dc30f3c170b9deab1ff0b472930baba5c65b01c Author: Sergey Vojtovich <svoj@mariadb.org> Date: Sat Jan 20 17:45:42 2018 +0400   MDEV-15019 - InnoDB: store ReadView on trx   This will allow us to reduce critical section protected by trx_sys.mutex: - no need to maintain global m_free list - eliminate if (trx->read_view == NULL) condition.   On x86_64 sizeof(Readview) is 144 mostly due to padding, sizeof(trx_t) with ReadView is 1200.   Also don't close ReadView for read-write transactions, just mark it closed similarly to read-only.   Clean-up: removed n_prepared_recovered_trx and n_prepared_trx, which accidentally re-appeared after some rebase.
            svoj Sergey Vojtovich made changes -
            Fix Version/s 10.3.5 [ 22905 ]
            Fix Version/s 10.3 [ 22126 ]
            Resolution Fixed [ 1 ]
            Status Stalled [ 10000 ] Closed [ 6 ]
            svoj Sergey Vojtovich made changes -
            serg Sergei Golubchik made changes -
            Workflow MariaDB v3 [ 84984 ] MariaDB v4 [ 133441 ]

            People

              svoj Sergey Vojtovich
              svoj Sergey Vojtovich
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved:

                Git Integration

                  Error rendering 'com.xiplink.jira.git.jira_git_plugin:git-issue-webpanel'. Please contact your Jira administrators.