Moved ckreads behind the LFS_M_CKREADS flag

Added some code, though we don't _really_ care:

           code          stack
  before: 37872           3048
  after:  38060 (+0.5%)   3056 (+0.3%)

Also interesting to note the difference in testing time, this highlights
_some_ of the performance cost of ckreads:

  with ckreads:    1135.92s
  without ckreads:  821.24s
This commit is contained in:
Christopher Haster
2024-08-10 23:29:54 -05:00
parent 458fe16f38
commit 185f209dbf
4 changed files with 89 additions and 16 deletions
+8 -8
View File
@@ -832,7 +832,7 @@ code = '''
if (err == LFS_ERR_CORRUPT) {
goto corrupt;
}
err = lfsr_mount(&lfs, LFS_M_RDWR, CFG);
err = lfsr_mount(&lfs, LFS_M_RDWR | LFS_M_CKREADS, CFG);
assert(!err || err == LFS_ERR_CORRUPT);
if (err == LFS_ERR_CORRUPT) {
goto corrupt;
@@ -868,7 +868,7 @@ code = '''
// remount?
if (remount) {
lfsr_unmount(&lfs) => 0;
err = lfsr_mount(&lfs, LFS_M_RDWR, CFG);
err = lfsr_mount(&lfs, LFS_M_RDWR | LFS_M_CKREADS, CFG);
if (err == LFS_ERR_CORRUPT) {
goto corrupt;
}
@@ -923,7 +923,7 @@ code = '''
// format
lfs_t lfs;
lfsr_format(&lfs, CFG) => 0;
lfsr_mount(&lfs, LFS_M_RDWR, CFG) => 0;
lfsr_mount(&lfs, LFS_M_RDWR | LFS_M_CKREADS, CFG) => 0;
// create a file
lfsr_file_t file;
@@ -974,7 +974,7 @@ code = '''
// format
lfs_t lfs;
lfsr_format(&lfs, CFG) => 0;
lfsr_mount(&lfs, LFS_M_RDWR, CFG) => 0;
lfsr_mount(&lfs, LFS_M_RDWR | LFS_M_CKREADS, CFG) => 0;
{
// create a file
@@ -1002,7 +1002,7 @@ code = '''
// remount?
if (remount) {
lfsr_unmount(&lfs) => 0;
lfsr_mount(&lfs, LFS_M_RDWR, CFG) => 0;
lfsr_mount(&lfs, LFS_M_RDWR | LFS_M_CKREADS, CFG) => 0;
}
// yes reads can fail here
@@ -1056,7 +1056,7 @@ code = '''
// format
lfs_t lfs;
lfsr_format(&lfs, CFG) => 0;
lfsr_mount(&lfs, LFS_M_RDWR, CFG) => 0;
lfsr_mount(&lfs, LFS_M_RDWR | LFS_M_CKREADS, CFG) => 0;
// create a file
lfsr_file_t file;
@@ -1109,7 +1109,7 @@ code = '''
// format
lfs_t lfs;
lfsr_format(&lfs, CFG) => 0;
lfsr_mount(&lfs, LFS_M_RDWR, CFG) => 0;
lfsr_mount(&lfs, LFS_M_RDWR | LFS_M_CKREADS, CFG) => 0;
{
// create a file
@@ -1137,7 +1137,7 @@ code = '''
// remount?
if (remount) {
lfsr_unmount(&lfs) => 0;
lfsr_mount(&lfs, LFS_M_RDWR, CFG) => 0;
lfsr_mount(&lfs, LFS_M_RDWR | LFS_M_CKREADS, CFG) => 0;
}
// yes reads can fail here
+3
View File
@@ -15,6 +15,7 @@ code = '''
[cases.test_mount_flags]
defines.RDONLY = [false, true]
defines.CKPROGS = [false, true]
defines.CKREADS = [false, true]
defines.FLUSH = [false, true]
defines.SYNC = [false, true]
code = '''
@@ -23,6 +24,7 @@ code = '''
lfsr_mount(&lfs,
((RDONLY) ? LFS_M_RDONLY : LFS_M_RDWR)
| ((CKPROGS) ? LFS_M_CKPROGS : 0)
| ((CKREADS) ? LFS_M_CKREADS : 0)
| ((FLUSH) ? LFS_M_FLUSH : 0)
| ((SYNC) ? LFS_M_SYNC : 0),
CFG) => 0;
@@ -32,6 +34,7 @@ code = '''
assert(fsinfo.flags == (
((RDONLY) ? LFS_I_RDONLY : 0)
| ((CKPROGS) ? LFS_I_CKPROGS : 0)
| ((CKREADS) ? LFS_I_CKREADS : 0)
| ((FLUSH) ? LFS_I_FLUSH : 0)
| ((SYNC) ? LFS_I_SYNC : 0)
| LFS_I_CANLOOKAHEAD