From: Brice Goglin <Brice.Goglin@ens-lyon.org>
To: David Addison <addy@quadrics.com>
Cc: linux-kernel@vger.kernel.org, Andrew Morton <akpm@osdl.org>,
Andrea Arcangeli <andrea@suse.de>,
David Addison <david.addison@quadrics.com>
Subject: Re: [PATCH][RFC] Linux VM hooks for advanced RDMA NICs
Date: Tue, 26 Apr 2005 19:06:34 +0200 [thread overview]
Message-ID: <426E751A.2020507@ens-lyon.org> (raw)
In-Reply-To: <426E62ED.5090803@quadrics.com>
David Addison a écrit :
> Hi,
>
> here is a patch we use to integrate the Quadrics NICs into the Linux
> kernel.
> The patch adds hooks to the Linux VM subsystem so that registered 'IOPROC'
> devices can be informed of page table changes.
> This allows the Quadrics NICs to perform user RDMAs safely, without
> requiring
> page pinning. Looking through some of the recent IB and Ammasso
> discussions,
> it may also prove useful to those NICs too.
Hi,
I worked on a similar patch to help updating a registration cache on
Myrinet. I came to the problem of deciding between registering ioproc
to the entire address space (1) or only to some VMA (2).
You're doing (1), I tried (2).
(2) avoids calling ioproc hooks for all pages that are never involved
in any communication. This might be good if the amount of pages that
are involved is not too high and if the coproc_ops cost is a little bit
high.
Do you have any numbers about this in real applications on QsNet ?
I see two drawback in (2).
First, it requires to play with the list of ioproc_ops when VMA are
merged or split. Actually, it's not that bad since the list often
contains only 1 ioproc_ops.
Secondly, you have to add the ioproc to all involved VMA at some point.
It's easy when the API asks the application to register, you just add
the ioproc_ops to the target VMA during registration. But, I guess it's
not easy with Quadrics, right ?
I see in your patch that ioproc are not inherited during fork.
How do you support fork in your driver/lib then ?
What if a COW page is given to the son and the copy to the father
while some IO are being processed ? Do you require the application to
call a specific routine after forking ?
Don't you think it might be good to add a hook in the fork code
so that ioproc are inherited or duplicated pages are invalidated
in the card ?
Regards,
Brice
next prev parent reply other threads:[~2005-04-26 17:07 UTC|newest]
Thread overview: 20+ messages / expand[flat|nested] mbox.gz Atom feed top
2005-04-26 15:49 [PATCH][RFC] Linux VM hooks for advanced RDMA NICs David Addison
2005-04-26 16:57 ` Jesper Juhl
2005-04-26 17:13 ` Lee Revell
2005-04-26 17:20 ` Jesper Juhl
2005-04-26 17:28 ` Lee Revell
2005-04-26 17:38 ` Jesper Juhl
2005-04-26 20:14 ` John W. Linville
2005-04-26 20:17 ` Lee Revell
2005-04-26 20:09 ` Lars Marowsky-Bree
2005-04-28 11:34 ` Jakob Oestergaard
2005-04-29 8:22 ` Benjamin Herrenschmidt
2005-04-26 17:06 ` Brice Goglin [this message]
2005-04-27 9:41 ` David Addison
2005-04-28 8:38 ` Andy Isaacson
2005-04-27 13:43 ` Andi Kleen
2005-04-28 1:42 ` Troy Benjegerdes
2005-04-28 7:21 ` Brice Goglin
2005-04-28 9:21 ` David Addison
2005-04-29 8:19 ` Benjamin Herrenschmidt
2005-04-29 9:25 ` David Addison
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=426E751A.2020507@ens-lyon.org \
--to=brice.goglin@ens-lyon.org \
--cc=addy@quadrics.com \
--cc=akpm@osdl.org \
--cc=andrea@suse.de \
--cc=david.addison@quadrics.com \
--cc=linux-kernel@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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox