On 2022-03-09 05:09, Damien Le Moal wrote: > On 3/9/22 01:53, Pankaj Raghav wrote: >> power_of_2(PO2) emulation support is added to the null blk device to >> measure performance. >> >> Callbacks are added in the hotpaths that require PO2 emulation specific >> behaviour to reduce the impact on exisiting path. >> >> The power_of_2 emulation support is wired up for both the request and >> the bio queue mode and it is automatically enabled when the given zone >> size is non-power_of_2. > > This does not make any sense. Why would you want to add power of 2 zone > size emulation to nullblk ? Just set the zone size to be a power of 2... > > If this is for test purpose, then use QEMU. These changes make no sense > to me here. > I see your point but this was mainly added to measure the performance impact. I ran the conformance test with different configurations in QEMU but I don't think QEMU would be a preferred option to measure performance, especially, if we want to account for changes we did to the hot path with a indirection. As ZNS drives are not available in retail stores, this patch also provides a way for the community to reproduce the performance analysis that we did without needing a real device. > A change that would make sense in the context of this series is to allow > for setting a zoned null_blk device zone size to a non power of 2 size. This is not possible with the block layer expecting the zone sizes to be po2. A null blk device with non po2 zone size will only work with the emulation that is added as a part of this patch. As I said before, once we relax the block layer requirement, then we could allow non po2 zone sizes without a lot of changes to the null blk device. > But this series does not actually deal with that. So do not touch this > driver please. > If you really think it doesn't belong here, then I can take it out in the next revision. -- Regards, Pankaj