Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752502AbbLHTVK (ORCPT ); Tue, 8 Dec 2015 14:21:10 -0500 Received: from mail-oi0-f53.google.com ([209.85.218.53]:32998 "EHLO mail-oi0-f53.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752170AbbLHTVH (ORCPT ); Tue, 8 Dec 2015 14:21:07 -0500 MIME-Version: 1.0 In-Reply-To: <56669CFF.8040806@ladisch.de> References: <56669CFF.8040806@ladisch.de> Date: Wed, 9 Dec 2015 00:51:06 +0530 Message-ID: Subject: Re: Ques: [kernel/time/*] Is there any disadvantage in using usleep_range for more than 20ms delay ? From: Aniroop Mathur To: Clemens Ladisch Cc: John Stultz , Thomas Gleixner , a.mathur@samsung.com, "linux-kernel@vger.kernel.org" Content-Type: text/plain; charset=UTF-8 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1573 Lines: 38 On Tue, Dec 8, 2015 at 2:33 PM, Clemens Ladisch wrote: > Aniroop Mathur wrote: >> As in the kernel documentation, it is mentioned to use msleep for >> 10ms+ delay, I am confused whether there would be any disadvantage in >> using usleep_range for higher delays values because normally drivers >> have variety of delays used (2, 10, 20, 40, 100, 500 ms). >> >> So, could you please help to confirm that if we use usleep_range for >> inserting delays greater than 20 ms, would it be harmful or beneficial >> or does not make any difference at all ? > > As the documentation told you, usleep_range() is likely to require > a separate interrupt, while msleep() is likely to round to some other, > already-scheduled interrupt. The former is possibly harmful regarding > CPU and power usage; you have to balance it against your need for > accuracy. > Thank you for the answer! usleep_range will generate an interrupt to achieve accuracy. However, would that be considered as harmful or a disadvantage ? Would the power usage and cpu really substantial ? PS: I have added my more concern and explanation in another email thread whose subject misses u in usleep_range, by mistake. Added you in it as well. > (And usleep_range() has a 32-bit nanosecond limit on 32-bit > architectures.) > > > Regards, > Clemens -- 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/