Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Miniportstuurprogramma's die geen ondersteuning bieden voor RSS, behandelen de verwerking van ontvangst zoals beschreven in dit onderwerp.
In de volgende afbeelding ziet u de verwerking van niet-RSS-ontvangst.
In de afbeelding vertegenwoordigen de gestreepte paden een alternatief pad voor de verwerking van verzenden en ontvangen. Omdat het systeem de schaal bepaalt, vindt de verwerking niet altijd plaats op de CPU die de beste prestaties biedt. Verbindingen worden alleen per toeval verwerkt op dezelfde CPU tijdens opeenvolgende interrupts.
Het volgende proces wordt herhaald voor elke niet-RSS-interruptiecyclus:
De NIC gebruikt DMA om een buffer te vullen met ontvangen gegevens en onderbreekt het systeem.
Tijdens de initialisatie heeft het minipoortstuurprogramma de ontvangstbuffers in het gedeelde geheugen toegewezen.
De NIC kan op elk gewenst moment in deze interruptcyclus extra ontvangstbuffers invullen. De NIC onderbreekt echter niet opnieuw totdat het minipoortstuurprogramma de onderbrekingen inschakelt.
De ontvangen buffers die het systeem in één interruptcyclus verwerkt, kunnen worden gekoppeld aan veel verschillende netwerkverbindingen.
NDIS roept de MiniportInterrupt functie (ISR) van het minipoortstuurprogramma aan op een door het systeem bepaalde CPU.
In het ideale geval moet de ISR naar de minst drukke CPU gaan. In sommige systemen wijst het systeem echter de ISR toe aan een beschikbare CPU of aan een CPU die is gekoppeld aan de NIC.
De ISR schakelt de interrupts uit en vraagt NDIS om een uitgestelde procedureaanroep (DPC) in de wachtrij te plaatsen om de ontvangen gegevens te verwerken.
NDIS roept de MiniportInterruptDPC- functie (de DPC) aan op de huidige CPU.
De DPC-processen ontvangen descriptors voor alle binnenkomende buffers en sturen de gegevens omhoog in de driverstack. Zie Netwerkgegevens ontvangenvoor meer informatie.
Er kunnen veel buffers zijn voor veel verschillende verbindingen en er is mogelijk veel verwerking om te voltooien. De ontvangen gegevens die zijn gekoppeld aan volgende interruptcycli kunnen worden verwerkt op andere CPU's. De verzendverwerking voor een bepaalde netwerkverbinding kan ook worden uitgevoerd op een andere CPU.
De DPC schakelt de onderbrekingen in. Deze interruptcyclus is voltooid en het proces wordt opnieuw gestart.