Pack zrlock_t by 8 bytes

On FreeBSD this reduces this structure size from 64 to 56 bytes.
dnode_handle_t respectively reduces from 72 to 64 bytes. It sounds
like a waste to need 72 bytes to be able to relocate 808 bytes of
dnode_t, which relocation on FreeBSD is not even supported.

Reviewed-by: Ryan Moeller <ryan@iXsystems.com>
Reviewed-by: Richard Yao <richard.yao@alumni.stonybrook.edu>
Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov>
Signed-off-by:  Alexander Motin <mav@FreeBSD.org>
Sponsored by:   iXsystems, Inc.
Closes #14317
This commit is contained in:
Alexander Motin 2023-01-05 12:31:55 -05:00 committed by Brian Behlendorf
parent edaa250bb3
commit c8d36e2192
1 changed files with 1 additions and 2 deletions

View File

@ -34,9 +34,8 @@ extern "C" {
typedef struct zrlock { typedef struct zrlock {
kmutex_t zr_mtx; kmutex_t zr_mtx;
volatile int32_t zr_refcount;
kcondvar_t zr_cv; kcondvar_t zr_cv;
uint16_t zr_pad; volatile int32_t zr_refcount;
#ifdef ZFS_DEBUG #ifdef ZFS_DEBUG
kthread_t *zr_owner; kthread_t *zr_owner;
const char *zr_caller; const char *zr_caller;