Re: [kvm-unit-tests PATCH v1 00/12] Fix and improve the page allocator

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 




On 12/16/20 12:11 PM, Claudio Imbrenda wrote:
My previous patchseries was rushed and not polished enough. Furthermore it
introduced some regressions.

This patchseries fixes hopefully all the issues reported, and introduces
some new features.

It also simplifies the code and hopefully makes it more readable.

Fixed:
* allocated memory is now zeroed by default

New features:
* per-allocation flags to specify not just the area (like before) but also
   other parameters
   - zero flag: the allocation will be zeroed
   - fresh flag: the returned memory has never been read or written to before
* default flags: it's possible to specify which flags should be enabled
   automatically at each allocation; by default the zero flag is set.


I would appreciate if people could test these patches, especially on
strange, unusual or exotic hardware (I tested only on s390x)


GitLab:
   https://urldefense.com/v3/__https://gitlab.com/imbrenda/kvm-unit-tests/-/tree/page_allocator_fixes__;!!GqivPVa7Brio!LehVoD4e6fUc92A7OE_Rxl2QwwkrW4aY0WHTmPkgKyxYviNfnTs3hEmYWHsMj3I9paC-$
CI:
   https://urldefense.com/v3/__https://gitlab.com/imbrenda/kvm-unit-tests/-/pipelines/229689192__;!!GqivPVa7Brio!LehVoD4e6fUc92A7OE_Rxl2QwwkrW4aY0WHTmPkgKyxYviNfnTs3hEmYWHsMj5GdDaIf$


Claudio Imbrenda (12):
   lib/x86: fix page.h to include the generic header
   lib/list.h: add list_add_tail
   lib/vmalloc: add some asserts and improvements
   lib/asm: Fix definitions of memory areas
   lib/alloc_page: fix and improve the page allocator
   lib/alloc.h: remove align_min from struct alloc_ops
   lib/alloc_page: Optimization to skip known empty freelists
   lib/alloc_page: rework metadata format
   lib/alloc: replace areas with more generic flags
   lib/alloc_page: Wire up ZERO_FLAG
   lib/alloc_page: Properly handle requests for fresh blocks
   lib/alloc_page: default flags and zero pages by default

  lib/asm-generic/memory_areas.h |   9 +-
  lib/arm/asm/memory_areas.h     |  11 +-
  lib/arm64/asm/memory_areas.h   |  11 +-
  lib/powerpc/asm/memory_areas.h |  11 +-
  lib/ppc64/asm/memory_areas.h   |  11 +-
  lib/s390x/asm/memory_areas.h   |  13 +-
  lib/x86/asm/memory_areas.h     |  27 +--
  lib/x86/asm/page.h             |   4 +-
  lib/alloc.h                    |   1 -
  lib/alloc_page.h               |  66 ++++++--
  lib/list.h                     |   9 +
  lib/alloc_page.c               | 291 ++++++++++++++++++++-------------
  lib/alloc_phys.c               |   9 +-
  lib/s390x/smp.c                |   2 +-
  lib/vmalloc.c                  |  21 +--
  15 files changed, 286 insertions(+), 210 deletions(-)

For patch# 1, 2, 7, 8, 9, 10 and 11:

    Reviewed-by: Krish Sadhukhan <krish.sadhukhan@xxxxxxxxxx>



[Index of Archives]     [KVM ARM]     [KVM ia64]     [KVM ppc]     [Virtualization Tools]     [Spice Development]     [Libvirt]     [Libvirt Users]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite Questions]     [Linux Kernel]     [Linux SCSI]     [XFree86]

  Powered by Linux