All of lore.kernel.org
 help / color / mirror / Atom feed
From: Jan Sacha <Jan.Sacha@alcatel-lucent.com>
To: <kvm@vger.kernel.org>
Subject: IOTLB page size question
Date: Mon, 13 Oct 2014 13:50:35 -0700	[thread overview]
Message-ID: <543C3B1B.8050802@alcatel-lucent.com> (raw)

Hi,

I have a question about IOTLB. We are running KVM/Qemu VMs with huge 
page memory backing on Intel Xeon Ivy Bridge machines. Our VMs use 10G 
Ether NICs in Intel VT-d mode. We actually see that IOTLB becomes a 
performance bottleneck when IOMMU uses 4k pages. We get much better 
packet throughput with 2M IOTLB pages.

We have tried two different Linux distributions (CentOS and Fedora). An 
older CentOS kernel maps everything using 4k IOTLB pages. Our newer 
Fedora kernel initially maps guest memory using 2M IOTLB pages, but we 
see that a couple of seconds later it remaps the first 0xE000 pages 
(3.75GB) of memory using 4k IOTLB pages. We still have 2M IOTLB page 
mappings for memory above 4GB.

Why would the kernel change the IOTLB page size from 2M to 4k? How can 
we make sure that all memory (except for some non-aligned bits) gets 
mapped using 2M IOTLB pages? As I mentioned, we are using huge-page 
memory backing for all our VMs. Any advice, also for debugging and 
further diagnosis, would be appreciated.

Jan

             reply	other threads:[~2014-10-13 21:01 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-10-13 20:50 Jan Sacha [this message]
2014-10-13 21:41 ` IOTLB page size question Alex Williamson
2014-10-13 23:16   ` Jan Sacha
2014-10-17 21:01     ` Jan Sacha

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=543C3B1B.8050802@alcatel-lucent.com \
    --to=jan.sacha@alcatel-lucent.com \
    --cc=kvm@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.