Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 15 Sep 2017 19:21:54 +0000
From:      bugzilla-noreply@freebsd.org
To:        gecko@FreeBSD.org
Subject:   [Bug 222356] www/firefox: file-backed shared memory performance
Message-ID:  <bug-222356-21738@https.bugs.freebsd.org/bugzilla/>

next in thread | raw e-mail | index | archive | help

https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=222356

            Bug ID: 222356
           Summary: www/firefox: file-backed shared memory performance
           Product: Ports & Packages
           Version: Latest
          Hardware: Any
                OS: Any
            Status: New
          Severity: Affects Only Me
          Priority: ---
         Component: Individual Port(s)
          Assignee: gecko@FreeBSD.org
          Reporter: tijl@FreeBSD.org
                CC: alc@FreeBSD.org, kib@FreeBSD.org
          Assignee: gecko@FreeBSD.org
             Flags: maintainer-feedback?(gecko@FreeBSD.org)

Created attachment 186420
  --> https://bugs.freebsd.org/bugzilla/attachment.cgi?id=186420&action=edit
firefox patch

Multi-process firefox appears to use a lot of shared memory backed by files on
/tmp.  If /tmp is not tmpfs but a regular file system this causes significant
delays.  Scrolling pages can be slow for example.  This can be improved by
patching firefox to use MAP_NOSYNC which prevents dirty pages being flushed to
disc as long as they are mapped.  When they are unmapped (and all descriptors
have been closed) FreeBSD still flushes them though and there are several
situations where firefox does this (e.g. switching between tabs and minimising
and restoring the browser window).  The backing files have been unlinked so why
doesn't FreeBSD just discard the pages?

I've attached a patch for firefox that works around this problem by using POSIX
shared memory with shm_open for the case of anonymous shared memory.  Named
shared memory is left unchanged but doesn't appear to be used.  The patch also
removes recording of the inode because I don't think it's valid for shm_open.

-- 
You are receiving this mail because:
You are the assignee for the bug.


Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?bug-222356-21738>