On 2012-09-28 14:33, Anthony Liguori wrote: > Jan Kiszka <jan.kis...@siemens.com> writes: > >> On 2012-09-28 01:21, Satoru Moriya wrote: >>> This is a first time for me to post a patch to qemu-devel. >>> If there is something missing/wrong, please let me know. >>> >>> We have some plans to migrate old enterprise systems which require >>> low latency (msec order) to kvm virtualized environment. Usually, >>> we uses mlock to preallocate and pin down process memory in order >>> to avoid page allocation in latency critical path. On the other >>> hand, in kvm environment, mlocking in guests is not effective >>> because it can't avoid page reclaim in host. Actually, to avoid >>> guest memory reclaim, qemu has "mem-path" option that is actually >>> for using hugepage. But a memory region of qemu is not allocated >>> on hugepage, so it may be reclaimed. That may cause a latency >>> problem. >>> >>> To avoid guest and qemu memory reclaim, this patch introduces >>> a new "mlock" option. With this option, we can preallocate and >>> pin down guest and qemu memory before booting guest OS. >> >> I guess this reduces the likeliness of multi-millisecond latencies for >> you but not eliminate them. Of course, mlockall is part of our local >> changes for real-time QEMU/KVM, but it is just one of the many pieces >> required. I'm wondering how the situation is on your side. >> >> I think mlockall should once be enabled automatically as soon as you ask >> for real-time support for QEMU guests. How that should be controlled is >> another question. I'm currently carrying a top-level switch "-rt >> maxprio=x[,policy=y]" here, likely not the final solution. I'm not >> really convinced we need to control memory locking separately. And as we >> are very reluctant to add new top-level switches, this is even more >> important. > > I think you're right here although I'd suggest not abbreviating.
You mean the sense of "-realtime" instead of "-rt"? Jan -- Siemens AG, Corporate Technology, CT RTC ITP SDP-DE Corporate Competence Center Embedded Linux