Skip to content
  • Stefano Stabellini's avatar
    9p/xen: increase XEN_9PFS_RING_ORDER · 36f99675
    Stefano Stabellini authored
    Increase XEN_9PFS_RING_ORDER to 9 for performance reason. Order 9 is the
    max allowed by the protocol.
    
    We can't assume that all backends will support order 9. The xenstore
    property max-ring-page-order specifies the max order supported by the
    backend. We'll use max-ring-page-order for the size of the ring.
    
    This means that the size of the ring is not static
    (XEN_FLEX_RING_SIZE(9)) anymore. Change XEN_9PFS_RING_SIZE to take an
    argument and base the calculation on the order chosen at setup time.
    
    Finally, modify p9_xen_trans.maxsize to be divided by 4 compared to the
    original value. We need to divide it by 2 because we have two rings
    coming off the same order allocation: the in and out rings. This was a
    mistake in the original code. Also divide it further by 2 because we
    don't want a single request/reply to fill up the entire ring. There can
    be multiple requests/replies outstanding at any given time and if we use
    the full ring with one, we risk forcing the backend to wait for the
    client to read back more replies before continuing, which is not
    performant.
    
    Link: http://lkml.kernel.org/r/20200521193242.15953-1-sstabellini@kernel.org
    
    
    Signed-off-by: default avatarStefano Stabellini <stefano.stabellini@xilinx.com>
    Signed-off-by: default avatarDominique Martinet <dominique.martinet@cea.fr>
    36f99675