[LU-7898] remove unnecessary declarations from osd-zfs Created: 22/Mar/16 Updated: 02/Feb/17 Resolved: 10/Sep/16 |
|
| Status: | Resolved |
| Project: | Lustre |
| Component/s: | None |
| Affects Version/s: | None |
| Fix Version/s: | Lustre 2.9.0 |
| Type: | Improvement | Priority: | Minor |
| Reporter: | Alex Zhuravlev | Assignee: | Alex Zhuravlev |
| Resolution: | Fixed | Votes: | 0 |
| Labels: | None | ||
| Issue Links: |
|
||||||||||||
| Rank (Obsolete): | 9223372036854775807 | ||||||||||||
| Description |
|
in contrast with ldiskfs, declarations in ZFS can be very expensive (even more expensive than execution itself). there are number of declarations in osd-zfs which can be removed safely. |
| Comments |
| Comment by Gerrit Updater [ 23/Mar/16 ] |
|
Alex Zhuravlev (alexey.zhuravlev@intel.com) uploaded a new patch: http://review.whamcloud.com/19101 |
| Comment by Alex Zhuravlev [ 24/Mar/16 ] |
|
I've took to-write and to-overwrite estimations for createmany -m and createmany -o, in Kbs. the sum of these estimations then used to reserve space in TXG and ARC. clean master:
|
| Comment by Alex Zhuravlev [ 27/Mar/16 ] |
|
this is how credits are distributed for a single-stripe file creation with this patch, in Kbs: 8 – 2w=3568 + 2ov=1040 = 4608 it's clear that ZAP's related credits consume the majority of the whole reservation. *towrite += (3 + (add ? 4 : 0)) * SPA_OLD_MAXBLOCKSIZE; while by default ZAP's blocksize: int fzap_default_block_shift = 14; /* 16k blocksize */ unlink is still rather heavy due to llog: with dnode accounting moved to ZFS and zap blocksize=16k that would be 2774K. |
| Comment by Alex Zhuravlev [ 27/Mar/16 ] |
|
llog is still very expensive.. with the patch a single record needs 4576K reserved: with dnode accounting moved into ZFS and zap blocksize=16K we can shrink it to 2016K, |
| Comment by Gerrit Updater [ 02/Sep/16 ] |
|
Oleg Drokin (oleg.drokin@intel.com) merged in patch http://review.whamcloud.com/19101/ |
| Comment by Peter Jones [ 02/Sep/16 ] |
|
Landed for 2.9 |
| Comment by Gerrit Updater [ 02/Sep/16 ] |
|
Oleg Drokin (oleg.drokin@intel.com) uploaded a new patch: http://review.whamcloud.com/22293 |
| Comment by Gerrit Updater [ 02/Sep/16 ] |
|
Oleg Drokin (oleg.drokin@intel.com) merged in patch http://review.whamcloud.com/22293/ |
| Comment by Gerrit Updater [ 02/Sep/16 ] |
|
Alex Zhuravlev (alexey.zhuravlev@intel.com) uploaded a new patch: http://review.whamcloud.com/22296 |
| Comment by Andreas Dilger [ 02/Sep/16 ] |
|
Patch was reverted due to build issues. |
| Comment by Gerrit Updater [ 10/Sep/16 ] |
|
Oleg Drokin (oleg.drokin@intel.com) merged in patch http://review.whamcloud.com/22296/ |
| Comment by Peter Jones [ 10/Sep/16 ] |
|
Landed for 2.9 |
| Comment by nasf (Inactive) [ 02/Feb/17 ] |
|
Jenkins build failure: 13:39:05 /tmp/rpmbuild-lustre-jenkins-hHtDucWf/BUILD/lustre-2.7.19.8/lustre/osd-zfs/osd_oi.c: In function 'osd_oi_create': 13:39:05 /tmp/rpmbuild-lustre-jenkins-hHtDucWf/BUILD/lustre-2.7.19.8/lustre/osd-zfs/osd_oi.c:179: error: 'DN_MAX_BONUSLEN' undeclared (first use in this function) 13:39:05 /tmp/rpmbuild-lustre-jenkins-hHtDucWf/BUILD/lustre-2.7.19.8/lustre/osd-zfs/osd_oi.c:179: error: (Each undeclared identifier is reported only once 13:39:05 /tmp/rpmbuild-lustre-jenkins-hHtDucWf/BUILD/lustre-2.7.19.8/lustre/osd-zfs/osd_oi.c:179: error: for each function it appears in.) 13:39:05 make[7]: *** [/tmp/rpmbuild-lustre-jenkins-hHtDucWf/BUILD/lustre-2.7.19.8/lustre/osd-zfs/osd_oi.o] Error 1 https://build.hpdd.intel.com/job/lustre-b_ieel-reviews/4526/ |