[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

More info on task block times



Ok, I redid my *task not interacting with JFFS2* block times test.
This time I made sure the test programs pages were locked in memory.

This is what I got (basically the same results).

http://www.embeddedlinuxworks.com/jitterTest4.jpg

Then I deleted the file filling up the jffs2 fs and waited and waited
for gc to start.

No GC happened even after waiting for > 2 minutes.

"df" says:
/dev/mtdblock1            8192      1916      6276  23% /mnt/jffs1
#(It's really JFFS2, NOT 1, the jffs1 dir is because it's mtdblock1
that's mounted)

"top" says:
  542 root      15  10     0    0     0 SWN     0  0.0  0.0  87:04
jffs2_gcd_mtd1

The I did a:
#kill -SIGCONT 542

Still no GC!

The I did a:
#kill -SIGSTOP followed by a SIGCONT.

It then GC'd *3* erase sectors.

I then rebooted the system and remounted the JFFS2 partition. Still No
more GC's!! (at this point there's about 8MB of dirty space it it has
only cleaned about 1MB)


**********************************************
Here are some profiles of block times: Note that this task is in no way
(supposed) to be directly interacting with the JFFS2 fs!
It's reading and writing to an ext2 ram disk partition.

<snip>
 105.077000 ms   5.077000 ms
 101.564000 ms   1.564000 ms
 817.507000 ms   717.507000 ms!<Profile saved in
file:JitterTest.profilesnap-0>
CHIP_ERASE:Erasing_at_address: 0x7c0000
 215.797000 ms   115.797000 ms
<snip>

[root@xxxxxxx.profilesnap-0 -m
/boot/linux-2.4.5-JFFS2.System.map
     4 startup_32                                 0.0242
     5 printk                                     0.0121
     1 sys_write                                  0.0051
     1 write_profile                              0.0179
     2 longest_match                              0.0045
    70 jffs2_del_ino_cache                        1.2500
     3 __generic_copy_to_user                     0.0500
    86 total                                      0.0001


<snip>
   100.024000 ms   0.024000 ms
 2106.569000 ms   2006.569000 ms!<Profile saved in
file:JitterTest.profilesnap-1>
CHIP_ERASE:Erasing_at_address: 0x240000
Waiting for chip to read, status = 4
 223.364000 ms   123.364000 ms
 100.001000 ms   0.001000 ms
<snip>

[root@xxxxxxx.profilesnap-1 -m
/boot/linux-2.4.5-JFFS2.System.map
     4 startup_32                                 0.0242
     6 __wake_up                                  0.0349
    17 printk                                     0.0413
     1 kmem_cache_alloc                           0.0114
     2 kmalloc                                    0.0143
     1 kfree                                      0.0053
     1 write_profile                              0.0179
     1 jffs2_compress                             0.0093
     1 zlib_compress                              0.0025
     1 deflateInit2_                              0.0018
     1 flush_pending                              0.0109
     2 read_buf                                   0.0179
    16 lm_init                                    0.0889
    29 longest_match                              0.0653
     8 deflate_fast                               0.0124
     2 init_block                                 0.0135
     4 pqdownheap                                 0.0156
     1 gen_codes                                  0.0083
     3 build_tree                                 0.0047
     5 scan_tree                                  0.0184
     2 send_tree                                  0.0013
     6 _tr_tally                                  0.0197
     8 compress_block                             0.0066
     1 bi_reverse                                 0.0278
     4 inflate_blocks                             0.0009
     6 huft_build                                 0.0036
     1 inflate_flush                              0.0027
    14 inflate_fast                               0.0147
     3 adler32                                    0.0083
     2 jffs2_do_readpage_nolock                   0.0027
     1 jffs2_read_dnode                           0.0009
     3 jffs2_mark_node_obsolete                   0.0032
     4 jffs2_add_full_dnode_to_fraglist           0.0072
     5 jffs2_garbage_collect_pass                 0.0047
     3 jffs2_garbage_collect_dnode                0.0024
     1 pcnet32_rx                                 0.0012
     4 do_write_oneword                           0.0051
     1 __loop_delay                               0.0250
    39 __delay                                    0.9750
     5 __generic_copy_to_user                     0.0833
   219 total                                      0.0002




<snip>
 100.003000 ms   0.003000 ms
 2886.433000 ms   2786.433000 ms!<Profile saved in
file:JitterTest.profilesnap-2>
CHIP_ERASE:Erasing_at_address: 0x200000
Waiting for chip to read, status = 4
 223.532000 ms   123.532000 ms
 100.032000 ms   0.032000 ms
<snip>


[root@xxxxxxx.profilesnap-2 -m
/boot/linux-2.4.5-JFFS2.System.map
     4 startup_32                                 0.0242
     6 __wake_up                                  0.0349
    22 printk                                     0.0534
     1 generic_file_write                         0.0007
     2 kmalloc                                    0.0143
     1 kmem_find_general_cachep                   0.0208
     1 write_profile                              0.0179
     1 flush_pending                              0.0109
     1 read_buf                                   0.0089
    20 lm_init                                    0.1111
    37 longest_match                              0.0833
    15 deflate_fast                               0.0233
     2 init_block                                 0.0135
     3 pqdownheap                                 0.0117
     4 gen_bitlen                                 0.0071
     2 gen_codes                                  0.0167
     3 build_tree                                 0.0047
     4 scan_tree                                  0.0147
     1 send_tree                                  0.0007
     7 _tr_tally                                  0.0230
    18 compress_block                             0.0149
     3 inflate_blocks                             0.0007
     5 huft_build                                 0.0030
     1 inflate_codes                              0.0004
     1 inflate_flush                              0.0027
    23 inflate_fast                               0.0242
     5 adler32                                    0.0139
     6 jffs2_do_readpage_nolock                   0.0081
     1 jffs2_alloc_raw_inode                      0.0500
     5 jffs2_read_dnode                           0.0043
     1 jffs2_add_physical_node_ref                0.0019
     5 jffs2_add_full_dnode_to_fraglist           0.0091
     2 jffs2_write_dnode                          0.0029
     8 jffs2_garbage_collect_pass                 0.0076
     3 jffs2_garbage_collect_dnode                0.0024
     1 cfi_amdstd_read                            0.0020
    10 do_write_oneword                           0.0128
     1 cfi_amdstd_write                           0.0009
     2 physmap_read32                             0.1250
     3 physmap_copy_from                          0.0682
    50 __delay                                    1.2500
     2 __udelay                                   0.0357
     2 __generic_copy_to_user                     0.0333
   295 total                                      0.0003


Vipin


To unsubscribe from this list: send the line "unsubscribe jffs-dev" in
the body of a message to majordomo@xxxxxxx.com