Message ID | 20240221195125.102479-1-shivam.kumar1@nutanix.com (mailing list archive) |
---|---|
Headers | show |
Series | Per-vCPU dirty quota-based throttling | expand |
> On 22-Feb-2024, at 1:22 AM, Shivam Kumar <shivam.kumar1@nutanix.com> wrote: > > The current v10 patchset includes the following changes over v9: > > 1. Use vma_pagesize as the dirty granularity for updating dirty quota > on arm64. > 2. Do not update dirty quota for instances where the hypervisor is > writing into guest memory. Accounting for these instances in vCPUs' > dirty quota is unfair to the vCPUs. Also, some of these instances, > such as record_steal_time, frequently try to redundantly mark the same > set of pages dirty again and again. To avoid these distortions, we had > previously relied on checking the dirty bitmap to avoid redundantly > updating quotas. Since we have now decoupled dirty-quota-based > throttling from the live-migration dirty-tracking path, we have > resolved this issue by simply avoiding the mis-accounting caused by > these hypervisor-induced writes to guest memory. Through extensive > experiments, we have verified that this new approach is approximately > as effective as the prior approach that relied on checking the dirty > bitmap. > Hi Marc, I’ve tried my best to address all the concerns raised in the previous patchset. I’d really appreciate it if you could share your thoughts and any feedback you might have on this one. Thanks, Shivam
On Thu, 21 Mar 2024 05:48:01 +0000, Shivam Kumar <shivam.kumar1@nutanix.com> wrote: > > > > On 22-Feb-2024, at 1:22 AM, Shivam Kumar <shivam.kumar1@nutanix.com> wrote: > > > > The current v10 patchset includes the following changes over v9: > > > > 1. Use vma_pagesize as the dirty granularity for updating dirty quota > > on arm64. > > 2. Do not update dirty quota for instances where the hypervisor is > > writing into guest memory. Accounting for these instances in vCPUs' > > dirty quota is unfair to the vCPUs. Also, some of these instances, > > such as record_steal_time, frequently try to redundantly mark the same > > set of pages dirty again and again. To avoid these distortions, we had > > previously relied on checking the dirty bitmap to avoid redundantly > > updating quotas. Since we have now decoupled dirty-quota-based > > throttling from the live-migration dirty-tracking path, we have > > resolved this issue by simply avoiding the mis-accounting caused by > > these hypervisor-induced writes to guest memory. Through extensive > > experiments, we have verified that this new approach is approximately > > as effective as the prior approach that relied on checking the dirty > > bitmap. > > > > Hi Marc, > > I’ve tried my best to address all the concerns raised in the > previous patchset. I’d really appreciate it if you could share your > thoughts and any feedback you might have on this one. I'll get to it at some point. However, given that it has you taken the best part of a year to respin this, I need to page it all back it, which is going to take a bit of time as well. Thanks, M.
On Wed, Feb 21, 2024, Shivam Kumar wrote: > v1: > https://lore.kernel.org/kvm/20211114145721.209219-1-shivam.kumar1@xxxxxxxxxxx/ > v2: https://lore.kernel.org/kvm/Ydx2EW6U3fpJoJF0@xxxxxxxxxx/T/ > v3: https://lore.kernel.org/kvm/YkT1kzWidaRFdQQh@xxxxxxxxxx/T/ > v4: > https://lore.kernel.org/all/20220521202937.184189-1-shivam.kumar1@xxxxxxxxxxx/ > v5: https://lore.kernel.org/all/202209130532.2BJwW65L-lkp@xxxxxxxxx/T/ > v6: > https://lore.kernel.org/all/20220915101049.187325-1-shivam.kumar1@xxxxxxxxxxx/ > v7: > https://lore.kernel.org/all/a64d9818-c68d-1e33-5783-414e9a9bdbd1@xxxxxxxxxxx/t/ These links are all busted, which was actually quite annoying because I wanted to go back and look at Marc's input. > v8: > https://lore.kernel.org/all/20230225204758.17726-1-shivam.kumar1@nutanix.com/ > v9: > https://lore.kernel.org/kvm/20230504144328.139462-1-shivam.kumar1@nutanix.com/
> On 16-Apr-2024, at 11:14 PM, Sean Christopherson <seanjc@google.com> wrote: > On Wed, Feb 21, 2024, Shivam Kumar wrote: >> v1: >> https://urldefense.proofpoint.com/v2/url?u=https-3A__lore.kernel.org_kvm_20211114145721.209219-2D1-2Dshivam.kumar1-40xxxxxxxxxxx_&d=DwIBAg&c=s883GpUCOChKOHiocYtGcg&r=4hVFP4-J13xyn-OcN0apTCh8iKZRosf5OJTQePXBMB8&m=npf2bNeivHu5BXcy66M81khdW0sy4qDh5d4kC_VThlzr1X2JvYVuDHMBYmNYzXMM&s=buLjKsfeC2-NhTOg3Gq9bQJg9XFUMlvJsi6vYIiVI9k&e= >> v2: https://urldefense.proofpoint.com/v2/url?u=https-3A__lore.kernel.org_kvm_Ydx2EW6U3fpJoJF0-40xxxxxxxxxx_T_&d=DwIBAg&c=s883GpUCOChKOHiocYtGcg&r=4hVFP4-J13xyn-OcN0apTCh8iKZRosf5OJTQePXBMB8&m=npf2bNeivHu5BXcy66M81khdW0sy4qDh5d4kC_VThlzr1X2JvYVuDHMBYmNYzXMM&s=UUUIpjYiKj6G3_SlR40R9KS6UmuIlLU089Ai6SdPrC8&e= >> v3: https://urldefense.proofpoint.com/v2/url?u=https-3A__lore.kernel.org_kvm_YkT1kzWidaRFdQQh-40xxxxxxxxxx_T_&d=DwIBAg&c=s883GpUCOChKOHiocYtGcg&r=4hVFP4-J13xyn-OcN0apTCh8iKZRosf5OJTQePXBMB8&m=npf2bNeivHu5BXcy66M81khdW0sy4qDh5d4kC_VThlzr1X2JvYVuDHMBYmNYzXMM&s=oQqOZNHdDOMAEkLEKPjwiffKaQdK3T4kZf_DRRUTuxo&e= >> v4: >> https://urldefense.proofpoint.com/v2/url?u=https-3A__lore.kernel.org_all_20220521202937.184189-2D1-2Dshivam.kumar1-40xxxxxxxxxxx_&d=DwIBAg&c=s883GpUCOChKOHiocYtGcg&r=4hVFP4-J13xyn-OcN0apTCh8iKZRosf5OJTQePXBMB8&m=npf2bNeivHu5BXcy66M81khdW0sy4qDh5d4kC_VThlzr1X2JvYVuDHMBYmNYzXMM&s=4fJ-Dzy7gsEnExqmGF0nP8K41YdVWUC3v9urCMn8RQI&e= >> v5: https://urldefense.proofpoint.com/v2/url?u=https-3A__lore.kernel.org_all_202209130532.2BJwW65L-2Dlkp-40xxxxxxxxx_T_&d=DwIBAg&c=s883GpUCOChKOHiocYtGcg&r=4hVFP4-J13xyn-OcN0apTCh8iKZRosf5OJTQePXBMB8&m=npf2bNeivHu5BXcy66M81khdW0sy4qDh5d4kC_VThlzr1X2JvYVuDHMBYmNYzXMM&s=5GXvSQngNeqX62nS-3Yve0-bCtHxKYLFfl4AZiFO-u0&e= >> v6: >> https://urldefense.proofpoint.com/v2/url?u=https-3A__lore.kernel.org_all_20220915101049.187325-2D1-2Dshivam.kumar1-40xxxxxxxxxxx_&d=DwIBAg&c=s883GpUCOChKOHiocYtGcg&r=4hVFP4-J13xyn-OcN0apTCh8iKZRosf5OJTQePXBMB8&m=npf2bNeivHu5BXcy66M81khdW0sy4qDh5d4kC_VThlzr1X2JvYVuDHMBYmNYzXMM&s=S8mqK70ZETRAaQ0pmpYz9fzoJDYcDVMSgMtcUmCL4fE&e= >> v7: >> https://urldefense.proofpoint.com/v2/url?u=https-3A__lore.kernel.org_all_a64d9818-2Dc68d-2D1e33-2D5783-2D414e9a9bdbd1-40xxxxxxxxxxx_t_&d=DwIBAg&c=s883GpUCOChKOHiocYtGcg&r=4hVFP4-J13xyn-OcN0apTCh8iKZRosf5OJTQePXBMB8&m=npf2bNeivHu5BXcy66M81khdW0sy4qDh5d4kC_VThlzr1X2JvYVuDHMBYmNYzXMM&s=R9mCz9k87Sbv1QYREMeuD4l9fH-duqb1RInN3lmRBeo&e= > > These links are all busted, which was actually quite annoying because I wanted to > go back and look at Marc's input. Extremely sorry about that. Will fix them. I didn’t realise this when I copied the links from the previous patch. Thanks, Shivam
> On 04-Apr-2024, at 2:49 PM, Marc Zyngier <maz@kernel.org> wrote: > On Thu, 21 Mar 2024 05:48:01 +0000, > Shivam Kumar <shivam.kumar1@nutanix.com> wrote: >> >> >>> On 22-Feb-2024, at 1:22 AM, Shivam Kumar <shivam.kumar1@nutanix.com> wrote: >>> >>> The current v10 patchset includes the following changes over v9: >>> >>> 1. Use vma_pagesize as the dirty granularity for updating dirty quota >>> on arm64. >>> 2. Do not update dirty quota for instances where the hypervisor is >>> writing into guest memory. Accounting for these instances in vCPUs' >>> dirty quota is unfair to the vCPUs. Also, some of these instances, >>> such as record_steal_time, frequently try to redundantly mark the same >>> set of pages dirty again and again. To avoid these distortions, we had >>> previously relied on checking the dirty bitmap to avoid redundantly >>> updating quotas. Since we have now decoupled dirty-quota-based >>> throttling from the live-migration dirty-tracking path, we have >>> resolved this issue by simply avoiding the mis-accounting caused by >>> these hypervisor-induced writes to guest memory. Through extensive >>> experiments, we have verified that this new approach is approximately >>> as effective as the prior approach that relied on checking the dirty >>> bitmap. >>> >> >> Hi Marc, >> >> I’ve tried my best to address all the concerns raised in the >> previous patchset. I’d really appreciate it if you could share your >> thoughts and any feedback you might have on this one. > > I'll get to it at some point. However, given that it has you taken the > best part of a year to respin this, I need to page it all back it, > which is going to take a bit of time as well. > > Thanks, > > M. > > -- > Without deviation from the norm, progress is not possible. > No problem. Thank you for acknowledging. Thanks, Shivam