summaryrefslogtreecommitdiff
path: root/nuttx/fs/nxffs
diff options
context:
space:
mode:
authorpatacongo <patacongo@42af7a65-404d-4744-a932-0658087f49c3>2012-08-28 14:40:12 +0000
committerpatacongo <patacongo@42af7a65-404d-4744-a932-0658087f49c3>2012-08-28 14:40:12 +0000
commita9ead1328ee2c67363e580946564c80ed91d96ff (patch)
tree649fb785890c05db65ac6d00418aad80205e729e /nuttx/fs/nxffs
parent814f5dab600d19ffe043363814503c113549e221 (diff)
downloadnuttx-a9ead1328ee2c67363e580946564c80ed91d96ff.tar.gz
nuttx-a9ead1328ee2c67363e580946564c80ed91d96ff.tar.bz2
nuttx-a9ead1328ee2c67363e580946564c80ed91d96ff.zip
Add some protection to the priority inheritance logic when sem_post() is called from an interrupt handler
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@5060 42af7a65-404d-4744-a932-0658087f49c3
Diffstat (limited to 'nuttx/fs/nxffs')
-rwxr-xr-xnuttx/fs/nxffs/README.txt11
1 files changed, 10 insertions, 1 deletions
diff --git a/nuttx/fs/nxffs/README.txt b/nuttx/fs/nxffs/README.txt
index a25735110..a10fb97a5 100755
--- a/nuttx/fs/nxffs/README.txt
+++ b/nuttx/fs/nxffs/README.txt
@@ -154,7 +154,7 @@ Things to Do
- The file name is always extracted and held in allocated, variable-length
memory. The file name is not used during reading and eliminating the
file name in the entry structure would improve performance.
-- There is a big inefficient in reading. On each read, the logic searches
+- There is a big inefficiency in reading. On each read, the logic searches
for the read position from the beginning of the file each time. This
may be necessary whenever an lseek() is done, but not in general. Read
performance could be improved by keeping FLASH offset and read positional
@@ -168,4 +168,13 @@ Things to Do
FLASH. As the file system becomes more filled with fixed files at the
front of the device, the level of wear on the blocks at the end of the
FLASH increases.
+- When the time comes to reorganization the FLASH, the system may be
+ inavailable for a long time. That is a bad behavior. What is needed,
+ I think, is a garbage collection task that runs periodically so that
+ when the big reorganizaiton event occurs, most of the work is already
+ done. That garbarge collection should search for valid blocks that no
+ longer contain valid data. It should pre-erase them, put them in
+ a good but empty state... all ready for file system re-organization.
+
+