From: "zhao, forrest" <forrest.zhao@intel.com>
To: Jeff Garzik <jgarzik@pobox.com>
Cc: htejun@gmail.com, linux-ide@vger.kernel.org
Subject: Re: [RFC] AHCI Command Completion Coalescing(CCC) proposal
Date: Fri, 09 Jun 2006 10:27:22 +0800 [thread overview]
Message-ID: <1149820043.5721.7.camel@forrest26.sh.intel.com> (raw)
In-Reply-To: <44883BAE.7070406@pobox.com>
On Thu, 2006-06-08 at 11:01 -0400, Jeff Garzik wrote:
> >>From my understanding, the measurement of "IRQ numbers per second"
> > should be based on per-port instead of all ports of a SATA controller.
>
> No, it should be all ports of a SATA controller.
Maybe I didn't state my ideas clearly. Let me explain it by an example.
1 Assume there are 2 active ports(P0 and P1) on a system, they all run
under non-NCQ mode
2 During a certain period, P0 is heavily loaded, which generates >1000
interrupts per second; P1 is idle, which generates no interrupt
3
3.1 If the measurement of "IRQ numbers per second" is based on all
active ports of a SATA controller, CCC is activated by CCC_PORTS being
set to 0x3, CCC_CTL.CC being set to 64(32*2). Then the problem comes:
the CCC interrupt will be raised only when the timeout expires, this is
because P1 is in idle, thus hCccComplete can never be greater than or
equal to 64, the maximum of hCccComplete is 32.
3.2 If the measurement of "IRQ numbers per second" is based on per-port,
we can know that P0 is heavily-loaded, then CCC is activated by
CCC_PORTS being set to 0x1, CCC_CTL.CC being set to 32. Then CCC can
take effect as we have expected :)
NOTE: hCccComplete is the term used in section 11 of AHCI spec1.1
> > 4 What should the software specified timeout be?
> > I don't have the strong reasoning of a specific timeout value. 500ms? or
> > 1000ms? We should trade-off between the delay and overhead.
>
> 500ms is a lot of latency.
I'll use 100ms as timeout value in the code.
Thanks,
Forrest
next prev parent reply other threads:[~2006-06-09 2:50 UTC|newest]
Thread overview: 24+ messages / expand[flat|nested] mbox.gz Atom feed top
2006-06-08 7:30 [RFC] AHCI Command Completion Coalescing(CCC) proposal zhao, forrest
2006-06-08 15:01 ` Jeff Garzik
2006-06-09 2:27 ` zhao, forrest [this message]
2006-06-09 3:11 ` Another project for you... :) Jeff Garzik
2006-06-09 3:13 ` zhao, forrest
2006-06-09 22:29 ` Greg Freemyer
2006-06-09 23:44 ` Alan Cox
2006-06-09 3:43 ` [RFC] ATA host-protected area (HPA) device mapper? Jeff Garzik
2006-06-09 4:51 ` Matthew Frost
2006-06-14 8:01 ` Another project for you... :) zhao, forrest
2006-06-14 15:19 ` Randy.Dunlap
2006-06-15 7:59 ` zhao, forrest
2006-06-15 11:47 ` Jeff Garzik
2006-06-09 3:30 ` [RFC] AHCI Command Completion Coalescing(CCC) proposal Jeff Garzik
2006-06-09 3:39 ` zhao, forrest
2006-06-09 3:43 ` Tejun Heo
2006-06-09 3:47 ` Tejun Heo
2006-06-09 3:51 ` zhao, forrest
2006-06-09 4:12 ` Jeff Garzik
2006-06-09 5:24 ` Tejun Heo
2006-06-09 11:49 ` Jens Axboe
2006-06-09 3:53 ` Jeff Garzik
2006-06-09 3:52 ` Jeff Garzik
2006-06-09 11:49 ` Jens Axboe
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1149820043.5721.7.camel@forrest26.sh.intel.com \
--to=forrest.zhao@intel.com \
--cc=htejun@gmail.com \
--cc=jgarzik@pobox.com \
--cc=linux-ide@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).