Messages in this thread | | | From | "Sun, Ning" <> | Subject | RE: [PATCH] kernel: x86: tboot: Replace mdelay with usleep_range in tboot_wait_for_aps | Date | Wed, 24 Jan 2018 17:20:30 +0000 |
| |
It looks like tboot_wait_for_aps(...) is not called in atomic context .
mdelay(1) delays exactly 1msecs, I understand udelay(...) may not be appropriate, as it is used for delay around 20usecs. In terms of reducing busy wait, how can we determine the range in usleep_range(...) is 1000 to 2000, not from 20 to 1000?
Thanks, -ning
-----Original Message----- From: Jia-Ju Bai [mailto:baijiaju1990@gmail.com] Sent: Wednesday, January 24, 2018 5:38 AM To: Thomas Gleixner <tglx@linutronix.de> Cc: Sun, Ning <ning.sun@intel.com>; mingo@redhat.com; hpa@zytor.com; x86@kernel.org; tboot-devel@lists.sourceforge.net; linux-kernel@vger.kernel.org Subject: Re: [PATCH] kernel: x86: tboot: Replace mdelay with usleep_range in tboot_wait_for_aps
On 2018/1/24 19:47, Thomas Gleixner wrote: > On Wed, 24 Jan 2018, Jia-Ju Bai wrote: > >> The function tboot_wait_for_aps is not called in atomic context. >> Thus mdelay can be replaced with usleep_range, to reduce busy wait. > And how did you establish that it's not called in atomic context? > > Thanks, > > tglx
It is reported by a static analysis tool written by myself. This tool finds that mdelay in tboot_wait_for_aps is not called by holding a spinlock or in an interrupt handler, thus mdelay can be replaced.
Thanks, Jia-Ju Bai
| |