[prev in list] [next in list] [prev in thread] [next in thread] 

List:       linux-pci
Subject:    Anyone working on Transaction Processing Hints?
From:       Matthew Wilcox <matthew () wil ! cx>
Date:       2009-04-28 19:57:39
Message-ID: 20090428195739.GD21648 () parisc-linux ! org
[Download RAW message or body]


The PCI spec says that the interrupt mask in the MSI-X capability takes
up the bottom bit of the 32-bit Vector Control word and the other 31
bits are reserved.  The PCIe 2.1 spec defines 16 of those bits to be
used for the Steering Tag table (related to the TPH capability).

As far as I can tell, changing the Steering Tag is a rare occurrence.
The spec notes that devices should be quiesced (or merely have TPH
disabled) while the Steerring Tags are being programmed.

I would like it to be a rule that MSI-X must be disabled while Steering
Tags are reprogrammed, then re-enabled afterwards.  That way, we can
cache the value of the interrupt mask bit, and avoid an MMIO read when
masking interrupts.  The specs are very clear that the entire word must
be written at once; we can't just write the lowest byte.

Thoughts on this are greatly appreciated, especially from anyone who
has insight into how TPH and ST are going to be used by device drivers.

-- 
Matthew Wilcox				Intel Open Source Technology Centre
"Bill, look, we understand that you're interested in selling us this
operating system, but compare it to ours.  We can't possibly take such
a retrograde step."
--
To unsubscribe from this list: send the line "unsubscribe linux-pci" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic