Commit 6c002921 authored by Linus Torvalds's avatar Linus Torvalds
Browse files

Merge tag 'for-5.13/block-2021-04-27' of git://git.kernel.dk/linux-block

Pull block updates from Jens Axboe:
 "Pretty quiet round this time, which is nice. In detail:

   - Series revamping bounce buffer support (Christoph)

   - Dead code removal (Christoph, Bart)

   - Partition iteration revamp, now using xarray (Christoph)

   - Passthrough request scheduler improvements (Lin)

   - Series of BFQ improvements (Paolo)

   - Fix ioprio task iteration (Peter)

   - Various little tweaks and fixes (Tejun, Saravanan, Bhaskar, Max,
     Nikolay)"

* tag 'for-5.13/block-2021-04-27' of git://git.kernel.dk/linux-block: (41 commits)
  blk-iocost: don't ignore vrate_min on QD contention
  blk-mq: Fix spurious debugfs directory creation during initialization
  bfq/mq-deadline: remove redundant check for passthrough request
  blk-mq: bypass IO scheduler's limit_depth for passthrough request
  block: Remove an obsolete comment from sg_io()
  block: move bio_list_copy_data to pktcdvd
  block: remove zero_fill_bio_iter
  block: add queue_to_disk() to get gendisk from request_queue
  block: remove an incorrect check from blk_rq_append_bio
  block: initialize ret in bdev_disk_changed
  block: Fix sys_ioprio_set(.which=IOPRIO_WHO_PGRP) task iteration
  block: remove disk_part_iter
  block: simplify diskstats_show
  block: simplify show_partition
  block: simplify printk_all_partitions
  block: simplify partition_overlaps
  block: simplify partition removal
  block: take bd_mutex around delete_partitions in del_gendisk
  block: refactor blk_drop_partitions
  block: move more syncing and invalidation to delete_partition
  ...
parents 16b3d0cf f46ec84b
Loading
Loading
Loading
Loading
+1 −25
Original line number Diff line number Diff line
@@ -251,8 +251,6 @@ BT-445C VLB Fast SCSI-2
BT-747C	    EISA	Fast SCSI-2
BT-757C	    EISA	Wide Fast SCSI-2
BT-757CD    EISA	Wide Differential Fast SCSI-2
BT-545C	    ISA		Fast SCSI-2
BT-540CF    ISA		Fast SCSI-2
========    ====	==============================

MultiMaster "S" Series Host Adapters:
@@ -263,17 +261,13 @@ BT-747S EISA Fast SCSI-2
BT-747D	    EISA	Differential Fast SCSI-2
BT-757S	    EISA	Wide Fast SCSI-2
BT-757D	    EISA	Wide Differential Fast SCSI-2
BT-545S	    ISA		Fast SCSI-2
BT-542D	    ISA		Differential Fast SCSI-2
BT-742A	    EISA	SCSI-2 (742A revision H)
BT-542B	    ISA		SCSI-2 (542B revision H)
=======     ====	==============================

MultiMaster "A" Series Host Adapters:

=======     ====	==============================
BT-742A	    EISA	SCSI-2 (742A revisions A - G)
BT-542B	    ISA		SCSI-2 (542B revisions A - G)
=======     ====	==============================

AMI FastDisk Host Adapters that are true BusLogic MultiMaster clones are also
@@ -400,26 +394,11 @@ selected host adapter.

The BusLogic Driver Probing Options comprise the following:

IO:<integer>

  The "IO:" option specifies an ISA I/O Address to be probed for a non-PCI
  MultiMaster Host Adapter.  If neither "IO:" nor "NoProbeISA" options are
  specified, then the standard list of BusLogic MultiMaster ISA I/O Addresses
  will be probed (0x330, 0x334, 0x230, 0x234, 0x130, and 0x134).  Multiple
  "IO:" options may be specified to precisely determine the I/O Addresses to
  be probed, but the probe order will always follow the standard list.

NoProbe

  The "NoProbe" option disables all probing and therefore no BusLogic Host
  Adapters will be detected.

NoProbeISA

  The "NoProbeISA" option disables probing of the standard BusLogic ISA I/O
  Addresses and therefore only PCI MultiMaster and FlashPoint Host Adapters
  will be detected.

NoProbePCI

  The "NoProbePCI" options disables the interrogation of PCI Configuration
@@ -464,10 +443,7 @@ QueueDepth:<integer>
  Depth for devices that do not support Tagged Queuing.  If no Queue Depth
  option is provided, the Queue Depth will be determined automatically based
  on the Host Adapter's Total Queue Depth and the number, type, speed, and
  capabilities of the detected Target Devices.  For Host Adapters that
  require ISA Bounce Buffers, the Queue Depth is automatically set by default
  to BusLogic_TaggedQueueDepthBB or BusLogic_UntaggedQueueDepthBB to avoid
  excessive preallocation of DMA Bounce Buffer memory.  Target Devices that
  capabilities of the detected Target Devices.  Target Devices that
  do not support Tagged Queuing always have their Queue Depth set to
  BusLogic_UntaggedQueueDepth or BusLogic_UntaggedQueueDepthBB, unless a
  lower Queue Depth option is provided.  A Queue Depth of 1 automatically
+0 −4
Original line number Diff line number Diff line
@@ -1095,10 +1095,6 @@ of interest:
		 - maximum number of commands that can be queued on devices
                   controlled by the host. Overridden by LLD calls to
                   scsi_change_queue_depth().
    unchecked_isa_dma
		 - 1=>only use bottom 16 MB of ram (ISA DMA addressing
                   restriction), 0=>can use full 32 bit (or better) DMA
                   address space
    no_async_abort
		 - 1=>Asynchronous aborts are not supported
		 - 0=>Timed-out commands will be aborted asynchronously
+2 −0
Original line number Diff line number Diff line
@@ -547,6 +547,8 @@ static void bfq_pd_init(struct blkg_policy_data *pd)

	entity->orig_weight = entity->weight = entity->new_weight = d->weight;
	entity->my_sched_data = &bfqg->sched_data;
	entity->last_bfqq_created = NULL;

	bfqg->my_entity = entity; /*
				   * the root_group's will be set to NULL
				   * in bfq_init_queue()
+376 −22

File changed.

Preview size limit exceeded, changes collapsed.

+15 −0
Original line number Diff line number Diff line
@@ -197,6 +197,9 @@ struct bfq_entity {

	/* flag, set if the entity is counted in groups_with_pending_reqs */
	bool in_groups_with_pending_reqs;

	/* last child queue of entity created (for non-leaf entities) */
	struct bfq_queue *last_bfqq_created;
};

struct bfq_group;
@@ -230,6 +233,8 @@ struct bfq_ttime {
struct bfq_queue {
	/* reference counter */
	int ref;
	/* counter of references from other queues for delayed stable merge */
	int stable_ref;
	/* parent bfq_data */
	struct bfq_data *bfqd;

@@ -365,6 +370,8 @@ struct bfq_queue {

	unsigned long first_IO_time; /* time of first I/O for this queue */

	unsigned long creation_time; /* when this queue is created */

	/* max service rate measured so far */
	u32 max_service_rate;

@@ -454,6 +461,11 @@ struct bfq_io_cq {
	u64 saved_last_serv_time_ns;
	unsigned int saved_inject_limit;
	unsigned long saved_decrease_time_jif;

	/* candidate queue for a stable merge (due to close creation time) */
	struct bfq_queue *stable_merge_bfqq;

	bool stably_merged;	/* non splittable if true */
};

/**
@@ -578,6 +590,9 @@ struct bfq_data {
	/* bfqq owning the last completed rq */
	struct bfq_queue *last_completed_rq_bfqq;

	/* last bfqq created, among those in the root group */
	struct bfq_queue *last_bfqq_created;

	/* time of last transition from empty to non-empty (ns) */
	u64 last_empty_occupied_ns;

Loading