From mboxrd@z Thu Jan 1 00:00:00 1970 Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751365AbeAPR3A (ORCPT + 1 other); Tue, 16 Jan 2018 12:29:00 -0500 Received: from mail-bn3nam01on0075.outbound.protection.outlook.com ([104.47.33.75]:55955 "EHLO NAM01-BN3-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1751066AbeAPR26 (ORCPT ); Tue, 16 Jan 2018 12:28:58 -0500 Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=thellstrom@vmware.com; Subject: Re: [PATCH] [RESEND] vmwgfx: use monotonic event timestamps To: Arnd Bergmann , VMware Graphics , Sinclair Yeh , David Airlie Cc: y2038@lists.linaro.org, Deepak Singh Rawat , Patrik Jakobsson , Alex Deucher , Arvind Yadav , dri-devel@lists.freedesktop.org, linux-kernel@vger.kernel.org References: <20180116171910.3259056-1-arnd@arndb.de> From: Thomas Hellstrom Message-ID: <351024f7-fa28-da69-624f-b07f7db97c68@vmware.com> Date: Tue, 16 Jan 2018 18:28:31 +0100 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.5.0 MIME-Version: 1.0 In-Reply-To: <20180116171910.3259056-1-arnd@arndb.de> Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 7bit Content-Language: en-US X-Originating-IP: [155.4.205.56] X-ClientProxiedBy: AM3PR07CA0132.eurprd07.prod.outlook.com (10.165.223.18) To CO2PR05MB762.namprd05.prod.outlook.com (10.141.227.14) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 2f739476-d2a7-402f-63a7-08d55d069979 X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:(7020095)(4652020)(4534125)(4602075)(4627221)(201703031133081)(201702281549075)(5600026)(4604075)(2017052603307)(7153060)(7193020);SRVR:CO2PR05MB762; X-Microsoft-Exchange-Diagnostics: 1;CO2PR05MB762;3:ayiCY7jNM5cX9Mo4Sdp9X2dZZ/h00sk8C/FaaeqfCEMg5h3fBoYxX9093kdrACuF9Iz5O2X8W+nZwKISq1gjX3S0axpYRaqeNNAxA68qK0VepPYv407pnCX8uB1n7U7QT22hlm5jhbACvvYFu8KBCBSmXTU/B+gFVAUy++cT7haZkiNJhLTeq+6MVto1uZ08GBjKBxi1gA2MdyJstaTvYIi+Y694BpNQerxsvxqNlYyVPrJIRkwE5QNMbMoTnhq5;25:MLh/nh6h4caV8YTFE+63XTDJqHCod9RjtHX5PP/Hqzinq8i9ogjvM/fasm/f2jfWlpw0g4bGsSWW56NqzJx6bCz0flyVN2sPFevbVN4KwdyNShJxLQPfZUCsfxffn6lq26qVcYPrfMj1xjyyYn7TMVXfVA9NM6QpFpjILDsaafKGt0LxGOBhKk8ZlR3/ljmrkMhbdRbsIsFZPSLKpNWq5I1LMEuwnzJJ2UJAKmJXICMHh/jKclMEjdAfIxXqa7u1mpq+TXg0J6+2M6LwYEdsQntzNVLVb4eJrPA7B9M1QaGsY3ohsbedU5voShTx0aBFGCiwzeNLEiveBkNZ8ysHQQ==;31:mwPfdRYuLlh1bJFTM6zrp6UmSUyuhk2Qnw2oeiT0dqb4+q0TGOdZlmM5qQ89E95IQyDRXLG2yvmplE8iHlwpR23va2J0IcXLAkMYrmCEr36PNYU4lrND3zVmJvGyyKpvnI81AJX6MS7u+5GYZyft4KRE09aXHMb24uoqNbt8y36pagMZMlWiUy1JhV3sPGx7egyyu6kcQZ+IemLDaRmfunv74URPVQ9wQaduoGnzVfQ= X-MS-TrafficTypeDiagnostic: CO2PR05MB762: X-LD-Processed: b39138ca-3cee-4b4a-a4d6-cd83d9dd62f0,ExtAddr X-Microsoft-Exchange-Diagnostics: 1;CO2PR05MB762;20:or2/vcOfYBb0Y2FvmfZjq/jk8rgosGDFIlL/BRIFkfWSD6QG9ius5wOY1h8pDtsFKrrNy+FRjAnivGah156IYwfFjAiLNh5OsSl6me4yEVQ1JcSv2iG5VNJfzV0DeEAOqDpG0+7WNao9JTWbYdPrJdEie1pQSNV9dGhAXmkRn8UBA7vrDYQt14ynJG7p21B9lr5C7ZUsBbVPVyED8h76CvRqbgnTcnvus9jwn9wjwQII7raLqo91XHkxT6nPni0mX8npIGxBnFmdZUhyT0+G0kncR2nW0jlDHPG8WaX1MptfjN562wjTlHs3ThxpHi73q5xB5gmXf48DvrnJfRW9hN8MVDhTsk9f2fkTJ4hZTUXCD62AXK9n9N7EVy1kggHl3iUAKw7qUsraQaNr/639R9SfmtzTcVc2Uef4w3mSfxO9wXLZJXoBSwkFahxeAhgoUsPMCFSp8qCjFIlsJ3Jf1Ash2w5jpRi9RzF4sFMw9mGKsXI21f49aNlBH0iyAip/;4:JpoejuM+bHqzUMl8+HhX0iWUr1eLD9Pwv6t03k8/evTVa9sdbSXTruM2MWg2x1OWLJ7bsLhMiD5fUr3uA22+rrRz7O8LHBpoKjCV2fhzNVkt1blegZgfBLxcbv/9KyS30JkVo953UCDINRx9D/B6rU5d98D0dkDMB/kVdU2wTO3REhCr0KEGWuZkiH9ELwWWk2KFFUj43ApMfPL8NZPgYq8XFsgHzVLJ776YG/D5WyGfXx0tDDd2Pis/qq6Igggg7xcEOjVrntZtJL+KNBbiERiVgPsvKpP8uYwzEmHrdNZuYP4ThwWL+eBaMOdmG1Cz X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:(10436049006162); X-Exchange-Antispam-Report-CFA-Test: BCL:0;PCL:0;RULEID:(6040470)(2401047)(8121501046)(5005006)(3002001)(3231023)(944501161)(93006095)(93001095)(10201501046)(6041268)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(20161123564045)(20161123562045)(20161123558120)(20161123560045)(6072148)(201708071742011);SRVR:CO2PR05MB762;BCL:0;PCL:0;RULEID:(100000803101)(100110400095);SRVR:CO2PR05MB762; X-Forefront-PRVS: 0554B1F54F X-Forefront-Antispam-Report: SFV:NSPM;SFS:(10009020)(979002)(346002)(376002)(39380400002)(366004)(396003)(39860400002)(24454002)(199004)(189003)(6246003)(8936002)(966005)(81166006)(23676004)(8676002)(2906002)(52116002)(81156014)(478600001)(7736002)(53936002)(305945005)(6506007)(53546011)(386003)(39060400002)(6306002)(31686004)(31696002)(2486003)(52146003)(83506002)(26005)(6512007)(59450400001)(50466002)(76176011)(8666007)(64126003)(106356001)(68736007)(105586002)(110136005)(54906003)(25786009)(58126008)(16526018)(3846002)(6116002)(229853002)(4326008)(6486002)(6666003)(316002)(65806001)(575784001)(66066001)(65956001)(5660300001)(47776003)(2950100002)(67846002)(65826007)(36756003)(230700001)(97736004)(86362001)(969003)(989001)(999001)(1009001)(1019001);DIR:OUT;SFP:1101;SCL:1;SRVR:CO2PR05MB762;H:linlap1.host.shipmail.org;FPR:;SPF:None;PTR:InfoNoRecords;A:1;MX:1;LANG:en; X-Microsoft-Exchange-Diagnostics: =?utf-8?B?MTtDTzJQUjA1TUI3NjI7MjM6YWZhNU5kMHVsOTVHQkpjaEpsM2FaNzY4c3c3?= =?utf-8?B?TlZtR0pJUUdYZlpvc0NHd2NPZHM3WmF6MjVSVndGRkE0ZkNrN1JDeHN6aE9N?= =?utf-8?B?RXFvRXdHem03WUVCeFFWMXAvQUhtTFdBdEppY3IxeGF2eHNEOURVVXlxbmc0?= =?utf-8?B?UytJR0N2ODJDYzdvendUSXFlQXBWWTFrbGNMbmhyOUpRSXoxMTBDbnBTVFZF?= =?utf-8?B?Q1RuNkhOUGtsYVB6QXhvSVN3UjVvbDZsbHlsTmtqZmVmdDU0TjZZbEd1Q0pj?= =?utf-8?B?UE9GUW9DZGxKWVZPaHk4TFZxcHErbVFXTnZhc0FDUTZWY1dqa0t3ZFJYbkdT?= =?utf-8?B?aEJFTmZjaFRVMGRlOWNpWU1HVnYxWDVYckF3RzVDbVA3VlUwRmF2SjZ6NTdz?= =?utf-8?B?V2JXR21ZbjVIRXRMRVV1cEpOSDMrcXYvaEJJYnBvM0dEMERuRzVCSzBhTEd5?= =?utf-8?B?VUd4ZzRzL3BIQWlOeGVZWFUyYkdrczY2MUdtSmxFRjYxeXNLS1ROQUFWTWpm?= =?utf-8?B?NWY2MG1NcU1TZFZ0WVFMSGE4YVV2T0ZOUGhBTU1qL1JMV2pJd2Z6WjFUdHUy?= =?utf-8?B?YlQxaEt3N0hqUkUrWGw4RWhSTVVzKzNvMCtwMVdwb1lvT2RodUZJdFFVMWNL?= =?utf-8?B?TU4yRVdwSzMvTFVxQk80NFlndGVDMnA2ZzFRWVlwdzZvSytPYS9SV1RqNzh0?= =?utf-8?B?SWhlbGtzSDVVbFhiRTBaMmNheVhkb3pFc0FzaGRZS2V2Wjd2bWlpT3FCNkht?= =?utf-8?B?MzZLL1RjeDd0anl3R0t5TUNxQVdkb3pvWE1KSXJiYWwxQUlqWHF1UDRyakpD?= =?utf-8?B?M1BHZzVLcGZIQU5CbnF3QkFHcnR4Zi9aWWhxTkx4aVFaNjVxamtXVUtwS3E2?= =?utf-8?B?aUhpcjJ5TXpCejBLN2haSE1CZ3VKclRMRkc3MXhkak1uM1ROeDlnY25UUzZJ?= =?utf-8?B?eU9RMDlTN1JDSDRqcy9wbWRuZWttTVh5bGNvYlJxYjk5bytFbU5JTGY1TVlF?= =?utf-8?B?ZU9EcjltZEh1MzBIYkVJanArWHBwSzNSRkNWbkZZSS9rMVhXckZvbnl4c3oy?= =?utf-8?B?dSt5N0FrQVpydmJLRW9td0NkcWZsRVF3VEpmaGFPb25MNE9JdTVuNFMxNVRy?= =?utf-8?B?ZkJIeUNnWFBCSEpuWkFUZHBKbEVwdEh5TTkzK2laWERJSkd6VkpNeEZIK0dl?= =?utf-8?B?cnJndFp3MUhORGN6NllLdGdYOVJEaldrY2pXaUJ0Tkt5TWlsOHZBVTN4bWh1?= =?utf-8?B?M3hXeEwxMlhQSVlUZERoSVUyWE5pdDlwOEoyU2F5ZUx0VEZaWjJRNmd1Z04v?= =?utf-8?B?MzRubmZBMWhRZHIrT01VQjNvcUYxL3FkWWk5YzRDbCtCdDNmZU4wZXFBQUpw?= =?utf-8?B?OGlNb0dZRHduRTg3NHF0M2NsaFRCckFBblpwNElzamg4MEowN1RiVFl4NjFI?= =?utf-8?B?dW5sVVJZVktCTE9leVdTdGFvZm1OWGtyNzlBYThrZ0I5SkZnZHlYVGFiZ0s4?= =?utf-8?B?NHBzbzZmMGhNKzN3cVh4c2lUbTFWQmltUXdqSUtiZTZpRVhkdkZnMXJvcWk4?= =?utf-8?B?UVpSUkxIWkFkRWE3eko3N1g5cmxjWGtDY3poS2xEd25OVVRtK0JJaU8vTkZo?= =?utf-8?B?RVp1a1JVUUNwa2RmVUdmWGk1SXlhYzIwZFQ0bmJQNGNuR3dQd0tMZUEwS0pV?= =?utf-8?B?OWRPaXAvSXRJVTFiK0VUVGJsQVU4eVhXYjRhMG51ZlFkeHIyVlAyVGdlSUxH?= =?utf-8?B?ZXpLK3dOa0IvMTYrQXNiSmZFTEM1MHQ3ZlI1WWh2aTRiVllDZmp0TTEzbjNo?= =?utf-8?B?em5xVVRkdUVoZEt1Um1nVmFqTnU2cnVkaDcyQkZncnBNdGNya2trR3NjVVZw?= =?utf-8?B?djZvZHJ0QmV4bDBTdzlGZm4rMUdJWWZsK2lXQkJmOStWa08xYnVqQmZhNnZy?= =?utf-8?B?Q25mbEE4RmJxSW1PZFBaS1Vvcy9pYlZnSmFya2hWTGdGQlVmTmZCRW1OL0ZU?= =?utf-8?B?Q01hbXNMNFoyUW9wMmhhcHdvaWxYTDlPcUJCeXp6S1BCc0ZnRXNnZWYrMFdJ?= =?utf-8?B?aGJFMHYxOFFvVW1BY3V6M09XOFlnbU9Ta1NKUzdHa3pJUlVPZlQ3aWs3YzVq?= =?utf-8?B?UG95U0xJaUgweEFHN21yRFdiVHFETmZUTEJzUGJEWkU5Mm9VNmt1TTljeGMz?= =?utf-8?B?bDNZaEU5WGxDS0pOSDdMQVVNOFE9PQ==?= X-Microsoft-Exchange-Diagnostics: 1;CO2PR05MB762;6:fh6wPfeD3pWAt2jtEyV69hFv2KsxFed5Lob0EB1bCQpwZ+r7wXfhuwjhqyiLm5Wm52EFiwZt8C+r1JDnqKUZuRcfcsnFX2ONZbdTGQkT13YCnLisqhA+fVVJx2L8hhA21tqQwJamiyMK5jW2UUiAPUaje5ycuMamXSXBaf9/iNG6EUdrqhyD/5hrvqrKn3j5eV4EUp4824PiJhFvmeEIe8DbG5eUevSmA1HPMonE36S58VPSkVImLqAGNmUb/2ftJqso/TLRR+IbgVrsMYPLKgixFKditgqEHUxjwbgmkdlYPIJlZX8j7s/NBULAkibdBHCqK+Ld0WkCdhGfhZoLI2RJjHhd8kSPY0OCugohuHs=;5:NWCn6j3kNMYvaPUNGwveQPrS9puUCTg+ATGm0Q3CyUudvgF8qCv+S0kuPEhLKZPEzKXpybjNhcPpfrn8z7VIN90ieiYZNVvEHFoWtQLvG/dfFK1hZBx1wL3kqsl6kT1JazHgmcfK7RLzUA2hZsfhJLf+5pZmV3FLkfpmLdWTzko=;24:yGxz3k+2c0M+oTtWw8blI2tPZLdaSk2c/HECR/caZtinQxfiRXH35M/RIRVw+iZ6dH5kqIgkhj5YiWLYxY6cmVn9r2xyMkVs5ltQjzLxA0g=;7:CJEA4CBaeAPiKkF/DAztOqgUonXfseJ3n+t8EXKypBsuA+OX9s8gRVsSi97r+n9VoXjLwskXkRf4r7skU95MLaZ1mtod/fp6g4sFKy9nSNrM5XYCY7mKDfBsSn8ieW3h8HySc2LzIeg6AxfakpOQwzatGWP+G5TTr1cvgl6AqZogfbYQYrfDU0TqgLrrJyuSuM84ry9erFvm5dvwl7VynnwBSShLS7PbgWWEmossj5zVymYTZ8a5j4/yn4kwiFzS SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1;CO2PR05MB762;20:1zXnyz/FmbyTmxSo7F8StR1NhtbhXrnQpw7zbr+UvNGwITwhEX3lg6Gv3ZwhyTyCVOSdPhVNV+LMvtyDYrBPuTS96h/VsQhxrdgV89YHnceQCxhQEyqi2hd98XH5ONesihOB9fyOdfZkJKgMrma/YG6tZwEgqbkBZ94PegCTmh8= X-OriginatorOrg: vmware.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 16 Jan 2018 17:28:44.4945 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 2f739476-d2a7-402f-63a7-08d55d069979 X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: b39138ca-3cee-4b4a-a4d6-cd83d9dd62f0 X-MS-Exchange-Transport-CrossTenantHeadersStamped: CO2PR05MB762 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Return-Path: Hi, Arnd, Sinclair's on paternal leave and I thought this patch was already in drm-next. My bad. Dave, is it too late to pull this in for the next merge window? /Thomas On 01/16/2018 06:18 PM, Arnd Bergmann wrote: > DRM_VMW_EVENT_FENCE_SIGNALED (struct drm_vmw_event_fence) and > DRM_EVENT_VBLANK (struct drm_event_vblank) pass timestamps in 32-bit > seconds/microseconds format. > > As of commit c61eef726a78 ("drm: add support for monotonic vblank > timestamps"), other DRM drivers use monotonic times for drm_event_vblank, > but vmwgfx still uses CLOCK_REALTIME for both events, which suffers from > the y2038/y2106 overflow as well as time jumps. > > For consistency, this changes vmwgfx to use ktime_get_ts64 as well, > which solves those problems and avoids the deprecated do_gettimeofday() > function. > > This should be transparent to to user space, as long as it doesn't > compare the time against the result of gettimeofday(). > > Link: https://urldefense.proofpoint.com/v2/url?u=https-3A__patchwork.kernel.org_patch_10076599_&d=DwIBAg&c=uilaK90D4TOVoH58JNXRgQ&r=wnSlgOCqfpNS4d02vP68_E9q2BNMCwfD2OZ_6dCFVQQ&m=8M6vawBo0zDsjbqhzV0xpOwAzX7Zm-uyGlIDnQ7-Gms&s=sHGuz0aoE9aLjVp5GALo8mYrN1bwOHW6mGpJIZmhwAc&e= > Signed-off-by: Arnd Bergmann > --- > Originally sent on Nov 27. Sinclair Yeh said he'd pick it up > for the next pull request, but it's not in linux-next yet. > > Resending the unchanged patch, please pick it up when you have time, > or feel free to ignore this email in case it's already in some tree > that just isn't part of linux-next but will be sent during the > next merge window. > --- > drivers/gpu/drm/vmwgfx/vmwgfx_fence.c | 9 +++++---- > 1 file changed, 5 insertions(+), 4 deletions(-) > > diff --git a/drivers/gpu/drm/vmwgfx/vmwgfx_fence.c b/drivers/gpu/drm/vmwgfx/vmwgfx_fence.c > index 6c5c75cf5e6c..9ed544f8958f 100644 > --- a/drivers/gpu/drm/vmwgfx/vmwgfx_fence.c > +++ b/drivers/gpu/drm/vmwgfx/vmwgfx_fence.c > @@ -901,11 +901,12 @@ static void vmw_event_fence_action_seq_passed(struct vmw_fence_action *action) > spin_lock_irq(&dev->event_lock); > > if (likely(eaction->tv_sec != NULL)) { > - struct timeval tv; > + struct timespec64 ts; > > - do_gettimeofday(&tv); > - *eaction->tv_sec = tv.tv_sec; > - *eaction->tv_usec = tv.tv_usec; > + ktime_get_ts64(&ts); > + /* monotonic time, so no y2038 overflow */ > + *eaction->tv_sec = ts.tv_sec; > + *eaction->tv_usec = ts.tv_nsec / NSEC_PER_USEC; > } > > drm_send_event_locked(dev, eaction->event);