Re: [PATCH v2 1/4] x86, mwaitt: add monitorx and mwaitx instruction
From: Andy Lutomirski
Date: Tue Jun 09 2015 - 12:45:28 EST
On Jun 9, 2015 3:05 AM, "Borislav Petkov" <bp@xxxxxxx> wrote:
>
> On Tue, Jun 09, 2015 at 05:48:56PM +0800, Huang Rui wrote:
> > Any better suggestion? EBX * (TSC cycle) ? :)
>
> No, he means to put the description of MWAITX, what registers it
> uses/takes and so on over __mwaitx() and not only in the commit message.
>
Are these instructions documented? If not, can you document them for
real as part of this patch?
Also, what's monitorx for? What's wrong with monitor followed by mwaitx?
Finally, can you confirm that there isn't some utter BS like Intel's
C1E auto promotion that will happen here? If there is, this is going
to kill performance. [1] I think this set of changes needs some kind
of benchmark that at least documents that it isn't an overall
regression. That is, we should confirm that the mwaitx-based delay
doesn't end up sleeping too long.
Also, what's the upside of this whole series? Does it save power?
Does it make drivers load faster?
[1] For those who weren't bitten by this repeatedly, modern Intel CPUs
(at least Sandy Bridge, anyway) will, by default, detect when all
cores are in C1 or deeper, think to themselves "wow, the OS selected
C1 -- it must want a very deep sleep indeed", and put the whole
package into some kind of deep sleep state. The subsequent wakeup
takes tens of milliseconds. Doing this in udelay would be awful.
--Andy
> --
> Regards/Gruss,
> Boris.
>
> ECO tip #101: Trim your mails when you reply.
> --
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/