Re: WARNING: at drivers/ata/libata-core.c:5988 ata_qc_issue()

2008-01-25 Thread James Bottomley
On Thu, 2008-01-24 at 23:29 -0500, Mark Lord wrote: Tejun Heo wrote: Mark Lord wrote: .. Super! You've done a great job with this stuff, Tejun! Thanks but I can't really say nice things about how sata_sil24's qc_defer() is implemented or how we generally handle command deferring.

Re: WARNING: at drivers/ata/libata-core.c:5988 ata_qc_issue()

2008-01-25 Thread Mark Lord
James Bottomley wrote: On Thu, 2008-01-24 at 23:29 -0500, Mark Lord wrote: Tejun Heo wrote: Mark Lord wrote: .. Super! You've done a great job with this stuff, Tejun! Thanks but I can't really say nice things about how sata_sil24's qc_defer() is implemented or how we generally handle

Re: WARNING: at drivers/ata/libata-core.c:5988 ata_qc_issue()

2008-01-25 Thread James Bottomley
On Fri, 2008-01-25 at 10:18 -0500, Mark Lord wrote: James Bottomley wrote: On Thu, 2008-01-24 at 23:29 -0500, Mark Lord wrote: Tejun Heo wrote: Mark Lord wrote: .. Super! You've done a great job with this stuff, Tejun! Thanks but I can't really say nice things about how sata_sil24's

Re: WARNING: at drivers/ata/libata-core.c:5988 ata_qc_issue()

2008-01-24 Thread Tejun Heo
Mark Lord wrote: Tejun, During testing with NCQ on sata_mv (patches coming shortly), I found this gem in the syslog. This doesn't look like something that a LLD could cause, but rather a race perhaps in libata-core. Hmmm... This isn't supposed to happen. System is a 2.4GHz 32-bit

Re: WARNING: at drivers/ata/libata-core.c:5988 ata_qc_issue()

2008-01-24 Thread Mark Lord
Tejun Heo wrote: Mark Lord wrote: Tejun, During testing with NCQ on sata_mv (patches coming shortly), I found this gem in the syslog. This doesn't look like something that a LLD could cause, but rather a race perhaps in libata-core. Hmmm... This isn't supposed to happen. System is a

Re: WARNING: at drivers/ata/libata-core.c:5988 ata_qc_issue()

2008-01-24 Thread Tejun Heo
Mark Lord wrote: Tejun Heo wrote: Mark Lord wrote: Tejun, During testing with NCQ on sata_mv (patches coming shortly), I found this gem in the syslog. This doesn't look like something that a LLD could cause, but rather a race perhaps in libata-core. Hmmm... This isn't supposed to happen.

Re: WARNING: at drivers/ata/libata-core.c:5988 ata_qc_issue()

2008-01-24 Thread Mark Lord
Tejun Heo wrote: Mark Lord wrote: Tejun Heo wrote: Mark Lord wrote: Tejun, .. void ata_qc_issue(struct ata_queued_cmd *qc) { struct ata_port *ap = qc-ap; struct ata_link *link = qc-dev-link; /* Make sure only one non-NCQ command is outstanding. The * check

Re: WARNING: at drivers/ata/libata-core.c:5988 ata_qc_issue()

2008-01-24 Thread Tejun Heo
Mark Lord wrote: Tejun Heo wrote: Mark Lord wrote: Tejun Heo wrote: Mark Lord wrote: Tejun, .. void ata_qc_issue(struct ata_queued_cmd *qc) { struct ata_port *ap = qc-ap; struct ata_link *link = qc-dev-link; /* Make sure only one non-NCQ command is outstanding.

Re: WARNING: at drivers/ata/libata-core.c:5988 ata_qc_issue()

2008-01-24 Thread Mark Lord
Tejun Heo wrote: Mark Lord wrote: Tejun Heo wrote: Mark Lord wrote: Tejun Heo wrote: Mark Lord wrote: Tejun, .. void ata_qc_issue(struct ata_queued_cmd *qc) { struct ata_port *ap = qc-ap; struct ata_link *link = qc-dev-link; /* Make sure only one non-NCQ command

Re: WARNING: at drivers/ata/libata-core.c:5988 ata_qc_issue()

2008-01-24 Thread Tejun Heo
Mark Lord wrote: Tejun Heo wrote: Mark Lord wrote: Tejun Heo wrote: Mark Lord wrote: Tejun Heo wrote: Mark Lord wrote: Tejun, .. void ata_qc_issue(struct ata_queued_cmd *qc) { struct ata_port *ap = qc-ap; struct ata_link *link = qc-dev-link; /* Make sure only

Re: WARNING: at drivers/ata/libata-core.c:5988 ata_qc_issue()

2008-01-24 Thread Mark Lord
Tejun Heo wrote: Mark Lord wrote: .. Super. And when I add FIS-based-switching PMP support on top of NCQ, *then* what should it point at? If the controller can do FIS-based switching w/o any other restrictions, ata_std_qc_defer() can just stay. If there are restrictions, you need to roll

Re: WARNING: at drivers/ata/libata-core.c:5988 ata_qc_issue()

2008-01-24 Thread Tejun Heo
Mark Lord wrote: Tejun Heo wrote: Mark Lord wrote: .. Super. And when I add FIS-based-switching PMP support on top of NCQ, *then* what should it point at? If the controller can do FIS-based switching w/o any other restrictions, ata_std_qc_defer() can just stay. If there are restrictions,

Re: WARNING: at drivers/ata/libata-core.c:5988 ata_qc_issue()

2008-01-24 Thread Mark Lord
Tejun Heo wrote: Mark Lord wrote: .. Super! You've done a great job with this stuff, Tejun! Thanks but I can't really say nice things about how sata_sil24's qc_defer() is implemented or how we generally handle command deferring. We really need the control at the higher level - request_queue

Re: WARNING: at drivers/ata/libata-core.c:5988 ata_qc_issue()

2008-01-24 Thread Tejun Heo
Mark Lord wrote: Tejun Heo wrote: Mark Lord wrote: .. Super! You've done a great job with this stuff, Tejun! Thanks but I can't really say nice things about how sata_sil24's qc_defer() is implemented or how we generally handle command deferring. We really need the control at the higher

Re: WARNING: at drivers/ata/libata-core.c:5988 ata_qc_issue()

2008-01-24 Thread Jeff Garzik
Mark Lord wrote: Tejun Heo wrote: Mark Lord wrote: .. Super! You've done a great job with this stuff, Tejun! Thanks but I can't really say nice things about how sata_sil24's qc_defer() is implemented or how we generally handle command deferring. We really need the control at the higher

Re: WARNING: at drivers/ata/libata-core.c:5988 ata_qc_issue()

2008-01-24 Thread Jeff Garzik
Tejun Heo wrote: Mark Lord wrote: Another one for those beers, is a way to tell the IOMMU code about physical segment limitations -- so we can stop having to allocate PRD tables 2X as big as necessary in drivers like sata_mv. Hmmm... What's the restriction for sata_mv? The same as BMDMA? We