public inbox for linux-rdma@vger.kernel.org
 help / color / mirror / Atom feed
From: Jason Gunthorpe <jgunthorpe-ePGOBjL8dl3ta4EC/59zMFaTQe2KTcn/@public.gmane.org>
To: Haggai Eran <haggaie-VPRAkNaXOzVWk0Htik3J/w@public.gmane.org>
Cc: "Jeff Squyres (jsquyres)"
	<jsquyres-FYB4Gu1CFyUAvxtiuMwx3w@public.gmane.org>,
	Or Gerlitz <ogerlitz-VPRAkNaXOzVWk0Htik3J/w@public.gmane.org>,
	"linux-rdma-u79uwXL29TY76Z2rM5mHXA@public.gmane.org"
	<linux-rdma-u79uwXL29TY76Z2rM5mHXA@public.gmane.org>
Subject: Re: Status of "ummunot" branch?
Date: Tue, 4 Jun 2013 11:04:41 -0600	[thread overview]
Message-ID: <20130604170441.GA13745@obsidianresearch.com> (raw)
In-Reply-To: <51ADD489.3020902-VPRAkNaXOzVWk0Htik3J/w@public.gmane.org>

On Tue, Jun 04, 2013 at 02:50:33PM +0300, Haggai Eran wrote:

> Our HCAs use their own page tables, in addition to a TLB cache. A miss
> in the TLB cache that can be filled from the HCA's page tables will not
> cause an RNR NAK, since the HCA can fill it relatively fast without the
> help of the operating system. If the page is missing from the HCA's page
> table though it will trigger a page fault and ask the OS to bring that
> page. Since this might take longer, in these cases we send an RNR NAK.

I also saw the presentation at the OFA conference and had several
questions..

So, my assumption:
 - There is a fast small TLB inside the HCA
 - There is a larger page table the HCA accesses inside the host
   memory

AFAIK, this is basically the construction we have today, and the
larger page table is expected to be fully populated.

Thus, I assume, on-demand allows pages that are 'absent' in the larger
page table to generate faults to the CPU?

So how does lifetime work here?

 - Can you populate the larger page table as soon as registration
   happens, relying on mmu notifier and HCA faults to keep it
   consistent?
 - After a fault happens are the faulted pages pinned? How does
   lifetime work here? What happens when the kernel wants to evict
   a page that has currently ongoing RDMA? What happens if user space
   munmaps something while the remote is doing RDMA to it?
 - If I recall the presentation, the fault-in operation was very slow,
   what is the cause for this?

> > He was very concerned about what the size of the TLB on the HCA,
> > and therefore what the actual run-time behavior would be for
> > sending around large messages via MPI -- i.e., would RDMA'ing 1GB
> > messages now incur this
> > HCA-must-reload-its-TLB-and-therefore-incur-RNR-NAKs behavior?
> > 
> We have a mechanism to prefetch the pages needed for a large message
> upon the first page fault, which can also help amortizing the cost of
> the page fault for larger messages.

My reaction was that a pre-fault WR is needed to make this performant.

But, I also don't fully understand why we need so many faults from the
HCA in the first place. If you've properly solved the lifetime issues
then the initial registration can meaningfully pre-initialize the page
table in many cases, and computing the physical address of a page
should not be so expensive.

Jason
--
To unsubscribe from this list: send the line "unsubscribe linux-rdma" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

  parent reply	other threads:[~2013-06-04 17:04 UTC|newest]

Thread overview: 40+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-05-28 17:51 Status of "ummunot" branch? Jeff Squyres (jsquyres)
     [not found] ` <EF66BBEB19BADC41AC8CCF5F684F07FC4F643196-nsZYYkk5h5QQ2GdVW7+PtKBKnGwkPULj@public.gmane.org>
2013-05-28 17:52   ` Roland Dreier
     [not found]     ` <CAL1RGDUops1ju6zU=w3vKxcUcLHp6XJFKfBTDr4nm397UkhaYA-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2013-05-28 18:30       ` Jeff Squyres (jsquyres)
2013-05-29  8:53   ` Or Gerlitz
     [not found]     ` <CAJZOPZJc2Dq2jQgRspP_2c1j=4aJ40UxcBEcyiY_mhHPX1ptPw-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2013-05-29 22:56       ` Jeff Squyres (jsquyres)
     [not found]         ` <EF66BBEB19BADC41AC8CCF5F684F07FC4F64AAB7-nsZYYkk5h5QQ2GdVW7+PtKBKnGwkPULj@public.gmane.org>
2013-05-30  5:09           ` Or Gerlitz
     [not found]             ` <51A6DEEC.40305-VPRAkNaXOzVWk0Htik3J/w@public.gmane.org>
2013-05-30 15:52               ` Jeff Squyres (jsquyres)
2013-06-04  1:24       ` Jeff Squyres (jsquyres)
     [not found]         ` <EF66BBEB19BADC41AC8CCF5F684F07FC4F657918-nsZYYkk5h5QQ2GdVW7+PtKBKnGwkPULj@public.gmane.org>
2013-06-04  8:37           ` Or Gerlitz
     [not found]             ` <51ADA761.2080107-VPRAkNaXOzVWk0Htik3J/w@public.gmane.org>
2013-06-04  9:54               ` Haggai Eran
     [not found]                 ` <51ADB948.5080903-VPRAkNaXOzVWk0Htik3J/w@public.gmane.org>
2013-06-04 10:56                   ` Jeff Squyres (jsquyres)
     [not found]                     ` <EF66BBEB19BADC41AC8CCF5F684F07FC4F659155-nsZYYkk5h5QQ2GdVW7+PtKBKnGwkPULj@public.gmane.org>
2013-06-04 11:50                       ` Haggai Eran
     [not found]                         ` <51ADD489.3020902-VPRAkNaXOzVWk0Htik3J/w@public.gmane.org>
2013-06-04 17:04                           ` Jason Gunthorpe [this message]
     [not found]                             ` <20130604170441.GA13745-ePGOBjL8dl3ta4EC/59zMFaTQe2KTcn/@public.gmane.org>
2013-06-05  7:09                               ` Haggai Eran
2013-06-04 20:13                           ` Jeff Squyres (jsquyres)
     [not found]                             ` <EF66BBEB19BADC41AC8CCF5F684F07FC4F65AE40-nsZYYkk5h5QQ2GdVW7+PtKBKnGwkPULj@public.gmane.org>
2013-06-05  7:14                               ` Haggai Eran
     [not found]                                 ` <51AEE53C.2090603-VPRAkNaXOzVWk0Htik3J/w@public.gmane.org>
2013-06-05 12:45                                   ` Jeff Squyres (jsquyres)
     [not found]                                     ` <EF66BBEB19BADC41AC8CCF5F684F07FC4F65C855-nsZYYkk5h5QQ2GdVW7+PtKBKnGwkPULj@public.gmane.org>
2013-06-05 13:39                                       ` Haggai Eran
     [not found]                                         ` <51AF3FA8.7000900-VPRAkNaXOzVWk0Htik3J/w@public.gmane.org>
2013-06-05 16:53                                           ` Jeff Squyres (jsquyres)
     [not found]                                             ` <EF66BBEB19BADC41AC8CCF5F684F07FC4F65D5D3-nsZYYkk5h5QQ2GdVW7+PtKBKnGwkPULj@public.gmane.org>
2013-06-05 17:14                                               ` Jason Gunthorpe
     [not found]                                                 ` <20130605171426.GC30184-ePGOBjL8dl3ta4EC/59zMFaTQe2KTcn/@public.gmane.org>
2013-06-05 18:10                                                   ` Jeff Squyres (jsquyres)
     [not found]                                                     ` <EF66BBEB19BADC41AC8CCF5F684F07FC4F65DC0D-nsZYYkk5h5QQ2GdVW7+PtKBKnGwkPULj@public.gmane.org>
2013-06-05 18:18                                                       ` Jason Gunthorpe
     [not found]                                                         ` <20130605181853.GB1946-ePGOBjL8dl3ta4EC/59zMFaTQe2KTcn/@public.gmane.org>
2013-06-05 18:45                                                           ` Jeff Squyres (jsquyres)
     [not found]                                                             ` <EF66BBEB19BADC41AC8CCF5F684F07FC4F65DF6F-nsZYYkk5h5QQ2GdVW7+PtKBKnGwkPULj@public.gmane.org>
2013-06-05 19:05                                                               ` Jason Gunthorpe
     [not found]                                                                 ` <20130605190529.GA3044-ePGOBjL8dl3ta4EC/59zMFaTQe2KTcn/@public.gmane.org>
2013-06-06  2:58                                                                   ` Jeff Squyres (jsquyres)
2013-06-06  5:52                                                                   ` Haggai Eran
     [not found]                                                                     ` <51B023B9.9050000-VPRAkNaXOzVWk0Htik3J/w@public.gmane.org>
2013-06-06 23:33                                                                       ` Jeff Squyres (jsquyres)
     [not found]                                                                         ` <EF66BBEB19BADC41AC8CCF5F684F07FC4F66B79C-nsZYYkk5h5QQ2GdVW7+PtKBKnGwkPULj@public.gmane.org>
2013-06-07 22:59                                                                           ` Jeff Squyres (jsquyres)
     [not found]                                                                             ` <EF66BBEB19BADC41AC8CCF5F684F07FC4F66E403-nsZYYkk5h5QQ2GdVW7+PtKBKnGwkPULj@public.gmane.org>
2013-06-07 23:57                                                                               ` Jason Gunthorpe
     [not found]                                                                                 ` <20130607235731.GA25942-ePGOBjL8dl3ta4EC/59zMFaTQe2KTcn/@public.gmane.org>
2013-06-10  9:17                                                                                   ` Liran Liss
2013-06-10 14:49                                                                                   ` Jeff Squyres (jsquyres)
     [not found]                                                                                     ` <EF66BBEB19BADC41AC8CCF5F684F07FC4F676E59-nsZYYkk5h5QQ2GdVW7+PtKBKnGwkPULj@public.gmane.org>
2013-06-10 15:56                                                                                       ` Liran Liss
     [not found]                                                                                         ` <D554B471892C914E90E136467281724DAD695B50-fViJhHBwANKuSA5JZHE7gA@public.gmane.org>
2013-06-12 21:10                                                                                           ` Jeff Squyres (jsquyres)
     [not found]                                                                                             ` <EF66BBEB19BADC41AC8CCF5F684F07FC4F6808D7-nsZYYkk5h5QQ2GdVW7+PtKBKnGwkPULj@public.gmane.org>
2013-06-12 21:17                                                                                               ` Jason Gunthorpe
     [not found]                                                                                                 ` <20130612211742.GA8625-ePGOBjL8dl3ta4EC/59zMFaTQe2KTcn/@public.gmane.org>
2013-06-14 22:48                                                                                                   ` Jeff Squyres (jsquyres)
2013-06-10 17:26                                                                                       ` Jason Gunthorpe
     [not found]                                                                                         ` <20130610172627.GC2391-ePGOBjL8dl3ta4EC/59zMFaTQe2KTcn/@public.gmane.org>
2013-06-12 21:18                                                                                           ` Jeff Squyres (jsquyres)
     [not found]                                                                                             ` <EF66BBEB19BADC41AC8CCF5F684F07FC4F680A2B-nsZYYkk5h5QQ2GdVW7+PtKBKnGwkPULj@public.gmane.org>
2013-06-12 21:47                                                                                               ` Jason Gunthorpe
     [not found]                                                                                                 ` <20130612214708.GD8625-ePGOBjL8dl3ta4EC/59zMFaTQe2KTcn/@public.gmane.org>
2013-06-14 22:53                                                                                                   ` Jeff Squyres (jsquyres)
     [not found]                                                                                                     ` <EF66BBEB19BADC41AC8CCF5F684F07FC4F6886C8-nsZYYkk5h5QQ2GdVW7+PtKBKnGwkPULj@public.gmane.org>
2013-06-14 23:11                                                                                                       ` Jason Gunthorpe

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=20130604170441.GA13745@obsidianresearch.com \
    --to=jgunthorpe-epgobjl8dl3ta4ec/59zmfatqe2ktcn/@public.gmane.org \
    --cc=haggaie-VPRAkNaXOzVWk0Htik3J/w@public.gmane.org \
    --cc=jsquyres-FYB4Gu1CFyUAvxtiuMwx3w@public.gmane.org \
    --cc=linux-rdma-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
    --cc=ogerlitz-VPRAkNaXOzVWk0Htik3J/w@public.gmane.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox