Re: [RFC] add sysfs to dynamically control blk request tag maintenance

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

 



On Fri, 07 Oct 2005, Chen, Kenneth W wrote:

> Jens Axboe wrote on Friday, October 07, 2005 1:08 AM
> > > It's probably a very small number that I'm chasing with avoiding blk
> > > layer tagging.  Nevertheless, any number no matter how small, is a
> gold
> > > mine to me :-)
> > > 
> > > Latest execution profile taken with 2.6.14-rc2 kernel with "industry
> > > standard transaction processing database workload".  First column is
> > > clock ticks (a direct measure of time), 2nd column is instruction
> > > retired,
> > > and 3rd column is number of L3 misses occurred inside the function.
> > > 
> > > Symbol			Clockticks	Inst. Retired	L3
> Misses
> > > scsi_request_fn		8.12%	9.27%	11.18%
> > > Schedule			6.52%	4.93%	7.26%
> > > scsi_end_request		4.44%	3.59%	6.76%
> > > __blockdev_direct_IO	4.28%	4.38%	3.98%
> > > __make_request		3.59%	4.16%	3.47%
> > > __wake_up			2.46%	1.56%	3.33%
> > > dio_bio_end_io		2.14%	1.67%	3.18%
> > > aio_complete		2.05%	1.27%	3.56%
> > > kmem_cache_free		1.95%	1.70%	0.71%
> > > kmem_cache_alloc		1.45%	1.84%	0.45%
> > > put_page			1.42%	0.60%	1.27%
> > > follow_hugetlb_page	1.41%	0.75%	1.27%
> > > __generic_file_aio_read	1.37%	0.36%	1.68%
> > 
> > The above looks pretty much as expected. What change in profile did
> you
> > see when eliminating the blk_queue_end_tag() call?
> 
> I haven't make any measurement yet.  The original patch was an RFC, and
> I want to hear opinions from the experts first.  I will do a measurement
> with the change in qla2x00 driver and I will let you know how much
> difference does it make.  Most likely, clock ticks in scsi_request_fn
> and
> scsi_end_request should be reduced.  It will be interesting to see L3
> misses stats as well.

Yes, please let us know what your benchmarking measurements show.  I
take it you are planning on doing something like:

--- a/drivers/scsi/qla2xxx/qla_os.c
+++ b/drivers/scsi/qla2xxx/qla_os.c
@@ -1101,10 +1101,7 @@ qla2xxx_slave_configure(struct scsi_devi
 	scsi_qla_host_t *ha = to_qla_host(sdev->host);
 	struct fc_rport *rport = starget_to_rport(sdev->sdev_target);
 
-	if (sdev->tagged_supported)
-		scsi_activate_tcq(sdev, 32);
-	else
-		scsi_deactivate_tcq(sdev, 32);
+	scsi_adjust_queue_depth(sdev, scsi_get_tag_type(sdev), depth);
 
 	rport->dev_loss_tmo = ha->port_down_retry_count + 5;
 



Thanks,
Andrew Vasquez
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[Index of Archives]     [Kernel Newbies]     [Netfilter]     [Bugtraq]     [Photo]     [Stuff]     [Gimp]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Video 4 Linux]     [Linux for the blind]     [Linux Resources]
  Powered by Linux