Dela via


Icke-RSS-mottagningsbearbetning

Miniportdrivrutiner som inte stöder hantering av RSS hanterar mottagningsbearbetning enligt beskrivningen i det här avsnittet.

Följande figur illustrerar bearbetning av mottagning utan RSS.

Diagram som illustrerar bearbetning av skicka och ta emot utan RSS.

I bilden representerar de streckade sökvägarna en alternativ sökväg för bearbetningen av skicka och ta emot. Eftersom systemet styr skalningen sker bearbetningen inte alltid på processorn som ger bästa prestanda. Anslutningar behandlas på samma CPU vid upprepade avbrott endast av en slump.

Följande process upprepas för varje icke-RSS-avbrottscykel:

  1. Nätverkskortet använder DMA för att fylla en buffert med mottagna data och avbryter systemet.

    Miniportdrivrutinen allokerade mottagningsbuffertarna i delat minne under initieringen.

  2. Nätverkskortet kan fortsätta att fylla ytterligare mottagningsbuffertar när som helst i den här avbrottscykeln. Nätverkskortet avbryter dock inte igen förrän miniportdrivrutinen aktiverar avbrott.

    De mottagna buffertar som systemet hanterar i en avbrottscykel kan associeras med många olika nätverksanslutningar.

  3. NDIS anropar miniportdrivrutinens MiniportInterrupt funktion (ISR) på en systembestämd PROCESSOR.

    Helst bör ISR gå till den minst upptagna processorn. I vissa system tilldelar systemet dock ISR till en tillgänglig processor eller till en processor som är associerad med nätverkskortet.

  4. ISR inaktiverar avbrotten och begär att NDIS ska köa ett anrop för uppskjuten procedur (DPC) för att bearbeta mottagna data.

  5. NDIS anropar funktionen MiniportInterruptDPC (DPC) på den aktuella processorn.

  6. DPC-byggen mottar deskriptorer för alla mottagna buffertar och skickar datan uppåt i drivrutinsstacken. Mer information finns i Ta emot nätverksdata.

    Det kan finnas många buffertar för många olika anslutningar och det finns potentiellt mycket bearbetning att slutföra. Mottagna data som är associerade med efterföljande avbrottscykler kan bearbetas på andra processorer. Sändningsbearbetningen för en viss nätverksanslutning kan också köras på en annan PROCESSOR.

  7. DPC aktiverar avbrotten. Den här avbrottscykeln är klar och processen startar igen.