Re: RFC: extern illegal instruction trap and trap RDCYCLE

Ben Dooks
2024-09-17T14:01:48Z

On 17/09/2024 14:46, Palmer Dabbelt wrote:
> On Tue, 17 Sep 2024 06:08:50 PDT (-0700), ben.dooks@codethink.co.uk wrote:
>> This is a RFC series to change how the illegal instruction trap
>> is handled and then how to trap RDCYCLE and emulate it with RDTIME
>> instead.
>
> Only 1/3 made it to lore for me, not sure if it's just stuck somewhere.
>
>>
>> I did this when we found multiple libraries using RDCYCLE and
>> upgrading multiple runners to newer kernels caused many problems
>
> OK, so I think we're kind of just stuck with RDCYCLE then -- it was part
> of the base ISA when we merged the port, and every time it disappears we
> end up breaking userspace.

Yes, it was an annoyance, we managed to track down all the users and
patch out.

I thought this might be a useful idea for more generic type, so might
look at updating to have a table of instruction masks to call.

> I'm not sure what exactly the right way to do this is: IIRC there's some
> perf-related hooks for this, but there's also systems that just don't
> implement the RDCYCLE instruction at all and thus we'll need some sort
> of emulation for those.

I couldn't get the PMU driver to allow it, not sure if there was an
issue higher up or some other issue?

> So hopefully the other two patches get through the lists at some point,
> but I think in general this is a reasonable thing to do -- or I guess
> maybe a completely unreasonable thing to be stuck needing to do, but no
> way around it ;)

I'll check back later, currently as OSS-EU

>>
>>
>>
>> _______________________________________________
>> linux-riscv mailing list
>> linux-riscv@lists.infradead.org
>> http://lists.infradead.org/mailman/listinfo/linux-riscv
>
> _______________________________________________
> linux-riscv mailing list
> linux-riscv@lists.infradead.org
> http://lists.infradead.org/mailman/listinfo/linux-riscv
>

--
Ben Dooks http://www.codethink.co.uk/
Senior Engineer Codethink - Providing Genius