<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!DOCTYPE bugzilla SYSTEM "https://bugs.webkit.org/page.cgi?id=bugzilla.dtd">

<bugzilla version="5.0.4.1"
          urlbase="https://bugs.webkit.org/"
          
          maintainer="admin@webkit.org"
>

    <bug>
          <bug_id>48619</bug_id>
          
          <creation_ts>2010-10-29 01:39:34 -0700</creation_ts>
          <short_desc>[Qt][WK2] SharedMemory uses two pages for one page request</short_desc>
          <delta_ts>2010-11-02 02:06:55 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Platform</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>PC</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>DUPLICATE</resolution>
          <dup_id>48520</dup_id>
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Balazs Kelemen">kbalazs</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>abecsi</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>301631</commentid>
    <comment_count>0</comment_count>
    <who name="Balazs Kelemen">kbalazs</who>
    <bug_when>2010-10-29 01:39:34 -0700</bug_when>
    <thetext>Our shared memory implementation tries to minimize the number of allocations trough recycling unused
mappings. This technique needs an extra word (word instead of a byte for aligning) in each mapping that
tracks that the memory is used or it has been released. The problem is that we ending up in allocating
an extra page if the client rounds up it&apos;s request to page size. This is the case of the VisitedLinkTable.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>301634</commentid>
    <comment_count>1</comment_count>
    <who name="Balazs Kelemen">kbalazs</who>
    <bug_when>2010-10-29 01:50:30 -0700</bug_when>
    <thetext>Oh.... My patch asserts. The essence of that was to hack around
SharedMemory::systemPageSize to get back getpagesize() - extra_space
but there is an assert at VisitedLinkTable.cpp:60 - ASSERT(isPowerOf2(m_tableSize)); and this fails with the patch.
Grrrrrrr!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>303267</commentid>
    <comment_count>2</comment_count>
    <who name="Balazs Kelemen">kbalazs</who>
    <bug_when>2010-11-02 02:06:55 -0700</bug_when>
    <thetext>

*** This bug has been marked as a duplicate of bug 48520 ***</thetext>
  </long_desc>
      
      

    </bug>

</bugzilla>