Re: Direct Copying To Share Memory In NDIS ProtocolReceive



Hi Thomas & Anton,

On Mar 2, 1:02 am, "Thomas F. Divine" <tdivine@NOpcausaSPAM> wrote:
-Le Chaud Lapin-

Surely with enough work and debugging you can get your scheme to work. Do
sit back and seriously consider my personal motto: "Keep it simple,
stupid!".

I'm considering, i'm considering. :)

I guess I asked the question in the wrong way. What I should have
done was given context of unchangeable requirements, and ask what is
the best way to do the packet copies.

I have several processes that share a section in RAM, say 27 process,
and one of the processes (prime process) loads a driver that binds to
miniport to send and receive frames. The system is designed so every
frame that is transmitted to the miniports via the protocol must
originate in the shared section, and every frame received from a
miniport via the protocol must be implanted in the shared section. I
currently have 128 frame slots in the shared section, and whenever the
prime process needs to send a frame, it migth not have opportunity to
batch the send, as there might be only 1 frame to send. On receives,
I would like to batch the receives in Protocol receive for bursty
traffic, but bypass copy of queing, copying directly to the shared
section. Since the frame slots are limited, I do not want to try to
guess the optimum preallocation count in ReadFile to batch reads, or I
will starve the other processes of frames.

So I guess my question is, given that the target of all mini-port-
indicated frames must be that shared section, what will be the
performance penalty of copying full packets from the large buffers
setup by ReadFile and the corresponding buffers in the shared
section. Is it much less significant that the kernell transitions.
Also note that this scheme will require a kernel transition anyway,
when ReadFile attempts to lower the semaphore on the frame slots in
the shared section.

-Le Chaud Lapin-

.



Relevant Pages

  • Re: Why do some people hate java?
    ... Java requires that you adjust ... your frame of thinking a little. ... Have you ever used Stackless Python, Scheme or encountred the concept ... sometimes severe hatred of Java: people are forced to use it. ...
    (comp.lang.java.programmer)
  • Re: Direct Copying To Share Memory In NDIS ProtocolReceive
    ... Surely with enough work and debugging you can get your scheme to work. ... frame that is transmitted to the miniports via the protocol must ... I would like to batch the receives in Protocol receive for bursty ... guess the optimum preallocation count in ReadFile to batch reads, ...
    (microsoft.public.development.device.drivers)
  • Re: determination of length of packet............
    ... which is the CRC of the previous bytes, starting with the MAC DA (whose location is known because it follows the preamble and frame start sequence), would mark the end of that frame. ... I was only musing out loud, comparing Ethernet's approach with a completely different scheme, ATM, in which the cell header length and the cell length itself are both fixed quantities. ...
    (comp.dcom.lans.ethernet)
  • Re: 9950F and 4990, a toss-up?
    ... > What Epson and Canon call a batch is not this. ... > for each frame into spearate files. ...
    (comp.periphs.scanners)
  • Re: 9950F and 4990, a toss-up?
    ... integration time for exch frame individually. ... scanner had a sufficient number of noise-free bits, ... >> both the Epson and the Canon. ... N> What Epson and Canon call a batch is not this. ...
    (comp.periphs.scanners)

Loading