Commit Graph

19 Commits

Author SHA1 Message Date
Gregory Nutt
aa3e778dc6 nuttx/net: Replace irqsave() with enter_critical_section(); replace irqrestore() with leave_critical_section() 2016-02-14 08:38:44 -06:00
Gregory Nutt
365e015010 iob_alloc_qentry() has the same issue that was recently fixed in iob_alloc() 2016-01-25 17:46:59 -06:00
Gregory Nutt
91b762aa86 Networking: Fix an error that I introduced with my last review changes 2016-01-22 17:35:06 -06:00
Andrew Webster
e221777a7a TCP: post buffer semaphore before re-acquiring both
TCP uses two semaphores for buffers, one for the entire buffer pool,
and one for the number of allowed buffers for readahead.  To avoid
double taking a semaphore under heavy load, release the semaphore
after waiting before trying to acquire both again.
2016-01-22 16:15:10 -06:00
Gregory Nutt
09c7373f24 Fix misc. compilation error/warning detected by tools/testbuild.sh 2015-07-01 14:33:37 -06:00
Gregory Nutt
c4bd6f52b5 Networking: The are issues with the TCP write-ahead buffering if CONFIG_NET_NOINTS is enabled: There is a possibility of deadlocks in certain timing conditions. I have not seen this with the Tiva driver that I have been users but other people claim to see the issue on other platforms. Certainly it is a logic error: The network should never wait for TCP read-ahead buffering space to be available. It should drop the packets immediately.
This was fixed by duplicating most of the IOB interfaces:  The versions that waited are still present (like iob_alloc()), but now there are non-waiting verisons of the same interfaces (like iob_tryalloc()).  The TCP read-ahead logic now uses only these non-waiting interfaces.
2015-01-27 21:23:42 -06:00
Gregory Nutt
c3c8c86873 NET: Last tweaks were still in the editor 2014-06-28 11:56:48 -06:00
Gregory Nutt
3b81e58047 NET: Fix some errors in recent network I/O buffering when stack runs from interrupt level 2014-06-28 11:35:14 -06:00
Gregory Nutt
fabcb6d37e TCP Read-Ahead: Convert to use I/O buffer chains 2014-06-24 15:38:00 -06:00
Gregory Nutt
e9a588c398 Add throttle support to the I/O buffer logic 2014-06-24 11:53:19 -06:00
Gregory Nutt
d642616c5b TCP write buffering: Fix an error in the trim logic 2014-06-22 16:25:26 -06:00
Gregory Nutt
356d25b503 First cut at conversion of write-buffering to use I/O buffer chaings (IOBs) 2014-06-22 11:27:57 -06:00
Gregory Nutt
96c6f34825 IOB: Remove private data. Not needed 2014-06-12 08:35:59 -06:00
Gregory Nutt
60306a16d7 IOB: remove flags 2014-06-09 13:54:47 -06:00
Gregory Nutt
a304a73608 IOB: Add queue handling interfaces; improve lists 2014-06-06 09:35:31 -06:00
Gregory Nutt
3881bf6b5f IOB: Remove unimplemented VLAN stuff; add unit test and fixes to pass unit test 2014-06-05 10:43:20 -06:00
Gregory Nutt
67d5e8d154 NET: Improvied I/O buffer logic 2014-06-04 09:03:11 -06:00
Gregory Nutt
d10c3923a2 Add iob_copyin() 2014-06-03 14:28:16 -06:00
Gregory Nutt
1a4c219626 NET: Add generic I/O buffering logic 2014-06-03 12:41:34 -06:00