From mboxrd@z Thu Jan 1 00:00:00 1970 From: Michel Thierry Subject: Re: [RFC 00/38] PPGTT dynamic page allocations Date: Tue, 04 Nov 2014 16:29:23 +0000 Message-ID: <5458FEE3.6090703@intel.com> References: <1412701894-28905-1-git-send-email-michel.thierry@intel.com> <20141104125458.GN26941@phenom.ffwll.local> Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="===============1352791970==" Return-path: Received: from mga14.intel.com (mga14.intel.com [192.55.52.115]) by gabe.freedesktop.org (Postfix) with ESMTP id E94506E584 for ; Tue, 4 Nov 2014 08:30:08 -0800 (PST) In-Reply-To: <20141104125458.GN26941@phenom.ffwll.local> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Daniel Vetter Cc: intel-gfx@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org This is a cryptographically signed message in MIME format. --===============1352791970== Content-Type: multipart/signed; protocol="application/pkcs7-signature"; micalg=sha1; boundary="------------ms090604050609040509030503" This is a cryptographically signed message in MIME format. --------------ms090604050609040509030503 Content-Type: text/plain; charset=windows-1252; format=flowed Content-Transfer-Encoding: quoted-printable On 11/4/2014 12:54 PM, Daniel Vetter wrote: > On Tue, Oct 07, 2014 at 06:10:56PM +0100, Michel Thierry wrote: >> This is based on the first 55 patches of Ben's 48b addressing work, ta= king >> into consideration the latest changes in (mainly aliasing) ppgtt rules= =2E >> >> Because of these changes in the tree, the first 17 patches of the orig= inal >> series are no longer needed, and some patches required more rework tha= n others. >> >> For GEN8, it has also been extended to work in logical ring submission= (lrc) >> mode, as it looks like it will be the preferred mode of operation. >> I also tried to update the lrc code at the same time the ppgtt refacto= ring >> occurred, leaving only one patch that is exclusively for lrc. >> >> I'm asking for comments, as this is the foundation for 48b virtual add= ressing >> in Broadwell. >> >> This list can be seen in 3 parts: >> [01-24] Include code rework for PPGTT (all GENs). >> [25-28] Adds page table allocation for GEN6/GEN7 >> [29-38] Enables dynamic allocation in GEN8. It is enabled for both leg= acy >> and execlist submission modes. >> >> Ben Widawsky (37): >> drm/i915: Add some extra guards in evict_vm >> drm/i915/trace: Fix offsets for 64b >> drm/i915: Wrap VMA binding >> drm/i915: Make pin global flags explicit >> drm/i915: Split out aliasing binds >> drm/i915: fix gtt_total_entries() >> drm/i915: Rename to GEN8_LEGACY_PDPES >> drm/i915: Split out verbose PPGTT dumping >> drm/i915: s/pd/pdpe, s/pt/pde >> drm/i915: rename map/unmap to dma_map/unmap >> drm/i915: Setup less PPGTT on failed pagedir >> drm/i915: Un-hardcode number of page directories >> drm/i915: Make gen6_write_pdes gen6_map_page_tables >> drm/i915: Range clearing is PPGTT agnostic >> drm/i915: Page table helpers, and define renames >> drm/i915: construct page table abstractions >> drm/i915: Complete page table structures >> drm/i915: Create page table allocators >> drm/i915: Generalize GEN6 mapping >> drm/i915: Clean up pagetable DMA map & unmap >> drm/i915: Always dma map page table allocations >> drm/i915: Consolidate dma mappings >> drm/i915: Always dma map page directory allocations >> drm/i915: Track GEN6 page table usage >> drm/i915: Extract context switch skip logic >> drm/i915: Track page table reload need >> drm/i915: Initialize all contexts >> drm/i915: Finish gen6/7 dynamic page table allocation >> drm/i915/bdw: Use dynamic allocation idioms on free >> drm/i915/bdw: pagedirs rework allocation >> drm/i915/bdw: pagetable allocation rework >> drm/i915/bdw: Make the pdp switch a bit less hacky >> drm/i915: num_pd_pages/num_pd_entries isn't useful >> drm/i915: Extract PPGTT param from pagedir alloc >> drm/i915/bdw: Split out mappings >> drm/i915/bdw: begin bitmap tracking >> drm/i915/bdw: Dynamic page table allocations >> >> Michel Thierry (1): >> drm/i915/bdw: Dynamic page table allocations in lrc mode > Ok, high level review: > > - The first part of this series seems to shuffle the code around in the= > vma binding code. If we actually want to fix this I think we need a > REBIND flag and push the logic for rewriting ptes into the vma_bind > hooks. There's no other way really to fix this, and the breakage for= > aliasing ppgtt this current code produces is what's blocking the cmd= > parser atm. > > - Imo mergin the vma_bind/insert_entries hooks isn't useful, they imo > provide good abstraction. Ofc we should move the vma_bind/unbind > funcstion into the vm functions, since the vfunc dictionary varies b= y vm > and not by vma. And they only really provide good abstraction if we > first fix up the binding mess. > > - The code massively shuffles around the pte and page table handling co= de, > promising a lot better future. But I simply don't get it - to me thi= s > all looks like massive amounts of churn for no clear gain. > > - Imo the really critical part of dynamic pagetable alloc is where exac= tly > we add this new memory allocation point and how we handle failures. = But > since there's so much churn that I somehow can't see through I can't= > have a solid opinion on the proposed design. > > So overall I think we should untangle this series first and throw out a= s > much churn as possible. E.g. the binding rework is very much separate i= mo. > Or someone needs to explain to my why we need all this code reflow. > > With that out of the way reviewing the changes due to dynamic page tabl= e > alloc should be fairly simple. My expectation would have been that we'd= > add a new interface to allocate vm ranges and essentially leave all the= > current vma binding unchanged. Having the separate vm range extension i= s > somewhat important since the drm_mm allocator has a bit the tendency to= > just walk up the address space, wasting piles of free space lower down.= > > Or like I've said maybe I just don't see the real issues and have way t= oo > naive opinion here. > > Cheers, Daniel Thanks for the comments Daniel, I'll prepare another version, trying to just focus in the dynamic alloc=20 part. -Michel --------------ms090604050609040509030503 Content-Type: application/pkcs7-signature; name="smime.p7s" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="smime.p7s" Content-Description: S/MIME Cryptographic Signature MIAGCSqGSIb3DQEHAqCAMIACAQExCzAJBgUrDgMCGgUAMIAGCSqGSIb3DQEHAQAAoIIRkjCC BOswggPToAMCAQICEFLpAsoR6ESdlGU4L6MaMLswDQYJKoZIhvcNAQEFBQAwbzELMAkGA1UE BhMCU0UxFDASBgNVBAoTC0FkZFRydXN0IEFCMSYwJAYDVQQLEx1BZGRUcnVzdCBFeHRlcm5h bCBUVFAgTmV0d29yazEiMCAGA1UEAxMZQWRkVHJ1c3QgRXh0ZXJuYWwgQ0EgUm9vdDAeFw0x MzAzMTkwMDAwMDBaFw0yMDA1MzAxMDQ4MzhaMHkxCzAJBgNVBAYTAlVTMQswCQYDVQQIEwJD QTEUMBIGA1UEBxMLU2FudGEgQ2xhcmExGjAYBgNVBAoTEUludGVsIENvcnBvcmF0aW9uMSsw KQYDVQQDEyJJbnRlbCBFeHRlcm5hbCBCYXNpYyBJc3N1aW5nIENBIDRBMIIBIjANBgkqhkiG 9w0BAQEFAAOCAQ8AMIIBCgKCAQEA4LDMgJ3YSVX6A9sE+jjH3b+F3Xa86z3LLKu/6WvjIdvU bxnoz2qnvl9UKQI3sE1zURQxrfgvtP0bPgt1uDwAfLc6H5eqnyi+7FrPsTGCR4gwDmq1WkTQ gNDNXUgb71e9/6sfq+WfCDpi8ScaglyLCRp7ph/V60cbitBvnZFelKCDBh332S6KG3bAdnNG B/vk86bwDlY6omDs6/RsfNwzQVwo/M3oPrux6y6zyIoRulfkVENbM0/9RrzQOlyK4W5Vk4EE sfW2jlCV4W83QKqRccAKIUxw2q/HoHVPbbETrrLmE6RRZ/+eWlkGWl+mtx42HOgOmX0BRdTR o9vH7yeBowIDAQABo4IBdzCCAXMwHwYDVR0jBBgwFoAUrb2YejS0Jvf6xCZU7wO94CTLVBow HQYDVR0OBBYEFB5pKrTcKP5HGE4hCz+8rBEv8Jj1MA4GA1UdDwEB/wQEAwIBhjASBgNVHRMB Af8ECDAGAQH/AgEAMDYGA1UdJQQvMC0GCCsGAQUFBwMEBgorBgEEAYI3CgMEBgorBgEEAYI3 CgMMBgkrBgEEAYI3FQUwFwYDVR0gBBAwDjAMBgoqhkiG+E0BBQFpMEkGA1UdHwRCMEAwPqA8 oDqGOGh0dHA6Ly9jcmwudHJ1c3QtcHJvdmlkZXIuY29tL0FkZFRydXN0RXh0ZXJuYWxDQVJv b3QuY3JsMDoGCCsGAQUFBwEBBC4wLDAqBggrBgEFBQcwAYYeaHR0cDovL29jc3AudHJ1c3Qt cHJvdmlkZXIuY29tMDUGA1UdHgQuMCygKjALgQlpbnRlbC5jb20wG6AZBgorBgEEAYI3FAID oAsMCWludGVsLmNvbTANBgkqhkiG9w0BAQUFAAOCAQEAKcLNo/2So1Jnoi8G7W5Q6FSPq1fm yKW3sSDf1amvyHkjEgd25n7MKRHGEmRxxoziPKpcmbfXYU+J0g560nCo5gPF78Wd7ZmzcmCc m1UFFfIxfw6QA19bRpTC8bMMaSSEl8y39Pgwa+HENmoPZsM63DdZ6ziDnPqcSbcfYs8qd/m5 d22rpXq5IGVUtX6LX7R/hSSw/3sfATnBLgiJtilVyY7OGGmYKCAS2I04itvSS1WtecXTt9OZ DyNbl7LtObBrgMLhZkpJW+pOR9f3h5VG2S5uKkA7Th9NC9EoScdwQCAIw+UWKbSQ0Isj2UFL 7fHKvmqWKVTL98sRzvI3seNC4DCCBiowggUSoAMCAQICChZNwGIAAAAAT+swDQYJKoZIhvcN AQEFBQAweTELMAkGA1UEBhMCVVMxCzAJBgNVBAgTAkNBMRQwEgYDVQQHEwtTYW50YSBDbGFy YTEaMBgGA1UEChMRSW50ZWwgQ29ycG9yYXRpb24xKzApBgNVBAMTIkludGVsIEV4dGVybmFs IEJhc2ljIElzc3VpbmcgQ0EgNEEwHhcNMTQwNDI4MTIyMzQ3WhcNMTcwNDEyMTIyMzQ3WjBD MRgwFgYDVQQDEw9UaGllcnJ5LCBNaWNoZWwxJzAlBgkqhkiG9w0BCQEWGG1pY2hlbC50aGll cnJ5QGludGVsLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAKuvwFQqpb2d bD6xItCPUz74nZG7NRczIbUcL8TFaJXQPU+wJhpZBXYhTv+Qme/ZgAlIF/caUKQZ0uYGcYVY yf7dPp+lShl6+CYqz/NDvSb28jxvMgK/3MLQaVQP/82V7nYbe/2JPpAXJVDW/PQk6j+I/tgK zAIxbr1IZB91KecP3p3ksnKuohDkJA4FEK/f9LWo18lSa92yYDhJ6kEV90a2VPA4l6UYngGs OYhVAAsRoba+ROSiuVG5yDyrKwrAhAXdSbpIH1KO91MsCNlUPEtKdunnSL6eoFXfe9cA9+iZ qrvddLWCmDkjsqCsXrBJs87gE8lj733wU+rUiIPnq08CAwEAAaOCAugwggLkMAsGA1UdDwQE AwIHgDA8BgkrBgEEAYI3FQcELzAtBiUrBgEEAYI3FQiGw4x1hJnlUYP9gSiFjp9TgpHACWeB 3r05lfBDAgFkAgEIMB0GA1UdDgQWBBRFUVbAqJvKLf4iKYvg6Gx6sRNhZjAfBgNVHSMEGDAW gBQeaSq03Cj+RxhOIQs/vKwRL/CY9TCByQYDVR0fBIHBMIG+MIG7oIG4oIG1hlRodHRwOi8v d3d3LmludGVsLmNvbS9yZXBvc2l0b3J5L0NSTC9JbnRlbCUyMEV4dGVybmFsJTIwQmFzaWMl MjBJc3N1aW5nJTIwQ0ElMjA0QS5jcmyGXWh0dHA6Ly9jZXJ0aWZpY2F0ZXMuaW50ZWwuY29t L3JlcG9zaXRvcnkvQ1JML0ludGVsJTIwRXh0ZXJuYWwlMjBCYXNpYyUyMElzc3VpbmclMjBD QSUyMDRBLmNybDCB7wYIKwYBBQUHAQEEgeIwgd8waQYIKwYBBQUHMAKGXWh0dHA6Ly93d3cu aW50ZWwuY29tL3JlcG9zaXRvcnkvY2VydGlmaWNhdGVzL0ludGVsJTIwRXh0ZXJuYWwlMjBC YXNpYyUyMElzc3VpbmclMjBDQSUyMDRBLmNydDByBggrBgEFBQcwAoZmaHR0cDovL2NlcnRp ZmljYXRlcy5pbnRlbC5jb20vcmVwb3NpdG9yeS9jZXJ0aWZpY2F0ZXMvSW50ZWwlMjBFeHRl cm5hbCUyMEJhc2ljJTIwSXNzdWluZyUyMENBJTIwNEEuY3J0MB8GA1UdJQQYMBYGCCsGAQUF BwMEBgorBgEEAYI3CgMMMCkGCSsGAQQBgjcVCgQcMBowCgYIKwYBBQUHAwQwDAYKKwYBBAGC NwoDDDBNBgNVHREERjBEoCgGCisGAQQBgjcUAgOgGgwYbWljaGVsLnRoaWVycnlAaW50ZWwu Y29tgRhtaWNoZWwudGhpZXJyeUBpbnRlbC5jb20wDQYJKoZIhvcNAQEFBQADggEBAMYpBdhi VzoxuD58VMj2xc6Zsz7cg0Bpiji7sfDrhswhYwWogsBukXFwhukKmSqRIwvdSIoWfBDA4kIS qvgrMTYPtDl59awxdvn+jWx/P0APyC3tBg4z+1u0waM3smppq5/8f8Hew2S0IWP7tIJeQ+NY IE+iX5NclbuK4mFNJa74Rw7uaWBY+4zBNDaaaCgosmPfP5sBQnJzYL0jnNJTWXZP74JUPj/7 9SXg+C0dSORUqkkIsCy0jPGzT3ypk75JJ80znb0uoO4kgW2hO7dAAEe1GkONG4Ab1Bsk4zJl 1FaFkOf5aAepzm4rwnVtRMpaL8rjce3VOfpCvcIg+WDFXUAwggZxMIIFWaADAgECAgoWTN75 AAAAAE/qMA0GCSqGSIb3DQEBBQUAMHkxCzAJBgNVBAYTAlVTMQswCQYDVQQIEwJDQTEUMBIG A1UEBxMLU2FudGEgQ2xhcmExGjAYBgNVBAoTEUludGVsIENvcnBvcmF0aW9uMSswKQYDVQQD EyJJbnRlbCBFeHRlcm5hbCBCYXNpYyBJc3N1aW5nIENBIDRBMB4XDTE0MDQyODEyMjI0OVoX DTE3MDQxMjEyMjI0OVowQzEYMBYGA1UEAxMPVGhpZXJyeSwgTWljaGVsMScwJQYJKoZIhvcN AQkBFhhtaWNoZWwudGhpZXJyeUBpbnRlbC5jb20wggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAw ggEKAoIBAQDECX/a/YWv0J8ABUwU61b73w7YCBE18G1fMdlsadEZUpg0BbpMOu0rx68iUq9x zU575ggweIlkt/qBGnGZvDVP8Iit5hFLmtlPnds0OelpjzE1o9nsgdrGEoT2BgjoTja+yLnv wDldEPqAszih/nCQcqtyH4vEmmnBxsUwMR7oD9U+U8sRLmpqbE1g0OGEh+X5zLrdNBEMZAGu iE2VeqvgS3poayRiJ2nc43ufMDtDlUnozq2H7+CRXU6yFsprpVTx29YHIrJLZxp+rBOlNQAy 8Ba5zyKq/lRRs79YLH8qzCdZJS7PfLpgBn8B8vl+Kp9iMMKdxhIMms46S+Grv+7FAgMBAAGj ggMvMIIDKzALBgNVHQ8EBAMCBDAwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhsOMdYSZ 5VGD/YEohY6fU4KRwAlnhLnZQYeE/04CAWQCAQ0wRAYJKoZIhvcNAQkPBDcwNTAOBggqhkiG 9w0DAgICAIAwDgYIKoZIhvcNAwQCAgCAMAcGBSsOAwIHMAoGCCqGSIb3DQMHMB0GA1UdDgQW BBRBzUHVb22UOyhMUTmF2b9/Rh7RMTAfBgNVHSMEGDAWgBQeaSq03Cj+RxhOIQs/vKwRL/CY 9TCByQYDVR0fBIHBMIG+MIG7oIG4oIG1hlRodHRwOi8vd3d3LmludGVsLmNvbS9yZXBvc2l0 b3J5L0NSTC9JbnRlbCUyMEV4dGVybmFsJTIwQmFzaWMlMjBJc3N1aW5nJTIwQ0ElMjA0QS5j cmyGXWh0dHA6Ly9jZXJ0aWZpY2F0ZXMuaW50ZWwuY29tL3JlcG9zaXRvcnkvQ1JML0ludGVs JTIwRXh0ZXJuYWwlMjBCYXNpYyUyMElzc3VpbmclMjBDQSUyMDRBLmNybDCB7wYIKwYBBQUH AQEEgeIwgd8waQYIKwYBBQUHMAKGXWh0dHA6Ly93d3cuaW50ZWwuY29tL3JlcG9zaXRvcnkv Y2VydGlmaWNhdGVzL0ludGVsJTIwRXh0ZXJuYWwlMjBCYXNpYyUyMElzc3VpbmclMjBDQSUy MDRBLmNydDByBggrBgEFBQcwAoZmaHR0cDovL2NlcnRpZmljYXRlcy5pbnRlbC5jb20vcmVw b3NpdG9yeS9jZXJ0aWZpY2F0ZXMvSW50ZWwlMjBFeHRlcm5hbCUyMEJhc2ljJTIwSXNzdWlu ZyUyMENBJTIwNEEuY3J0MB8GA1UdJQQYMBYGCCsGAQUFBwMEBgorBgEEAYI3CgMEMCkGCSsG AQQBgjcVCgQcMBowCgYIKwYBBQUHAwQwDAYKKwYBBAGCNwoDBDBNBgNVHREERjBEoCgGCisG AQQBgjcUAgOgGgwYbWljaGVsLnRoaWVycnlAaW50ZWwuY29tgRhtaWNoZWwudGhpZXJyeUBp bnRlbC5jb20wDQYJKoZIhvcNAQEFBQADggEBAGrtUHqoTWHttQxVewb/Uv6uL0YnPOVyFZs2 UKlnDV8zoUf4enk4FBIOKEqZIZ1Ektx5P1BaIHGfCVBP0Y4FIo2Twi4VHuWzkmECEKvjaur1 YTcuUHT3xQMsRS2CgUb2ttxGr381zG4CDKM9esAv0lDPzH+KgWhK1U+/gpq04AzLOQUHi5cP 1ZCINbo8AnunzRKhzegbQ6nr7frQlCUlrLMstzquhI0t8QjdFO3GKAjXF3wJf3aKnYNeFAWE xwLkdjM+TevhMpiNeBRJoEeUcGRRhe0YlhIoiryD5sZIeWGPBAhwOpZFGRdlXAcfbpwQ3K7a we2yqKeiU606TCcfppgxggO2MIIDsgIBATCBhzB5MQswCQYDVQQGEwJVUzELMAkGA1UECBMC Q0ExFDASBgNVBAcTC1NhbnRhIENsYXJhMRowGAYDVQQKExFJbnRlbCBDb3Jwb3JhdGlvbjEr MCkGA1UEAxMiSW50ZWwgRXh0ZXJuYWwgQmFzaWMgSXNzdWluZyBDQSA0QQIKFk3AYgAAAABP 6zAJBgUrDgMCGgUAoIICAzAYBgkqhkiG9w0BCQMxCwYJKoZIhvcNAQcBMBwGCSqGSIb3DQEJ BTEPFw0xNDExMDQxNjI5MjNaMCMGCSqGSIb3DQEJBDEWBBQdrMYhzcfUr73DDwUCRzL5Twle HTBsBgkqhkiG9w0BCQ8xXzBdMAsGCWCGSAFlAwQBKjALBglghkgBZQMEAQIwCgYIKoZIhvcN AwcwDgYIKoZIhvcNAwICAgCAMA0GCCqGSIb3DQMCAgFAMAcGBSsOAwIHMA0GCCqGSIb3DQMC AgEoMIGYBgkrBgEEAYI3EAQxgYowgYcweTELMAkGA1UEBhMCVVMxCzAJBgNVBAgTAkNBMRQw EgYDVQQHEwtTYW50YSBDbGFyYTEaMBgGA1UEChMRSW50ZWwgQ29ycG9yYXRpb24xKzApBgNV BAMTIkludGVsIEV4dGVybmFsIEJhc2ljIElzc3VpbmcgQ0EgNEECChZM3vkAAAAAT+owgZoG CyqGSIb3DQEJEAILMYGKoIGHMHkxCzAJBgNVBAYTAlVTMQswCQYDVQQIEwJDQTEUMBIGA1UE BxMLU2FudGEgQ2xhcmExGjAYBgNVBAoTEUludGVsIENvcnBvcmF0aW9uMSswKQYDVQQDEyJJ bnRlbCBFeHRlcm5hbCBCYXNpYyBJc3N1aW5nIENBIDRBAgoWTN75AAAAAE/qMA0GCSqGSIb3 DQEBAQUABIIBAGcBUIOGPGosK716BO7gB0M+iHm6TXQ0THLIvieAiSWhu665H4Pmqvu7dOpr aXVyKeSnYEoEIKE/wdBEDclpxJns2MFFKAu4VDVnm/KbG4jxTAeuj3o3WqXwcFLHGMypVDbm G/aK/tqKbewhcj6xLcL8lIA2Svn5qZ3JV3g4WtOh9IZZ1ghxq0i6lVQL1VzIZToosZw20d89 QglWotDGNROTd0YaHOeonfGXljBcp3F1MejCplJxDxF+V+mOkgMCexGu/fBfZLBsF/1TS9wG ALsXjJ2bVqZ/UdQSCrzHQsmIU1yrEqNdjyB32+0Gv3THZsF3+okqzKOov6HB22bmER4AAAAA AAA= --------------ms090604050609040509030503-- --===============1352791970== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: inline X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KSW50ZWwtZ2Z4 IG1haWxpbmcgbGlzdApJbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHA6Ly9saXN0 cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZngK --===============1352791970==--