First post here for me too. I'm chiming in both as a newly minted Red Hat guy and as a former Dell Linux person. :) I'm always a Linux person though and work with Mark as well as folks at other OEMs.

On Fri, May 1, 2020, 08:54 Mark Pearson <mpearson@lenovo.com> wrote:
Hi Vitaly
> From: Vitaly Zaitsev via devel <devel@lists.fedoraproject.org>
> Sent: Friday, May 1, 2020 7:05 AM
>
> On 01.05.2020 12:52, Peter Robinson wrote:
> > I bet this is actually the Intel Dynamic Platform and Thermal
> > Framework (DPTF) that's at fault here [1] and so while I'm sure Lenovo
> > can approach Intel and assist I'm not sure it's something they can fix
> > directly, on the plus side it looks like it's being reverse engineered
> > in general.
>
> This is definitely Lenovo's fault. I have also Dell XPS 13 and it works
> absolutely fine on GNU/Linux. Not throttling issues at all.
>
Afraid I somewhat disagree. I think we should have done more earlier, but
I don't think the root cause is ours.

I have no idea how the Dell XPS 13 solves this issue (or if it had the same
in the first place) but my understanding of the problem is needing the adaptive
support from DPTF to detect between lap and desk mode.

There's some interesting mechanical work the mechanical engineers at Dell implemented. Look up "XPS 13 Mars Rover", which is super cool. Their fan and heat pipe solution on the current generation models is a big difference too.

DPTF Adaptive Performance Policy is a tricky one for reasons I won't get into. There's currently no complete open source solution. Platforms that are dependent on it are also currently dependent on a closed source solution from Intel. Even Google chose to ship with a closed source DPTF Adaptive Performance Policy on some fanless Chromebook designs.

Matthew Garrett has done some work on a reverse engineered implementation of Adaptive Performance, but it's still a work in progress as I remember.

We have to meet some temperature safety requirements when the device is on
lap. Because Linux doesn't have support for that the device defaults to the 'safer'
power setting and you see thermal throttling (and lower performance than
Windows). The new firmware does that lap/desk mode detection - and I'm told
implementing  that in the BIOS/EC firmware framework was non-trivial, It was
done purely for Linux customers. The performance now for Linux users should
be the same as for Windows users.

I think if DPTF had been open-sourced the thermal throttling would have been a
non-issue. I can't comment on why that hasn't happen - I think really that's a
question for Intel.
Perhaps there are better solutions possible? They all get a bit vendor specific and
I suspect would have been hard to upstream so firmware is a reasonable fix in
my opinion.

Parts of DPTF Passive are implemented on Linux as open source, but Active and other newer stuff are where things get tricky.