On Thu, 2023-05-11 at 15:17 +0200, Juergen Gross wrote: > > > > We know for certain that sizeof(*sshdr) is 8 bytes, and will most > > probably remain so. Thus > > > > memset(sshdr, 0, sizeof(*sshdr)) > > > > would result in more efficient code. > > I fail to see why zeroing a single byte would be less efficient than > zeroing > a possibly unaligned 8-byte area. I don't think it can be unaligned. gcc seems to think the same. It compiles the memset(sshdr, ...) in scsi_normalize_sense() into a single instruction on x86_64. 0xffffffff8177e9d0 <scsi_normalize_sense>: nopl 0x0(%rax,%rax,1) [FTRACE NOP] 0xffffffff8177e9d5 <scsi_normalize_sense+5>: test %rdi,%rdi 0xffffffff8177e9d8 <scsi_normalize_sense+8>: movq $0x0,(%rdx) Martin