I'm looking to streamline a tcp stack for use on the Renesas H8 series microprocessors. I would like to solicate your opinions on a few stack optimizations I have in mind, what others might be possible, and the performance which might be achieved.
For my application only tcp input is required. This should eliminate the need to maintain timers and thus allow for a purely interrupt driven implimentation (i.e. no real-time OS).
If possible I would like to design the interrupt handler such that it pulls packets out of the NIC (RTL8019AS), and simultaneously:
- Checksums the payload for a final ACK/NAK decision
- parses the incoming data translating control codes into function pointers and placing these (or the non-control code data) into the main-loop's receive buffer
By doing these two tasks simultaneously, the main-loop can be constructed by simply casting the receive buffer's head into a function pointer and then calling that function.
Does such an implimentation sound possible, and if so, how effective might it be in increasing device performance.
Are any other optimizations possible?
Thanks very much,
Albert Kennis