Ryo Tsuruta wrote: > KAMEZAWA Hiroyuki <kamezawa.hiroyu@xxxxxxxxxxxxxx> wrote: >> > dm-ioband gives high priority to I/O for swap-out by checking whether >> > PG_swapcache flag is set on the I/O page, regardless of the assigned >> > I/O bandwidth, and the bandwidth consumed for swap-out is charged to >> > the owner of the pages as a debt. >> > How about this approach? >> >> I don't think it's reasonable. Why I/O device, scheduler should know >> about >> such mm-related information ? I think layering is wrong. > > I think that urgent I/O requests such as swap-out should be notified > by setting a special flag in the struct bio, but there is no such > mechanism at this time. That is why dm-ioband uses this approach. > >> And your approatch cannot be a workaround. >> >> In follwing _typical_ case, >> >> - A process does small logging to /var/log/mylog, once in a sec. >> but it uses some amount of cold memory or shmem. >> >> This process's logging will be delayed _unexpectedly_ by some buggy >> process >> which does memory leak. > > Do you mean that the delay in logging is caused since the small process > is swapped out unexpectedly by the buggy processes? I don't write "small process", "small logging". Buggy process does swap-out and cosumes someone else's bandwidth, then, loggind will be delayed. Important here is throttle bandwidth consumed by buggy prorcess, not other's. > How about using memory cgroup to prevent the small process from swap-out? It never be help if memcg is not configured. My point is "don't allow anyone to use bandwidth of others." Considering job isolation, a thread who requests swap-out should be charged against bandwidth. Thanks, -Kame -- dm-devel mailing list dm-devel@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/dm-devel