4 ms·
Rather than casting scorn why not step up to the plate and do what the author has done here but for the architectures that you know? I spend a fair bit of time
by vvanders 7y ago
Rather than casting scorn why not step up to the plate and do what the author has done here but for the architectures that you know?
I spend a fair bit of time in the Arm space and didn't find the article incorrect, just PC focused. I don't think the author claimed to be the authority on everything DMA.
- hootbootscoot 7y agoBecause I don't know enough to properly inform you of what is what and rewrite this article, but rather, know just enough to complain on Hacker News :D (aka, know just enough to note that this is not a very good "DMA in a nutshell" for those seeking to actually use it, and without contextualizing the limited space in which this even IS correct info...) I'm not claiming DMA expertise, hence not writing/posting articles about it. See my posts as a warning rather than scornful.
- hootbootscoot 7y agoHaving thought about it a bit, despite my admitted lack of expertise, I guess I left the OP article wondering what DMA actually does, rather than how it historically worked on a given architecture and dismissing it as passe. Some explanation of the actual workings of it would go a long way towards explaining DMA, vs this article on bus mastering. 1) a description of the dma state machine and what it does over and over again. "so look, you configure xyz and then it copies from A to B over and over again in x sized chunks" etc... maybe a mention of the general moving parts you may find in some kind of dma system... channels, multiplexing, etc. (i got something about an interrupt out of the op article, which is definitely true but not the main story) 2) the concerns this naturally raises, when discussing memory management, virtual memory, etc. (thus, the discussion of paging would then make sense after #1) 3) the particular implementations and their locational/positional implications. devices, busses, host, addressing schemes, etc. (here is where the bus mastering could be best contextualized) I basically think that it wasn't about DMA, as such, and by ignoring the "how DMA works and is used" part, it basically then didn't provide any means for technical analysis of bus mastering, etc.