On Thu 21-10-21 21:13:35, Neil Brown wrote: > On Thu, 21 Oct 2021, Uladzislau Rezki wrote: > > On Wed, Oct 20, 2021 at 05:00:28PM +0200, Uladzislau Rezki wrote: > > > > > > > > On Wed 20-10-21 16:29:14, Uladzislau Rezki wrote: > > > > > On Wed, Oct 20, 2021 at 4:06 PM Michal Hocko <mhocko@xxxxxxxx> wrote: > > > > [...] > > > > > > As I've said I am OK with either of the two. Do you or anybody have any > > > > > > preference? Without any explicit event to wake up for neither of the two > > > > > > is more than just an optimistic retry. > > > > > > > > > > > From power perspective it is better to have a delay, so i tend to say > > > > > that delay is better. > > > > > > > > I am a terrible random number generator. Can you give me a number > > > > please? > > > > > > > Well, we can start from one jiffy so it is one timer tick: schedule_timeout(1) > > > > > A small nit, it is better to replace it by the simple msleep() call: msleep(jiffies_to_msecs(1)); > > I disagree. I think schedule_timeout_uninterruptible(1) is the best > wait to sleep for 1 ticl > > msleep() contains > timeout = msecs_to_jiffies(msecs) + 1; > and both jiffies_to_msecs and msecs_to_jiffies might round up too. > So you will sleep for at least twice as long as you asked for, possible > more. That was my thinking as well. Not to mention jiffies_to_msecs just to do msecs_to_jiffies right after which seems like a pointless wasting of cpu cycle. But maybe I was missing some other reasons why msleep would be superior. -- Michal Hocko SUSE Labs