<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
<HTML>
<HEAD>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=us-ascii">
<META NAME="Generator" CONTENT="MS Exchange Server version 5.5.2654.45">
<TITLE>RE: [openib-general] [ANNOUNCE] GSI Implementation Candidate</TITLE>
</HEAD>
<BODY>
<BR>
<BR>

<P><FONT SIZE=2>> -----Original Message-----</FONT>
<BR><FONT SIZE=2>> From: Roland Dreier [<A HREF="mailto:roland@topspin.com">mailto:roland@topspin.com</A>]</FONT>
<BR><FONT SIZE=2>> Sent: Monday, August 02, 2004 8:39 PM</FONT>
<BR><FONT SIZE=2>> </FONT>
<BR><FONT SIZE=2>> </FONT>
<BR><FONT SIZE=2>>     Grant> I don't understand how protection domains play with DMA. I</FONT>
<BR><FONT SIZE=2>>     Grant> gather so far the HCA hosts a virtual -> DMA mapping table</FONT>
<BR><FONT SIZE=2>>     Grant> which the HCA driver keeps up to date. Is the protection</FONT>
<BR><FONT SIZE=2>>     Grant> domain used by the HCA to limit which entries in the table</FONT>
<BR><FONT SIZE=2>>     Grant> a process on a remote host may derefence?</FONT>
<BR><FONT SIZE=2>> </FONT>
<BR><FONT SIZE=2>> Every queue pair and every memory region is created in some protection</FONT>
<BR><FONT SIZE=2>> domain.  For a memory region to be used by an operation on a queue</FONT>
<BR><FONT SIZE=2>> pair, their protection domains must match.  However, the verbs</FONT>
<BR><FONT SIZE=2>> extensions define a "default L_Key" (for kernel use only) that turns</FONT>
<BR><FONT SIZE=2>> off both virtual->physical translation and protection domain</FONT>
<BR><FONT SIZE=2>> checking.  It's almost possible to simulate this on the current</FONT>
<BR><FONT SIZE=2>> Mellanox HCA, except that I don't know of a way to turn off protection</FONT>
<BR><FONT SIZE=2>> domain checking, so we'll have to create one pseudo-default L_Key per</FONT>
<BR><FONT SIZE=2>> protection domain.</FONT>
<BR><FONT SIZE=2>> </FONT>
<BR><FONT SIZE=2>>  - Roland</FONT>
<BR><FONT SIZE=2>> </FONT>
</P>

<P><FONT SIZE=2>It is not possible to turn off PD check on a MR in Tavor. You will have </FONT>
<BR><FONT SIZE=2>to create an MR for each PD that you need. One way to go is to map</FONT>
<BR><FONT SIZE=2>all kernel apps to the same PD, but you probably don't want to do such</FONT>
<BR><FONT SIZE=2>a thing.</FONT>
<BR><FONT SIZE=2>Once we get to verbs extensions, you can configure Arbel to disable </FONT>
<BR><FONT SIZE=2>the PD check for certain QPs.</FONT>
</P>

<P><FONT SIZE=2>-Dror</FONT>
</P>

</BODY>
</HTML>