Xiang Xiao
c26bb35843
Remove the private NULL, TRUE and FALSE macros
...
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2022-07-31 22:12:57 +03:00
Xiang Xiao
1fb8c13e5e
Replace nxsem_timedwait_uninterruptible with nxsem_tickwait_uninterruptible
...
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2022-05-15 13:55:58 +03:00
Xiang Xiao
9072eecc30
sched/wqueue: Change the return type of work_notifier_teardown to void
...
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2022-05-14 00:35:29 +03:00
Xiang Xiao
d9a442a859
mm/iob: Remove initialized static variable inside iob_initialize
...
since it's impossible to call iob_initialize twice
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2022-03-12 15:06:39 -03:00
chao.an
0b18cfbd9a
mm/iob: add support of alloc with timeout iob_timedalloc()
...
Signed-off-by: chao.an <anchao@xiaomi.com>
2022-02-17 11:55:29 -03:00
Chery Dan
8d799f2148
Fix IOB functions
...
The operations of struct iob_queue_s in qh_head & qh_tail are performed with interrupts disabled.
change iflags to flags
add header file ref
update for check
2021-11-11 08:47:03 -06:00
YAMAMOTO Takashi
5b1f2dff5f
iob_tryalloc: Fix throttled allocation
...
If threads are blocking for throttled allocation,
g_throttle_sem.semcount doesn't represent the number of
usable IOBs well.
Note: For non-throttled allocations, the g_iob_committed mechanism
is a rescue. But there is no equivalent for throttled allocations.
2021-08-02 11:25:55 -07:00
YAMAMOTO Takashi
e96a870485
iob_tryalloc: Remove a wrong assertion
2021-08-02 11:25:55 -07:00
YAMAMOTO Takashi
7a580ae3bc
iob_trimhead: fix an integer truncation
...
I guess this fixes https://github.com/apache/incubator-nuttx/issues/4181
2021-07-20 14:20:29 +08:00
chao.an
ebf89ff63b
mm/iob: add iob_get_queue_size() helper
...
Signed-off-by: chao.an <anchao@xiaomi.com>
2021-07-05 06:20:52 -05:00
YAMAMOTO Takashi
314237588e
Add iob_tailroom
...
I plan to use this for tcp.
2021-06-30 06:40:13 -05:00
YAMAMOTO Takashi
7599ca4e95
Kconfig: mention that IOB_NCHAINS is not used by TCP anymore
2021-06-30 06:40:13 -05:00
chao.an
2c51c29768
mm/iob: add an interface to support dequeue an iob from the queue
...
Signed-off-by: chao.an <anchao@xiaomi.com>
2021-06-10 10:45:30 -05:00
Xiang Xiao
2e54df0f35
Don't include assert.h from public header file
...
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2021-06-03 08:36:03 -07:00
Alin Jerpelea
3744eb8b5f
mm: update licenses to Apache
...
Gregory Nutt is the copyright holder for those files and he has submitted the
SGA as a result we can migrate the licenses to Apache.
Signed-off-by: Alin Jerpelea <alin.jerpelea@sony.com>
2021-05-27 08:07:25 +09:00
YAMAMOTO Takashi
f8d56b9da2
iob_trimhead.c: Fix a comment typo
2021-03-16 02:07:34 -07:00
YAMAMOTO Takashi
6b9d2fef00
mm/iob/Kconfig: Fix a typo (other other -> other)
2021-03-16 02:07:34 -07:00
Gustavo Henrique Nihei
330eff36d7
sourcefiles: Fix relative path in file header
2021-03-09 23:18:28 +08:00
Alin Jerpelea
acb8ad4c7b
mm: nxstyle fixes
...
Nxstyle fixes to pass CI
Signed-off-by: Alin Jerpelea <alin.jerpelea@sony.com>
2021-02-09 01:21:53 -08:00
Alin Jerpelea
bcee9c391c
mm: Author Gregory Nutt: update licenses to Apache
...
Gregory Nutt has submitted the SGA and we can mograte the licenses
to Apache.
Signed-off-by: Alin Jerpelea <alin.jerpelea@sony.com>
2021-02-09 01:21:53 -08:00
Xiang Xiao
5eae32577e
build: Move INCDIROPT to common place
...
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2020-05-18 15:02:55 -06:00
Gregory Nutt
a569006fd8
sched/: Make more naming consistent
...
Rename various functions per the quidelines of https://cwiki.apache.org/confluence/display/NUTTX/Naming+of+OS+Internal+Functions
nxsem_setprotocol -> nxsem_set_protocol
nxsem_getprotocol -> nxsem_get_protocol
nxsem_getvalue -> nxsem_get_value
2020-05-17 14:01:00 -03:00
Xiang Xiao
d9d2fc0d0a
debug: Reduce CONFIG_CPP_HAVE_VARARGS usage
...
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2020-05-05 08:27:58 -06:00
Gregory Nutt
fd38623aac
mm/iob/iob_clone.c: Correct newline character
...
Another place where /n is used where \n was intended.
2020-04-29 18:11:00 +01:00
Gregory Nutt
5c0e8e88b1
Revert "Makefile: move INCDIROPT to common place ( #625 )"
...
This reverts commit b9ace36fcc
.
This change was added by PR 625 but has a serious logic flaw. It removes all occurrences of INCDIROPT and replaces it with a definition in tools/Config.mk:
else ifeq ($(WINTOOL),y)
DEFINE = "$(TOPDIR)/tools/define.sh"
INCDIR = "$(TOPDIR)/tools/incdir.sh" -w
This logic flaw is the Config.mk is included in all Make.defs files BEFORE WINTOOL is defined. As a result, the definition is wrong in many places when building under Cygwin with a Windows native toolchain.
2020-03-26 08:50:29 -07:00
Xiang Xiao
b9ace36fcc
Makefile: move INCDIROPT to common place ( #625 )
2020-03-26 08:09:59 -06:00
Nathan Hartman
a5e643b0cd
Fix typos in comments and documentation.
2020-03-16 20:01:11 -06:00
Xiang Xiao
cde88cabcc
Run codespell -w with the latest dictonary again
...
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2020-02-23 22:27:46 +01:00
Gregory Nutt
1382ea5447
mm/: Coding style clean-up
...
Run tools/nxstyle against all C files under mm/ and correct coding standard violations.
2020-02-13 15:16:53 +01:00
Xiang Xiao
5c80b94820
Replace #include <semaphore.h> to #include <nuttx/semaphore.h>
...
Since the kernel side should call nxsem_xxx instead and remove the unused inclusion
2020-02-01 08:27:30 -06:00
Xiang Xiao
80277d1630
Refine the preprocessor conditional guard style ( #190 )
2020-01-31 19:07:39 +01:00
chao.an
a4aa8ae491
wqueue/notifier: update the work notifier usage
...
usage changed after commit 90c52e6f8f
Change-Id: Ifb0d739b046a6794b5b3ac177f489fb9a1c5c799
Signed-off-by: chao.an <anchao@xiaomi.com>
2020-01-21 14:16:19 +08:00
Xiang Xiao
346336bb9e
Make the read ahead buffer unselectable
...
Here is the email loop talk about why it is better to remove the option:
https://groups.google.com/forum/#!topic/nuttx/AaNkS7oU6R0
Change-Id: Ib66c037752149ad4b2787ef447f966c77aa12aad
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2020-01-11 08:24:49 -06:00
Xiang Xiao
6a3c2aded6
Fix wait loop and void cast ( #24 )
...
* Simplify EINTR/ECANCEL error handling
1. Add semaphore uninterruptible wait function
2 .Replace semaphore wait loop with a single uninterruptible wait
3. Replace all sem_xxx to nxsem_xxx
* Unify the void cast usage
1. Remove void cast for function because many place ignore the returned value witout cast
2. Replace void cast for variable with UNUSED macro
2020-01-02 10:54:43 -06:00
Xiang Xiao
c5a7da5b7a
mm/iob/Kconfig: Make the default of IOB_NCHAINS same as IOB_NBUFFERS. It is reasonable default value since iob_qentry_s is much small than iob_s and could avoid the buffer can be allocated but the chain can't: 'tcp_datahandler: ERROR: Failed to queue the I/O buffer chain: -12'
2019-11-24 10:43:45 -06:00
Gregory Nutt
dd2219c1db
mm/iob/iob_statistics.c: Fix an error found in build testing. Must include nuttx/mm/iob.h.
2019-08-19 11:50:52 -06:00
Anthony Merlino
70404ed0dc
Merged in antmerlino/nuttx/iobinstrumentation (pull request #1001 )
...
Iobinstrumentation
* mm/iob: Introduces producer/consumer id to every iob call. This is so that the calls can be instrumented to monitor the IOB resources.
* iob instrumentation - Merges producer/consumer enumeration for simpler IOB user.
* fs/procfs: Starts adding support for /proc/iobinfo
* fs/procfs: Finishes first pass of simple IOB user stastics and /proc/iobinfo entry
Approved-by: Gregory Nutt <gnutt@nuttx.org>
2019-08-16 22:42:25 +00:00
Gregory Nutt
b21c12bd18
Fix errors found in build testing:
...
arch/mips/src: Previous commit used CP0 register definitions that were not defined in the cp0.h header file. Probably these were from the Microchip hacked up GCC toolchain but are not generally available. Fix: Add definitions to NuttX cp0.h header file.
mm/iob: Eliminate some warnings about testing the value of an undefined pre-processor variable.
2019-05-25 11:45:22 -06:00
Xiang Xiao
fe421022e2
sched/wqueue/kwork_notifier.c and several Kconfig files: Notifier should work with either lpwork or hpwork and other minor typo fix.
2019-01-27 11:02:56 -06:00
Xiang Xiao
b6606e61b4
mm/iob/iob_copyin.c: iob_copyin() should wait for each buffer and adjust the return value of iob_copyin_internal return to simplify the code
2019-01-26 10:48:47 -06:00
Xiang Xiao
1ecc33b7db
mm/iob: Miscellaneous changes and fixes from code review.
2019-01-26 09:56:27 -06:00
Xiang Xiao
0354702525
mm/iob/iob_dump.c: Format the whole line before log to avoid the multiple timestamp prefix in each line
2019-01-26 09:44:58 -06:00
Xiang Xiao
ee28417246
mm/iob/iob_notifier.c: Don't check iob_navail in iob_notifier_setup to avoid a potential race condition.
2019-01-26 09:43:54 -06:00
Xiang Xiao
4721381d1c
mm/iob/iob_alloc.c: iob_allocwait should decrease semcount manually.
2019-01-26 09:24:12 -06:00
Gregory Nutt
dec7ecbd56
net/tcp/tcp_recvwindow.c: In order to receive data we must not only have IOBs available, but we must also have at least one IOB chain qentry available. Otherwise, we will advertise that we an buffer a lot of data when, in fact, we cannot. This is an expermental fix to a performance problem noted by Masayuki Ishikawa.
2018-09-22 09:33:29 -06:00
Gregory Nutt
22da175629
mm/iob: Add a divider that can be used to reduce the rate of IOB notifications.
2018-09-13 06:56:29 -06:00
Gregory Nutt
76eec53e4f
mm/iob: iob_navail() was returning the number of free IOB chain queue entries, not the number of free IOBs. Completely misnamed.
2018-09-12 06:40:18 -06:00
Gregory Nutt
11a635dcb3
mm/iob: IOB free notifier should accept the work queue ID as a paramter. The notification may need to run on either the high- or low- priority work queue. sched/work: Change the default priority of the low-priority work queue to 100.
2018-09-11 08:49:39 -06:00
Gregory Nutt
af0ee3c8f7
sched/wqueue: Add an option to work queue notifier so that the notification can occur on different work queues.
2018-09-11 07:22:23 -06:00
Gregory Nutt
39df7ed0c0
mm/iob and sched/semaphore: Work around some issues with the IOB throttle semaphore. It has some odd behaviors that can cause assertions in sem_post(). Also, it seems to get outside of its range occasionally. Need to REVISIT this.
2018-09-10 11:32:09 -06:00