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

add contention check and accounting for IBITS locks

Details

    • Improvement
    • Resolution: Won't Do
    • Minor
    • None
    • None
    • None
    • 9223372036854775807

    Description

      Contention check is needed for IBITS locks too mainly for DOM locks but it also can be used in other cases like LU-9133 describes

      Attachments

        Issue Links

          Activity

            [LU-11435] add contention check and accounting for IBITS locks

            Lockless code is outdated, see LU-14838

            tappro Mikhail Pershin added a comment - Lockless code is outdated, see LU-14838
            green Oleg Drokin added a comment -

            This was observed once on Jan 15th on master-next:

            [40346.537877] Lustre: DEBUG MARKER: == sanity-dom test fsx: Dual-mount fsx with DoM files ================================================ 16:43:16 (1547588596)
            [40347.509286] LustreError: 11-0: lustre-MDT0000-mdc-ffff8802d13c5800: operation ldlm_enqueue to node 0@lo failed: rc = -87
            [40347.533755] LustreError: 17033:0:(osc_cache.c:1147:osc_extent_make_ready()) ASSERTION( last->oap_page_off + last_oap_count <= ((1UL) << 12) ) failed: 
            [40347.536029] LustreError: 17033:0:(osc_cache.c:1147:osc_extent_make_ready()) LBUG
            [40347.538039] Pid: 17033, comm: fsx 3.10.0-7.6-debug #1 SMP Wed Nov 7 21:55:08 EST 2018
            [40347.543706] Call Trace:
            [40347.544629]  [<ffffffffa02177dc>] libcfs_call_trace+0x8c/0xc0 [libcfs]
            [40347.546434]  [<ffffffffa021788c>] lbug_with_loc+0x4c/0xa0 [libcfs]
            [40347.547963]  [<ffffffffa07f739e>] osc_extent_make_ready+0xc3e/0xe70 [osc]
            [40347.549722]  [<ffffffffa07f9a0f>] osc_io_unplug0+0xd9f/0x1920 [osc]
            [40347.550987]  [<ffffffffa07fe540>] osc_cache_writeback_range+0xc20/0x1260 [osc]
            [40347.553316]  [<ffffffffa08c41b7>] mdc_lock_flush+0x2e7/0x3f0 [mdc]
            [40347.555112]  [<ffffffffa08c42fd>] mdc_lock_lockless_cancel+0x3d/0xf0 [mdc]
            [40347.556897]  [<ffffffffa0398e65>] cl_lock_cancel+0x75/0x160 [obdclass]
            [40347.558872]  [<ffffffffa08ef659>] lov_lock_cancel+0x99/0x190 [lov]
            [40347.560260]  [<ffffffffa0398e65>] cl_lock_cancel+0x75/0x160 [obdclass]
            [40347.561984]  [<ffffffffa0399352>] cl_lock_release+0x52/0x140 [obdclass]
            [40347.563531]  [<ffffffffa039cd51>] cl_io_unlock+0x131/0x280 [obdclass]
            [40347.564861]  [<ffffffffa039d7a5>] cl_io_loop+0xe5/0x1c0 [obdclass]
            [40347.566183]  [<ffffffffa14b4b7b>] ll_file_io_generic+0x63b/0xcb0 [lustre]
            [40347.567974]  [<ffffffffa14b5761>] ll_file_aio_write+0x391/0x840 [lustre]
            [40347.569329]  [<ffffffffa14b5cb4>] ll_file_write+0xa4/0x170 [lustre]
            [40347.570629]  [<ffffffff812362bd>] vfs_write+0xbd/0x1e0
            [40347.572556]  [<ffffffff812370bf>] SyS_write+0x7f/0xf0
            [40347.585137]  [<ffffffff817c4e15>] system_call_fastpath+0x1c/0x21
            [40347.587908]  [<ffffffffffffffff>] 0xffffffffffffffff
            
            green Oleg Drokin added a comment - This was observed once on Jan 15th on master-next: [40346.537877] Lustre: DEBUG MARKER: == sanity-dom test fsx: Dual-mount fsx with DoM files ================================================ 16:43:16 (1547588596) [40347.509286] LustreError: 11-0: lustre-MDT0000-mdc-ffff8802d13c5800: operation ldlm_enqueue to node 0@lo failed: rc = -87 [40347.533755] LustreError: 17033:0:(osc_cache.c:1147:osc_extent_make_ready()) ASSERTION( last->oap_page_off + last_oap_count <= ((1UL) << 12) ) failed: [40347.536029] LustreError: 17033:0:(osc_cache.c:1147:osc_extent_make_ready()) LBUG [40347.538039] Pid: 17033, comm: fsx 3.10.0-7.6-debug #1 SMP Wed Nov 7 21:55:08 EST 2018 [40347.543706] Call Trace: [40347.544629] [<ffffffffa02177dc>] libcfs_call_trace+0x8c/0xc0 [libcfs] [40347.546434] [<ffffffffa021788c>] lbug_with_loc+0x4c/0xa0 [libcfs] [40347.547963] [<ffffffffa07f739e>] osc_extent_make_ready+0xc3e/0xe70 [osc] [40347.549722] [<ffffffffa07f9a0f>] osc_io_unplug0+0xd9f/0x1920 [osc] [40347.550987] [<ffffffffa07fe540>] osc_cache_writeback_range+0xc20/0x1260 [osc] [40347.553316] [<ffffffffa08c41b7>] mdc_lock_flush+0x2e7/0x3f0 [mdc] [40347.555112] [<ffffffffa08c42fd>] mdc_lock_lockless_cancel+0x3d/0xf0 [mdc] [40347.556897] [<ffffffffa0398e65>] cl_lock_cancel+0x75/0x160 [obdclass] [40347.558872] [<ffffffffa08ef659>] lov_lock_cancel+0x99/0x190 [lov] [40347.560260] [<ffffffffa0398e65>] cl_lock_cancel+0x75/0x160 [obdclass] [40347.561984] [<ffffffffa0399352>] cl_lock_release+0x52/0x140 [obdclass] [40347.563531] [<ffffffffa039cd51>] cl_io_unlock+0x131/0x280 [obdclass] [40347.564861] [<ffffffffa039d7a5>] cl_io_loop+0xe5/0x1c0 [obdclass] [40347.566183] [<ffffffffa14b4b7b>] ll_file_io_generic+0x63b/0xcb0 [lustre] [40347.567974] [<ffffffffa14b5761>] ll_file_aio_write+0x391/0x840 [lustre] [40347.569329] [<ffffffffa14b5cb4>] ll_file_write+0xa4/0x170 [lustre] [40347.570629] [<ffffffff812362bd>] vfs_write+0xbd/0x1e0 [40347.572556] [<ffffffff812370bf>] SyS_write+0x7f/0xf0 [40347.585137] [<ffffffff817c4e15>] system_call_fastpath+0x1c/0x21 [40347.587908] [<ffffffffffffffff>] 0xffffffffffffffff

            Mike Pershin (mpershin@whamcloud.com) uploaded a new patch: https://review.whamcloud.com/33244
            Subject: LU-11435 mdt: check lock contention for MDT IO locks
            Project: fs/lustre-release
            Branch: master
            Current Patch Set: 1
            Commit: 4325cbead61c1317f56b1dbc01e1dceb807244ea

            gerrit Gerrit Updater added a comment - Mike Pershin (mpershin@whamcloud.com) uploaded a new patch: https://review.whamcloud.com/33244 Subject: LU-11435 mdt: check lock contention for MDT IO locks Project: fs/lustre-release Branch: master Current Patch Set: 1 Commit: 4325cbead61c1317f56b1dbc01e1dceb807244ea

            Mike Pershin (mpershin@whamcloud.com) uploaded a new patch: https://review.whamcloud.com/33243
            Subject: LU-11435 ldlm: add contention check for IBITS locks
            Project: fs/lustre-release
            Branch: master
            Current Patch Set: 1
            Commit: 5a3e446bec6714c1393ac88cfff42a70545d2c7e

            gerrit Gerrit Updater added a comment - Mike Pershin (mpershin@whamcloud.com) uploaded a new patch: https://review.whamcloud.com/33243 Subject: LU-11435 ldlm: add contention check for IBITS locks Project: fs/lustre-release Branch: master Current Patch Set: 1 Commit: 5a3e446bec6714c1393ac88cfff42a70545d2c7e

            this feature is also needed to properly switch client IO to lockless mode when needed.

            tappro Mikhail Pershin added a comment - this feature is also needed to properly switch client IO to lockless mode when needed.

            People

              tappro Mikhail Pershin
              tappro Mikhail Pershin
              Votes:
              0 Vote for this issue
              Watchers:
              4 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: