Received: by 10.223.164.202 with SMTP id h10csp616291wrb; Fri, 10 Nov 2017 11:44:32 -0800 (PST) X-Google-Smtp-Source: AGs4zMbP95dmlaKv+3fLNDxJ6k55izVfWk2Y9PUKr76WCCVXX/5w+eEdB7g3o4gSNlHirP3wBf1k X-Received: by 10.98.3.7 with SMTP id 7mr1481070pfd.160.1510343072543; Fri, 10 Nov 2017 11:44:32 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1510343072; cv=none; d=google.com; s=arc-20160816; b=Lj94BPDYi7qT+OmpCuCAGZNLZcZxIVsyPzQ7cpm+4RE+pQwetFwkRthzKSnraYj2rF mReoQECMWcK5pu+OCUfYgF8tBzP5fRNzW1qejP7kg5ybjTe9AAqq26ssyDJd7AR8Om74 o123+G9eNaVE9qmHp3j6iPMScuk6sxGrOqLxaLdZ/s3OK5HPH34appQS7BFHlpph09Fc BRS9CEJ8pYW5af4KczZqQ8pzTrTAIkYmaP0g8150RseVXuI+MlqNDVO5sKcKEfPdNdiH ugLk/NzPNbVhvuD2evLcROuGH0Y65erT3pJ8/RVr0zWaFC8k8D6W2DZYTlKo0SB7wZ3Z awCA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:cc:to:subject:message-id:date:from :references:in-reply-to:mime-version:dkim-signature :arc-authentication-results; bh=q/BV4Rfx5gsK9BpGoJyWEjTsndpJ1HCj7MLWo/Danp8=; b=BMDHbRMpGiLYOT0iq05uDDx+StkLT2iSbb51nCHdZ1SKsneUPCHeVtrCY1XHXvFBts hnkohtTDGp9QlIqIZquhTDpbHtnvm9KBUQY25F9gP4LGMtfLgW9yIfABKxMWg/9H4FS4 5yvC+klnrOOFnAB/FE7/xRUFttno7dT98cJL277ubr2lHxkimTgsvot+cQlFXFq91Rvv +mGrA4JFzk1pi9fcniYSxdcjW6kTAhsCwyY9gggr8ruGKKkFhjcGKbwBoKU0BNm8vtxf DTl5wyjPyGvRXva8ddX9yVIOD3V1WfHrdph4XMwAdZejFUomOMBfRmq5y5ECFpR5oIDM ILLw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@gmail.com header.s=20161025 header.b=r74KwkkX; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=gmail.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id 11si9642671plb.547.2017.11.10.11.44.20; Fri, 10 Nov 2017 11:44:32 -0800 (PST) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=pass header.i=@gmail.com header.s=20161025 header.b=r74KwkkX; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=gmail.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753984AbdKJTno (ORCPT + 82 others); Fri, 10 Nov 2017 14:43:44 -0500 Received: from mail-ot0-f196.google.com ([74.125.82.196]:52581 "EHLO mail-ot0-f196.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753562AbdKJTnm (ORCPT ); Fri, 10 Nov 2017 14:43:42 -0500 Received: by mail-ot0-f196.google.com with SMTP id 18so9052983oty.9; Fri, 10 Nov 2017 11:43:42 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :cc; bh=q/BV4Rfx5gsK9BpGoJyWEjTsndpJ1HCj7MLWo/Danp8=; b=r74KwkkXMUZjZjFSMfPOe6ndAxyIL/FHbx41W6qviahAxqId7VqeUC5ZtOMUYA+wPY Bn8nibmUd4mA0sORujlxjWYgH6FfSdNtH7j856mepZwwZ0MgTtCrMhMWgvR4lZrihYmy RuMmSzgPpi17/EFYnAPLy2qBV3OUVs5KOIeTQ72LenSr7MDLHkRpSGROcidx2R7WxTOw 6DWc/Su0ark7DWAWGPsuqPnCejFNskqPB3ubopJjKHlSzmDNaePY7SJ6Q2BoPmeZs0KJ aIEFW3cEejxhYJGulv+Piga8YwiSWpOj869nOrfuNwGNFi3WRGAvMAxnM9b8P/9PUS9O jKgg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:in-reply-to:references:from:date :message-id:subject:to:cc; bh=q/BV4Rfx5gsK9BpGoJyWEjTsndpJ1HCj7MLWo/Danp8=; b=KUdgu3gMslLqrgU1N5KL4Ctf6S6H0oPDuGFlMXSpPrEV2H9b9oQs+2wYflwvVyRQvi 3lMbwqfc1WQXR+WDmPHRr0mrsxVA8so0pbDkXK5aYXG9kBhaC4rGeinjHAdGvjrNnOq3 2bVdfvNvKdSypqFwC1j9uuVfv/8cuA1OEjlRtAXGYvWiVgSBpAICtua7tc9zGJEofMIC t/Tn7L3iCgErQ+ENoEgru/20ZWjSbe5GwUnY/kjwOMGweZsMW6eH5xBCZqMPvtDa/wuD NJnoWHjfbX76xfHcZZQNvO+FPTanvPP9sxY7k0eD0XLRYxJ2beQ4JRcKj5/rK2aAGZmm 2Iww== X-Gm-Message-State: AJaThX7nIpF5rJi5nGsgIAOzCeI6o56fcr6EYCZ3RZfRSBG7KxLYhs90 Vriu5F/UGe9clV9jHuhNO9RwdTV2veK86hEIv3k= X-Received: by 10.157.74.90 with SMTP id d26mr911138otj.141.1510343021916; Fri, 10 Nov 2017 11:43:41 -0800 (PST) MIME-Version: 1.0 Received: by 10.74.110.153 with HTTP; Fri, 10 Nov 2017 11:43:41 -0800 (PST) In-Reply-To: <20171110155840.1941250-2-arnd@arndb.de> References: <20171110155840.1941250-1-arnd@arndb.de> <20171110155840.1941250-2-arnd@arndb.de> From: adam radford Date: Fri, 10 Nov 2017 11:43:41 -0800 Message-ID: Subject: Re: [PATCH 2/3] scsi: 3ware: use 64-bit times for FW time sync To: Arnd Bergmann Cc: "James E.J. Bottomley" , "Martin K. Petersen" , Sumit Saxena , linux-scsi , linux-kernel Content-Type: text/plain; charset="UTF-8" Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Fri, Nov 10, 2017 at 7:58 AM, Arnd Bergmann wrote: > The calculation of the number of seconds since Sunday 00:00:00 overflows > in 2106, meaning that we instead will return the seconds since Wednesday > 06:28:16 afterwards. > > Using 64-bit time stamps avoids this slight inconsistency, and the > deprecated do_gettimeofday(), replacing it with the simpler > ktime_get_real_seconds(). > > Signed-off-by: Arnd Bergmann > --- > drivers/scsi/3w-9xxx.c | 8 +++----- > drivers/scsi/3w-sas.c | 10 ++++------ > 2 files changed, 7 insertions(+), 11 deletions(-) > > diff --git a/drivers/scsi/3w-9xxx.c b/drivers/scsi/3w-9xxx.c > index cb9af3f7b653..b1c9bd9c1bfd 100644 > --- a/drivers/scsi/3w-9xxx.c > +++ b/drivers/scsi/3w-9xxx.c > @@ -472,11 +472,10 @@ static char *twa_aen_severity_lookup(unsigned char severity_code) > static void twa_aen_sync_time(TW_Device_Extension *tw_dev, int request_id) > { > u32 schedulertime; > - struct timeval utc; > TW_Command_Full *full_command_packet; > TW_Command *command_packet; > TW_Param_Apache *param; > - u32 local_time; > + time64_t local_time; > > /* Fill out the command packet */ > full_command_packet = tw_dev->command_packet_virt[request_id]; > @@ -498,9 +497,8 @@ static void twa_aen_sync_time(TW_Device_Extension *tw_dev, int request_id) > > /* Convert system time in UTC to local time seconds since last > Sunday 12:00AM */ > - do_gettimeofday(&utc); > - local_time = (u32)(utc.tv_sec - (sys_tz.tz_minuteswest * 60)); > - schedulertime = local_time - (3 * 86400); > + local_time = (ktime_get_real_seconds() - (sys_tz.tz_minuteswest * 60)); > + div_u64_rem(local_time - (3 * 86400), 604800, &schedulertime); > schedulertime = cpu_to_le32(schedulertime % 604800); > > memcpy(param->data, &schedulertime, sizeof(u32)); > diff --git a/drivers/scsi/3w-sas.c b/drivers/scsi/3w-sas.c > index c283fdb3cb24..cf9f2a09b47d 100644 > --- a/drivers/scsi/3w-sas.c > +++ b/drivers/scsi/3w-sas.c > @@ -407,11 +407,10 @@ static int twl_aen_read_queue(TW_Device_Extension *tw_dev, int request_id) > static void twl_aen_sync_time(TW_Device_Extension *tw_dev, int request_id) > { > u32 schedulertime; > - struct timeval utc; > TW_Command_Full *full_command_packet; > TW_Command *command_packet; > TW_Param_Apache *param; > - u32 local_time; > + time64_t local_time; > > /* Fill out the command packet */ > full_command_packet = tw_dev->command_packet_virt[request_id]; > @@ -433,10 +432,9 @@ static void twl_aen_sync_time(TW_Device_Extension *tw_dev, int request_id) > > /* Convert system time in UTC to local time seconds since last > Sunday 12:00AM */ > - do_gettimeofday(&utc); > - local_time = (u32)(utc.tv_sec - (sys_tz.tz_minuteswest * 60)); > - schedulertime = local_time - (3 * 86400); > - schedulertime = cpu_to_le32(schedulertime % 604800); > + local_time = (ktime_get_real_seconds() - (sys_tz.tz_minuteswest * 60)); > + div_u64_rem(local_time - (3 * 86400), 604800, &schedulertime); > + schedulertime = cpu_to_le32(schedulertime); > > memcpy(param->data, &schedulertime, sizeof(u32)); > > -- > 2.9.0 > Acked-by: Adam Radford From 1583695406682488403@xxx Fri Nov 10 16:00:34 +0000 2017 X-GM-THRID: 1583695406682488403 X-Gmail-Labels: Inbox,Category Forums,HistoricalUnread