:> :> By the way Scott, do you honestly believe that idiotic one-line :> answers just as a means to try to screw over my postings are :> appropriate for someone of your standing in the FreeBSD community? : :His answer is short, but correct, because all ATA drivers do use BUSDMA. :And as I have already said, BUSDMA manages proper alignment there, by :implementing bounce buffers. : :-- :Alexander Motin Perhaps, but it is hardly a civilized conversation. If he is going to act like an asshole on the lists, then he can stew in his own juices for all I care, or not post at all. But acting in such an infantile manner is something I will not tolerate. I really don't care if he maps me out of his mail server or not, but playing the 'last word' game is something only a 5-year-old would do and he's a lot older then 5 years old. I do see the FBsd ATA driver is using busdma, so I was incorrect there. It is also preallocating bounce buffers on a per-slot basis, so you shouldn't get allocation failures later on at load-time (though it's a bit unclear if the bounce zone limitations can cause a later bus dma load to fail if insufficient bounce buffers are available, and allocating bounce buffers per slot can lead to a large multiplication of wired memory reserved). I guess it will work even if it isn't pretty. I think there was another issue with ATAPI transfers... something related to the DMA having to be in multiples of 16 bytes (on older chipsets anyway), but SCSI has no such restriction so pass-through commands would not always be properly encapsulated into an ATAPI transfer. I can't find a code reference for it but I remember there being some sort of related issue. In anycase, the bounce zone mess was why I eventually started doing at least a minimal alignment closer to the user<->kernel interface, where the kernel could safely allocated memory M_WAITOK. -Matt Matthew Dillon <dillon_at_backplane.com>Received on Sat Sep 05 2009 - 05:12:00 UTC
This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:39:54 UTC