Re: [PATCH v2 26/28] block: Remove zone write locking

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 3/24/24 21:44, Damien Le Moal wrote:
Zone write locking is now unused and replaced with zone write plugging.
Remove all code that was implementing zone write locking, that is, the
various helper functions controlling request zone write locking and
the gendisk attached zone bitmaps.

The "zone_wlock" mq-debugfs entry that was listing zones that are
write-locked is replaced with the zone_wplugs entry which lists
the zones that currently have a write plug allocated. The information
provided is: the zone number, the zone write plug flags, the zone write
plug write pointer offset and the number of BIOs currently waiting for
execution in the zone write plug BIO list.

Shouldn't this patch be split - one patch that adds the new debugfs
entry and a second patch that removes the code that is no longer used?

+	rcu_read_lock();
+	for (i = 0; i < disk_zone_wplugs_hash_size(disk); i++) {
+		hlist_for_each_entry_rcu(zwplug,
+					 &disk->zone_wplugs_hash[i], node) {
+			spin_lock_irqsave(&zwplug->lock, flags);
+			seq_printf(m, "%u 0x%x %u %u %u\n",
+				   zwplug->zone_no,
+				   zwplug->flags,
+				   atomic_read(&zwplug->ref),
+				   zwplug->wp_offset,
+				   bio_list_size(&zwplug->bio_list));
+			spin_unlock_irqrestore(&zwplug->lock, flags);
+		}
+	}
+	rcu_read_unlock();

Can calling seq_printf() with interrupts disabled cause interrupt
latency issues? Has it been considered to collect the information that
will be printed with interrupts disabled and to re-enable interrupts
before seq_printf() is called?

Thanks,

Bart.




[Index of Archives]     [Linux RAID]     [Linux SCSI]     [Linux ATA RAID]     [IDE]     [Linux Wireless]     [Linux Kernel]     [ATH6KL]     [Linux Bluetooth]     [Linux Netdev]     [Kernel Newbies]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Device Mapper]

  Powered by Linux