Francois Romieu <rom...@fr.zoreil.com> writes: > Måns Rullgård <m...@mansr.com> : >> Francois Romieu <rom...@fr.zoreil.com> writes: > [...] >> > It looks like it receives, then tries to allocate new resources. If so >> > it may deplete the ring and you should instead consider allocating new >> > resources first, then receive data if alloc + map suceeded. >> >> The hardware receives a frame and stores it in the provided DMA buffer, >> then raises an interrupt and moves on to the next buffer. When a buffer >> is handed over to the network stack, a new one has to take its place in >> the DMA queue. I'm not sure how you're suggesting this be done >> differently. > > - The hardware raises an interrupt and moves on to the next packet > - The driver allocates a new buffer - call it Bob - and maps it. > - If it succeeds > - The driver unmaps the received packet > - The driver hands the received packet to the network stack > - The driver hands Bob to the hardware > - It it fails > - The driver updates the dropped packet stats > - The driver recycles the received - yet non-unmapped - packet to the > hardware
Oh, I see. That's better. -- Måns Rullgård m...@mansr.com -- To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html