From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([208.118.235.92]:57858) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1S3SSk-0001iy-0F for qemu-devel@nongnu.org; Fri, 02 Mar 2012 08:24:03 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1S3SSc-0000CW-BH for qemu-devel@nongnu.org; Fri, 02 Mar 2012 08:23:57 -0500 Received: from mail-pw0-f45.google.com ([209.85.160.45]:36075) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1S3SSc-0000CM-4u for qemu-devel@nongnu.org; Fri, 02 Mar 2012 08:23:50 -0500 Received: by pbcuo5 with SMTP id uo5so1171844pbc.4 for ; Fri, 02 Mar 2012 05:23:48 -0800 (PST) Message-ID: <4F50C9E0.7090700@codemonkey.ws> Date: Fri, 02 Mar 2012 07:23:44 -0600 From: Anthony Liguori MIME-Version: 1.0 References: <4F4F71B1.5000002@redhat.com> In-Reply-To: <4F4F71B1.5000002@redhat.com> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit Subject: Re: [Qemu-devel] [PULL v2] Memory core space reduction List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Avi Kivity Cc: qemu-devel On 03/01/2012 06:55 AM, Avi Kivity wrote: > This is the current memory queue (posted as two separate series before > my vacation). When applied, the overhead of 16 bytes/page is reduced to > basically nil. > > Please pull from: > > git://git.kernel.org/pub/scm/virt/kvm/qemu-kvm.git memory/core Pulled. Thanks. Regards, Anthony Liguori > > v2: fix memory corruption in first patch > > ---------------------------------------------------------------- > Avi Kivity (30): > ioport: change portio_list not to use memory_region_set_offset() > memory: remove memory_region_set_offset() > memory: add shorthand for invoking a callback on all listeners > memory: switch memory listeners to a QTAILQ > memory: code motion: move MEMORY_LISTENER_CALL() > memory: move ioeventfd ops to MemoryListener > memory: add a readonly attribute to MemoryRegionSection > memory: don't pass ->readable attribute to > cpu_register_physical_memory_log > memory: use a MemoryListener for core memory map updates too > memory: drop AddressSpaceOps > memory: allow MemoryListeners to observe a specific address space > xen: ignore I/O memory regions > memory: split memory listener for the two address spaces > memory: support stateless memory listeners > memory: change memory registration to rebuild the memory map on > each change > memory: remove first level of l1_phys_map > memory: unify phys_map last level with intermediate levels > memory: store MemoryRegionSection pointers in phys_map > memory: compress phys_map node pointers to 16 bits > memory: fix RAM subpages in newly initialized pages > memory: unify the two branches of cpu_register_physical_memory_log() > memory: move tlb flush to MemoryListener commit callback > memory: make phys_page_find() return a MemoryRegionSection > memory: give phys_page_find() its own tree search loop > memory: simplify multipage/subpage registration > memory: replace phys_page_find_alloc() with phys_page_set() > memory: switch phys_page_set() to a recursive implementation > memory: change phys_page_set() to set multiple pages > memory: unify PhysPageEntry::node and ::leaf > memory: allow phys_map tree paths to terminate early > > exec-obsolete.h | 5 +- > exec.c | 875 > ++++++++++++++++++++++++++++++++++++------------------- > hw/vhost.c | 33 ++- > ioport.c | 28 ++- > ioport.h | 1 + > kvm-all.c | 97 ++++++- > memory.c | 328 +++++++++------------- > memory.h | 26 +- > xen-all.c | 33 ++- > 9 files changed, 912 insertions(+), 514 deletions(-) >