If you are also executing WebAssembly, then
--no-wasm-write-protect-code-memory will further reduce the number of
mprotect calls.
We plan to turn off that feature anyway when we enable lazy compilation for
Wasm, so you won't lose much if you already disable it now.

On Mon, Aug 8, 2022 at 12:04 PM 'Hannes Payer' via v8-dev <
[email protected]> wrote:

> Hi Kenton,
>
> You can turn off the write protection for code memory with
> --nowrite_protect_code_memory. The security benefits of this feature are
> quite small.
>
> -Hannes
>
> On Fri, Aug 5, 2022 at 4:44 PM 'Kenton Varda' via v8-dev <
> [email protected]> wrote:
>
>> Hi v8-dev,
>>
>> In Cloudflare Workers, where we often have thousands of isolates running
>> across many threads in one process, we're running into issues with
>> contention on the process's mmap_lock / mmap_sem in the Linux kernel. It
>> appears V8 does a very large number of mmap/munmap/mprotect/page fault
>> operations and in the right circumstances this is enough to bog down the
>> lock.
>>
>> Before diving deep into the code I wanted to check if anyone has any
>> thoughts, off the top of your heads, on how we could reduce the mmap usage
>> in V8. Is there any easy knob to turn? Good places to look for
>> optimizations in the code?
>>
>> Assuming there isn't an easy answer, one idea suggested to me by a kernel
>> developer friend is: Instead of using mprotect() to swap pages between
>> write and execute mode while JITing, what if the pages were mapped from a
>> memfd in read-execute mode, and writes were performed by writing to a
>> separate buffer and then doing a pwrite() on the memfd? Does that sound
>> worth exploring? (I'm suggesting this with very little understanding of how
>> JIT works in V8; apologies if it's an obviously bad idea.)
>>
>> Thanks for any thoughts!
>>
>> -Kenton
>>
>> --
>> --
>> v8-dev mailing list
>> [email protected]
>> http://groups.google.com/group/v8-dev
>> ---
>> You received this message because you are subscribed to the Google Groups
>> "v8-dev" group.
>> To unsubscribe from this group and stop receiving emails from it, send an
>> email to [email protected].
>> To view this discussion on the web visit
>> https://groups.google.com/d/msgid/v8-dev/109e3dbe-edbd-4aeb-a30a-24b932939becn%40googlegroups.com
>> <https://groups.google.com/d/msgid/v8-dev/109e3dbe-edbd-4aeb-a30a-24b932939becn%40googlegroups.com?utm_medium=email&utm_source=footer>
>> .
>>
>
>
> --
>
>
> Hannes Payer |  V8 |  Google Germany GmbH |  Erika-Mann Str. 33, 80636
> München
>
> Geschäftsführer: Paul Manicle, Liana Sebastian
>
> Registergericht und -nummer: Hamburg, HRB 86891
>
> Sitz der Gesellschaft: Hamburg
>
> Diese E-Mail ist vertraulich. Falls Sie diese fälschlicherweise erhalten
> haben sollten, leiten Sie diese bitte nicht an jemand anderes weiter,
> löschen Sie alle Kopien und Anhänge davon und lassen Sie mich bitte wissen,
> dass die E-Mail an die falsche Person gesendet wurde.
>
>
>
> This e-mail is confidential. If you received this communication by
> mistake, please don't forward it to anyone else, please erase all copies
> and attachments, and please let me know that it has gone to the wrong
> person.
>
> --
> --
> v8-dev mailing list
> [email protected]
> http://groups.google.com/group/v8-dev
> ---
> You received this message because you are subscribed to the Google Groups
> "v8-dev" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to [email protected].
> To view this discussion on the web visit
> https://groups.google.com/d/msgid/v8-dev/CAKEgpyGJyiVCDNn2BN4TPpYqpxZFEGqh-JZb0oURSC2KnsiYAw%40mail.gmail.com
> <https://groups.google.com/d/msgid/v8-dev/CAKEgpyGJyiVCDNn2BN4TPpYqpxZFEGqh-JZb0oURSC2KnsiYAw%40mail.gmail.com?utm_medium=email&utm_source=footer>
> .
>


-- 

Clemens Backes

Software Engineer

[email protected]

Google Germany GmbH

Erika-Mann-Straße 33

80636 München

Geschäftsführer: Paul Manicle, Liana Sebastian

Registergericht und -nummer: Hamburg, HRB 86891

Sitz der Gesellschaft: Hamburg

Diese E-Mail ist vertraulich. Falls sie diese fälschlicherweise erhalten
haben sollten, leiten Sie diese bitte nicht an jemand anderes weiter,
löschen Sie alle Kopien und Anhänge davon und lassen Sie mich bitte wissen,
dass die E-Mail an die falsche Person gesendet wurde.


This e-mail is confidential. If you received this communication by mistake,
please don't forward it to anyone else, please erase all copies and
attachments, and please let me know that it has gone to the wrong person.

-- 
-- 
v8-dev mailing list
[email protected]
http://groups.google.com/group/v8-dev
--- 
You received this message because you are subscribed to the Google Groups 
"v8-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/v8-dev/CAGO%3DqhCXJLfy9DMJ_Wh1Bcs1AS%3DiBjRKfTr0K60O-%3D6QQpxBmw%40mail.gmail.com.

Reply via email to