Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1754930AbbKMTyH (ORCPT ); Fri, 13 Nov 2015 14:54:07 -0500 Received: from mga01.intel.com ([192.55.52.88]:24041 "EHLO mga01.intel.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1754225AbbKMTyE (ORCPT ); Fri, 13 Nov 2015 14:54:04 -0500 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.20,289,1444719600"; d="scan'208";a="684847551" From: Jacob Pan To: Peter Zijlstra , Ingo Molnar , Thomas Gleixner , John Stultz , LKML Cc: Arjan van de Ven , Srinivas Pandruvada , Len Brown , Rafael Wysocki , Eduardo Valentin , Paul Turner , Jacob Pan Subject: [PATCH 1/4] ktime: add a roundup function Date: Fri, 13 Nov 2015 11:53:04 -0800 Message-Id: <1447444387-23525-2-git-send-email-jacob.jun.pan@linux.intel.com> X-Mailer: git-send-email 1.9.1 In-Reply-To: <1447444387-23525-1-git-send-email-jacob.jun.pan@linux.intel.com> References: <1447444387-23525-1-git-send-email-jacob.jun.pan@linux.intel.com> Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1133 Lines: 37 ktime roundup function can be used to keep timer aligned and prevent drift for recurring timeouts. Signed-off-by: Jacob Pan --- include/linux/ktime.h | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/include/linux/ktime.h b/include/linux/ktime.h index 2b6a204..2e293fa 100644 --- a/include/linux/ktime.h +++ b/include/linux/ktime.h @@ -233,6 +233,16 @@ static inline ktime_t ktime_sub_us(const ktime_t kt, const u64 usec) extern ktime_t ktime_add_safe(const ktime_t lhs, const ktime_t rhs); +static inline ktime_t ktime_roundup(ktime_t x, ktime_t y) +{ + u64 temp_tv64; + + temp_tv64 = x.tv64 + y.tv64 - 1; + temp_tv64 = div64_u64(temp_tv64, y.tv64); + x.tv64 = temp_tv64 * y.tv64; + + return x; +} /** * ktime_to_timespec_cond - convert a ktime_t variable to timespec * format only if the variable contains data -- 1.9.1 -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/