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

ZFS: dmu_object_alloc() serializes object creations

    XMLWordPrintable

Details

    • Improvement
    • Resolution: Fixed
    • Minor
    • None
    • None
    • 9223372036854775807

    Description

      dmu_object_alloc() in ZFS serializes object creations with a mutex:

      dmu_object_alloc(objset_t *os, dmu_object_type_t ot,
                        int dmu_object_type_t bonustype,
                        int bonuslen, dmu_tx_t *tx)
      {
      	uint64_t object;
      	uint64_t L2_dnode_count = DNODES_PER_BLOCK <<
      	    (DMU_META_DNODE(os)->dn_indblkshift - SPA_BLKPTRSHIFT);
      	dnode_t *dn = NULL;
      	int restarted = B_FALSE;
      
      	mutex_enter(&os->os_obj_lock);
      

      this can be a bottleneck holding metadata performance much lower compared to ldiskfs where inode creation is more concurrent.

      Attachments

        Issue Links

          Activity

            People

              bzzz Alex Zhuravlev
              bzzz Alex Zhuravlev
              Votes:
              0 Vote for this issue
              Watchers:
              6 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: