2013年2月5日星期二

Linux File System Evolution

pages.cs.wisc.edu/~ll/fs-patch


study linux bug report to understand:
1. what patches do?
2. what type of bugs?
3. what techniques are used to improve performance/reliability?

patches = 40% bug fixes + 9% reliability/performance improment + 10% features + other maintainance

bug fixes = 60% semantic bugs + 10% concurrency bugs + 10% error code bug + 10% memory bug

stable file system doesn't mean bugs will become fewer (feature adding, etc.)

bug consequence = 40% corruption + 20% crash + 10% error + 10% wrong behaviors + others(leak, hang, etc.)
as opposed in application (user space) bugs: wrong behavior dominates

transaction code may introduce a large number of bugs, tree is not really error-prone

40% of bugs happen on failure paths (people don't handle failure well)

performance improvment = 25% sync optimaztion + 25% access optimzaiton + 25 scheduling optimzation


没有评论:

发表评论