Skip to content
  • David Hildenbrand's avatar
    228957fe
    virtio-mem: Probe THP size to determine default block size · 228957fe
    David Hildenbrand authored
    
    
    Let's allow a minimum block size of 1 MiB in all configurations. Select
    the default block size based on
    - The page size of the memory backend.
    - The THP size if the memory backend size corresponds to the real host
      page size.
    - The global minimum of 1 MiB.
    and warn if something smaller is configured by the user.
    
    VIRTIO_MEM only supports Linux (depends on LINUX), so we can probe the
    THP size unconditionally.
    
    For now we only support virtio-mem on x86-64 - there isn't a user-visible
    change (x86-64 only supports 2 MiB THP on the PMD level) - the default
    was, and will be 2 MiB.
    
    If we ever have THP on the PUD level (e.g., 1 GiB THP on x86-64), we
    expect it to be more transparent - e.g., to only optimize fully populated
    ranges unless explicitly told /configured otherwise (in contrast to PMD
    THP).
    
    Reviewed-by: default avatarPankaj Gupta <pankaj.gupta.linux@gmail.com>
    Cc: "Michael S. Tsirkin" <mst@redhat.com>
    Cc: Wei Yang <richardw.yang@linux.intel.com>
    Cc: Dr. David Alan Gilbert <dgilbert@redhat.com>
    Cc: Igor Mammedov <imammedo@redhat.com>
    Cc: Pankaj Gupta <pankaj.gupta.linux@gmail.com>
    Signed-off-by: default avatarDavid Hildenbrand <david@redhat.com>
    Message-Id: <20201008083029.9504-4-david@redhat.com>
    Reviewed-by: default avatarMichael S. Tsirkin <mst@redhat.com>
    Signed-off-by: default avatarMichael S. Tsirkin <mst@redhat.com>
    228957fe
    virtio-mem: Probe THP size to determine default block size
    David Hildenbrand authored
    
    
    Let's allow a minimum block size of 1 MiB in all configurations. Select
    the default block size based on
    - The page size of the memory backend.
    - The THP size if the memory backend size corresponds to the real host
      page size.
    - The global minimum of 1 MiB.
    and warn if something smaller is configured by the user.
    
    VIRTIO_MEM only supports Linux (depends on LINUX), so we can probe the
    THP size unconditionally.
    
    For now we only support virtio-mem on x86-64 - there isn't a user-visible
    change (x86-64 only supports 2 MiB THP on the PMD level) - the default
    was, and will be 2 MiB.
    
    If we ever have THP on the PUD level (e.g., 1 GiB THP on x86-64), we
    expect it to be more transparent - e.g., to only optimize fully populated
    ranges unless explicitly told /configured otherwise (in contrast to PMD
    THP).
    
    Reviewed-by: default avatarPankaj Gupta <pankaj.gupta.linux@gmail.com>
    Cc: "Michael S. Tsirkin" <mst@redhat.com>
    Cc: Wei Yang <richardw.yang@linux.intel.com>
    Cc: Dr. David Alan Gilbert <dgilbert@redhat.com>
    Cc: Igor Mammedov <imammedo@redhat.com>
    Cc: Pankaj Gupta <pankaj.gupta.linux@gmail.com>
    Signed-off-by: default avatarDavid Hildenbrand <david@redhat.com>
    Message-Id: <20201008083029.9504-4-david@redhat.com>
    Reviewed-by: default avatarMichael S. Tsirkin <mst@redhat.com>
    Signed-off-by: default avatarMichael S. Tsirkin <mst@redhat.com>
Loading