Got it~! :)
2021년 1월 22일 (금) 오전 9:55, Chao Yu <[email protected]>님이 작성: > > If there is no update in v5, it will be better to include my Reviewed-by > tag, please note that. :) > > Thanks, > > On 2021/1/21 21:45, Daeho Jeong wrote: > > From: Daeho Jeong<[email protected]> > > > > We've added a new mount option "checkpoint=merge", which creates a > > kernel daemon and makes it to merge concurrent checkpoint requests as > > much as possible to eliminate redundant checkpoint issues. Plus, we > > can eliminate the sluggish issue caused by slow checkpoint operation > > when the checkpoint is done in a process context in a cgroup having > > low i/o budget and cpu shares. To make this do better, we set the > > default i/o priority of the kernel daemon to "3", to give one higher > > priority than other kernel threads. The below verification result > > explains this. > > The basic idea has come fromhttps://opensource.samsung.com. > > > > [Verification] > > Android Pixel Device(ARM64, 7GB RAM, 256GB UFS) > > Create two I/O cgroups (fg w/ weight 100, bg w/ wight 20) > > Set "strict_guarantees" to "1" in BFQ tunables > > > > In "fg" cgroup, > > - thread A => trigger 1000 checkpoint operations > > "for i in `seq 1 1000`; do touch test_dir1/file; fsync test_dir1; > > done" > > - thread B => gererating async. I/O > > "fio --rw=write --numjobs=1 --bs=128k --runtime=3600 --time_based=1 > > --filename=test_img --name=test" > > > > In "bg" cgroup, > > - thread C => trigger repeated checkpoint operations > > "echo $$ > /dev/blkio/bg/tasks; while true; do touch test_dir2/file; > > fsync test_dir2; done" > > > > We've measured thread A's execution time. > > > > [ w/o patch ] > > Elapsed Time: Avg. 68 seconds > > [ w/ patch ] > > Elapsed Time: Avg. 48 seconds > > > > Signed-off-by: Daeho Jeong<[email protected]> > > Signed-off-by: Sungjong Seo<[email protected]>

