下载此文档

ubifs性能优化分析.doc


文档分类:通信/电子 | 页数:约11页 举报非法文档有奖
1/11
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/11 下载此文档
文档列表 文档介绍
ubifs性能优化分析本文通过分析ubifs的mount、read、mit流程,挖掘ubifs背后的设计决策和性能优化手段,并结合自身产品的特点,给出一些读写性能改进方案。。这其中包括上层(vfs层、页缓存层、通用块层)的回调接口的注册,从设备中获取相关信息(superblock,masternode,log,orphan,indexnode),初始化ubifs_info、TNC、LPT等内部对象,并对ubifs各区(默认不检查main区的indexnode,因为有log区的日志,一般情况下不需要扫描所有的indextree)、journalhead、lpthead等进行校验、检查、修复、更新,创建后台进程等。可以看出,mount中包含了检查和修复过程,所以ubifs并没有提供额外的修复工具,这一点区别于vfat、ext3等文件系统。mount的核心函数为ubifs_init,其主要负责外部对象的初始化,内部对象的初始化由ubifs_get_sb负责。具体细节如下:ubifs_init主要流程:创建ubifsinodeslab(kmem_cache_create)注册ubifsTNCshrinker回收功能ubifs_shrinker_info(register_shrinker)注册压缩算法(pressors_init)注册debugfs(dbg_debugfs_init)注册ubifs文件系统ubifs_fs_type(register_filesystem)()继续初始化ubifs_get_sb主要流程:获取ubi_volume_desc对象创建并初始化ubifs_info对象和super_block对象读取并验证、修复ubifs_sb_node,并以ubifs_sb_node继续初始化ubifs_info对象创建wbuf和后台线程ubifs_bgt1_0,其主要作用是后台同步write-mit、垃圾回收等。读取并验证、修复ubifs_mst_node,并以ubifs_mst_node继续初始化ubifs_info对象如果发现indexandLPT头有损坏就进行修复,以继续初始化ubifs_info更新masternode信息遍历、检查indexingnode(ubifs_zbranch,ubifs_znode)的总大小是否与c->(dbg_check_idx_size,由chk_index控制,默认关闭)回放log,检查修复indexnode,并更新TNC(ubifs_replay_journal)删除orphaninode(ubifs_mount_orphans)检查indexingtree的叶节点是否存在、crc等验证信息(dbg_check_filesystem,由chk_fs控制,默认关闭)设置垃圾回收gc_waterline(UBIFS_FREE_RESERVE_RATIO5),唤醒后台线程。,在存储层次中依次查找所需数据,直至找到并完成读取:pagecachewritebufferflashubifs一切数据都封装成node,不同类型的node有不同的长度。一个datanode最大可以存储的数据大小为UBIFS_BLOCK_SIZE(4096)。也就是说ubifs单次读的最大长度即block大小。ubifs读系统调用路径如下:read->do_sync_read->aio_read->generic_file_aio_read->generic_file_aio_read->do_generic_file_read->readpage->ubifs_bulk_read或do_readpagedo_readpage:读取一个内存page,ubifs按block大小,把page切分成ubifsblock后再依次按block进行读(read_block)。ubifs_bulk_read:如果datanode连续并在同一个LEB中,并超过3个内存page及以上(read_in_a_row控制),自动启动bulk_read。或者在mount时可以指定bulk_readoption使能bulkread功能。bulkread最多支持UBIFS_MAX_BULK_READ(32)个block的连续读。,在存储层次中依次写入,直至写到flash中:pagecachewritebufferTNClogareamainarea

ubifs性能优化分析 来自淘豆网www.taodocs.com转载请标明出处.

非法内容举报中心
文档信息
  • 页数11
  • 收藏数0 收藏
  • 顶次数0
  • 上传人glfsnxh
  • 文件大小25 KB
  • 时间2020-04-17