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
没有评论:
发表评论