Jeffrey Tippet [MSFT]
xxxxxx@microsoft.com
> Any clue why was this feature not supported Win 8 on wards?
I removed NetDMA in Windows 8. Hopefully, I have slightly more than a clue :)
The purpose of NetDMA was to reduce CPU usage by offloading memcpy to
a generic offload engine.
But in networking, we tend to handle fairly small buffers. A typical
network buffer tends to not be larger than 1500 bytes. (Yes we can
do LSOs of many kilobytes, but NetDMA was limited to only 2 pages of
memory per transaction, so at most NetDMA should be compared to an
8kb buffer.)
Which uses less CPU:
- Setting up a DMA offload to the hardware & continuing when the hardware interrupts its completion
- memcpy 1500 bytes on the CPU
With newer CPUs, the answer tends to be #2.
Since the whole purpose of NetDMA was to reduce CPU usage, and it
wasn't even providing a clear CPU reduction, that makes NetDMA a
dubious benefit. Add to that it had low adoption (not many vendors
implemented a NetDMA provider), and the value of keeping the feature
wasn't there. Its competitor, memcpy, is simpler, better-supported,
easier to debug, and is sometimes even faster.
⋮
The only possible answer to this question, as to the reason its no longer suports, is because Microsoft choose not to support it. As for the specific reason, unless that reason has been published by Microsot, we can't possible know the reason why they choose not to support it. – Ramhound – 2015-05-26T14:00:34.383
@Ramhound No reason to dismiss/downvote a question because YOU don't happen to know the answer. Someone else might. E.g. some MS engineer might have blogged about it somewhere. It's just neither I nor you have come across it. Yet? Features are rarely removed outright (rather than deprecated), and you'd think there's a good reason for it. – Eugene Beresovsky – 2015-05-26T14:27:00.463
1"Many good questions generate some degree of opinion based on expert experience, but answers to this question will tend to be almost entirely based on opinions, rather than facts, references, or specific expertise." - Asking why something was removed from Windows is seeking an opionion. Downvoting is annoymous. You can't possible know who downvoted your question. – Ramhound – 2015-05-26T14:35:33.057
@Ramhound Nice in theory, as it turns out: The exact reason by the MS person responsible has been found by Greg Bray, giving the only answer. That's what I wanted, albeit, admittedly, more than I expected. – Eugene Beresovsky – 2015-05-28T22:29:56.090