On Mon, Jul 27, 2020 at 09:41:14PM -0700, Ricardo Neri wrote:
> I think I got a little lost here.
Hehe, sorry. I got carried away, it's just that recently people
expressed interest in 'fixing' some of the text_poke_sync() issues
again.
> If I understand correctly, there are
> two alternatives to
On Mon, Jul 27, 2020 at 03:30:20PM +0200, pet...@infradead.org wrote:
> On Mon, Jul 27, 2020 at 03:05:36PM +0200, pet...@infradead.org wrote:
> > Yeah, I'm not sure.. the 'funny' thing is that typically call
> > sync_core() from an IPI anyway. And the synchronous broadcast IPI is by
> > far the
On Mon, Jul 27, 2020 at 05:47:32AM -0700, h...@zytor.com wrote:
> On July 27, 2020 1:20:03 AM PDT, pet...@infradead.org wrote:
> >On Sun, Jul 26, 2020 at 09:31:32PM -0700, Ricardo Neri wrote:
> >> +static inline void serialize(void)
> >> +{
> >> + asm volatile(".byte 0xf, 0x1, 0xe8");
> >> +}
> >
On Mon, Jul 27, 2020 at 10:20:03AM +0200, pet...@infradead.org wrote:
> On Sun, Jul 26, 2020 at 09:31:32PM -0700, Ricardo Neri wrote:
> > +static inline void serialize(void)
> > +{
> > + asm volatile(".byte 0xf, 0x1, 0xe8");
> > +}
>
> Can we pretty please have a comment with the binutils
> For a really overenginered solution, but which might perform unnecessary
> poorly on existing hardware:
>
> asm volatile("1: .byte 0xf, 0x1, 0xe8; 2:"
>_ASM_EXTABLE(1b,2b));
You win the prize for the smallest code. Might need (the already large)
comment to double
in
On Mon, Jul 27, 2020 at 03:05:36PM +0200, pet...@infradead.org wrote:
> Yeah, I'm not sure.. the 'funny' thing is that typically call
> sync_core() from an IPI anyway. And the synchronous broadcast IPI is by
> far the most expensive part of that.
>
> Something like this...
>
> diff --git
On Mon, Jul 27, 2020 at 05:49:28AM -0700, h...@zytor.com wrote:
> On July 27, 2020 1:36:19 AM PDT, pet...@infradead.org wrote:
> >On Sun, Jul 26, 2020 at 10:55:15PM -0700, h...@zytor.com wrote:
> >> For a really overenginered solution, but which might perform
> >> unnecessary poorly on existing
On July 27, 2020 1:36:19 AM PDT, pet...@infradead.org wrote:
>On Sun, Jul 26, 2020 at 10:55:15PM -0700, h...@zytor.com wrote:
>> For a really overenginered solution, but which might perform
>> unnecessary poorly on existing hardware:
>>
>> asm volatile("1: .byte 0xf, 0x1, 0xe8; 2:"
>>
On July 27, 2020 1:20:03 AM PDT, pet...@infradead.org wrote:
>On Sun, Jul 26, 2020 at 09:31:32PM -0700, Ricardo Neri wrote:
>> +static inline void serialize(void)
>> +{
>> +asm volatile(".byte 0xf, 0x1, 0xe8");
>> +}
>
>Can we pretty please have a comment with the binutils version that has
On Sun, Jul 26, 2020 at 10:55:15PM -0700, h...@zytor.com wrote:
> For a really overenginered solution, but which might perform
> unnecessary poorly on existing hardware:
>
> asm volatile("1: .byte 0xf, 0x1, 0xe8; 2:"
> _ASM_EXTABLE(1b,2b));
Ha! cute, you take an #UD ?
We
On Sun, Jul 26, 2020 at 09:31:32PM -0700, Ricardo Neri wrote:
> @@ -75,6 +77,12 @@ static inline void sync_core(void)
>* Like all of Linux's memory ordering operations, this is a
>* compiler barrier as well.
>*/
> +
> + if (boot_cpu_has(X86_FEATURE_SERIALIZE)) {
> +
On Sun, Jul 26, 2020 at 09:31:32PM -0700, Ricardo Neri wrote:
> +static inline void serialize(void)
> +{
> + asm volatile(".byte 0xf, 0x1, 0xe8");
> +}
Can we pretty please have a comment with the binutils version that has
the mnomic? Such that when we increase the required binutils version
On July 26, 2020 10:55:15 PM PDT, h...@zytor.com wrote:
>On July 26, 2020 9:31:32 PM PDT, Ricardo Neri
> wrote:
>>The SERIALIZE instruction gives software a way to force the processor
>>to
>>complete all modifications to flags, registers and memory from
>previous
>>instructions and drain all
On July 26, 2020 9:31:32 PM PDT, Ricardo Neri
wrote:
>The SERIALIZE instruction gives software a way to force the processor
>to
>complete all modifications to flags, registers and memory from previous
>instructions and drain all buffered writes to memory before the next
>instruction is fetched
14 matches
Mail list logo