Currently the RB-Tree zone cache is fast and flexible. It does use a rather largish amount of ram. This model reduces the ram required from 120 bytes per zone to 16 bytes per zone with a moderate transformation of the blk_zone_lookup() api. This model is predicated on the belief that most variations on zoned media will follow a pattern of using collections of same sized zones on a single device. Similar to the pattern of erase blocks on flash devices being progressivly larger 16K, 64K, ... The goal is to be able to build a descriptor which is both memory efficient, performant, and flexible. Shaun Tancheff (2): Move ZBC core setup to sd_zbc Migrate zone cache from RB-Tree to arrays of descriptors block/blk-core.c | 2 +- block/blk-sysfs.c | 31 +- block/blk-zoned.c | 103 +++-- drivers/scsi/sd.c | 66 +-- drivers/scsi/sd.h | 20 +- drivers/scsi/sd_zbc.c | 1037 +++++++++++++++++++++++++++++------------------- include/linux/blkdev.h | 82 +++- 7 files changed, 759 insertions(+), 582 deletions(-) -- 2.9.3 -- To unsubscribe from this list: send the line "unsubscribe linux-scsi" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html