Re: [openib-general] [PATCH] IB/SRP: Enable multichannel

2006-10-02 Thread Roland Dreier
Michael We could just let the user specify the Id Ext when adding
Michael the device.  How does this sound?

Yes, that makes the most sense -- just add another optional option for
use when adding a target.

 - R.

___
openib-general mailing list
openib-general@openib.org
http://openib.org/mailman/listinfo/openib-general

To unsubscribe, please visit http://openib.org/mailman/listinfo/openib-general



Re: [openib-general] [PATCH] IB/SRP: Enable multichannel

2006-10-01 Thread Lakshmanan, Madhu
Quoting r.  Vu Pham [EMAIL PROTECTED]:
 Subject: Re: [PATCH] IB/SRP: Enable multichannel
 What is the advantage to have multiple connections/qps on the same
physical port to the same target? The disavantages are wasting
resources, instability, no fail-over on physical port error...

The advantage is if the target in question is an IOC that connects to a
FC SAN for example. In this case, the host is physically connected to
the same IOC, but can maintain independent logical connections to
specific storage devices on the SAN that are behind the IOC.

Quoting r. Michael S. Tsirkin [EMAIL PROTECTED]
 Subject: Re: [PATCH] IB/SRP: Enable multichannel
 
 Maybe we should just use the port GUID instead of the node GUID to
 form the initiator ID?  That would solve this pretty cleanly I think.

 Sounds good.
 I think we should also stick the pkey into the identifier extension -
 I think it's nice for each partition to be able to act as a separate
virtual network, not affecting others.

 What do you think?
 -- 
 MST

Sticking the pkey into the identifier extension may once again restrict
the ability of the host to have multiple logical connections to an SRP
IOC target. 

The most flexible approach appears to be:
Identifier ID = Port GUID
Identifier Extension = User specified 

Ishai's IB-SRP patch of 09/27 appears to accomplish the above.

Madhu


___
openib-general mailing list
openib-general@openib.org
http://openib.org/mailman/listinfo/openib-general

To unsubscribe, please visit
http://openib.org/mailman/listinfo/openib-general


___
openib-general mailing list
openib-general@openib.org
http://openib.org/mailman/listinfo/openib-general

To unsubscribe, please visit http://openib.org/mailman/listinfo/openib-general



Re: [openib-general] [PATCH] IB/SRP: Enable multichannel

2006-10-01 Thread Michael S. Tsirkin
Quoting r. Lakshmanan, Madhu [EMAIL PROTECTED]:
 Subject: RE: [openib-general] [PATCH] IB/SRP: Enable multichannel
 
 Quoting r.  Vu Pham [EMAIL PROTECTED]:
  Subject: Re: [PATCH] IB/SRP: Enable multichannel
  What is the advantage to have multiple connections/qps on the same
 physical port to the same target? The disavantages are wasting
 resources, instability, no fail-over on physical port error...
 
 The advantage is if the target in question is an IOC that connects to a
 FC SAN for example. In this case, the host is physically connected to
 the same IOC, but can maintain independent logical connections to
 specific storage devices on the SAN that are behind the IOC.

We could just let the user specify the Id Ext when adding the device.
How does this sound?

-- 
MST

___
openib-general mailing list
openib-general@openib.org
http://openib.org/mailman/listinfo/openib-general

To unsubscribe, please visit http://openib.org/mailman/listinfo/openib-general



Re: [openib-general] [PATCH] IB/SRP: Enable multichannel

2006-09-28 Thread Michael S. Tsirkin
Quoting r. Lakshmanan, Madhu [EMAIL PROTECTED]:
 gen2/trunk/src/linux-kernel/infiniband/ulp/srp.

This is deprecated.
You can get the exact code used for OFED 1.1 from ofed git tree.
The instructions are here:
https://openib.org/svn/gen2/branches/1.1/ofed/docs/HOWTO.build_ofed


 I'd like to collaborate with you on OFED SRP.

Please note that OFED 1.1 is in freeze and only critical and documentation
fixes are accepted.

Note also that OFED is a distribution testing and packaging, not a development
effort.  OFED backports kernel.org code to older kernels, so there's no OFED
SRP as such: to get your work into the next OFED release you should just work
against the latest kernel.org tree, and get Roland to accept your patches.

-- 
MST

___
openib-general mailing list
openib-general@openib.org
http://openib.org/mailman/listinfo/openib-general

To unsubscribe, please visit http://openib.org/mailman/listinfo/openib-general



Re: [openib-general] [PATCH] IB/SRP: Enable multichannel

2006-09-28 Thread Michael S. Tsirkin
Quoting r. Roland Dreier [EMAIL PROTECTED]:
 Subject: Re: [PATCH] IB/SRP: Enable multichannel
 
 Maybe we should just use the port GUID instead of the node GUID to
 form the initiator ID?  That would solve this pretty cleanly I think.

Sounds good.
I think we should also stick the pkey into the identifier extension -
I think it's nice for each partition to be able to act as a separate virtual 
network,
not affecting others.

What do you think?

-- 
MST

___
openib-general mailing list
openib-general@openib.org
http://openib.org/mailman/listinfo/openib-general

To unsubscribe, please visit http://openib.org/mailman/listinfo/openib-general



Re: [openib-general] [PATCH] IB/SRP: Enable multichannel

2006-09-27 Thread Vu Pham
Michael S. Tsirkin wrote:
 Quoting r. Vu Pham [EMAIL PROTECTED]:
 
Most of srp targets that I tested don't support multiple 
channels.
 
 
 Which are these?


Mellanox referenced srp target, Texas Memory System's SSD, 
Engenio.

 And what happens when you ask for multichannel support?
 

For Texas' SSD the login req is rejected

For Mellanox srp target the new multi channel/connection is 
established; however, if the host is in error recovery and 
do target reset, the host should terminate all outstanding 
channels/connections else the target have outstanding I/Os 
dangled on multi-channel/connection and try to complete the 
I/Os. This is violate scsi task management



___
openib-general mailing list
openib-general@openib.org
http://openib.org/mailman/listinfo/openib-general

To unsubscribe, please visit http://openib.org/mailman/listinfo/openib-general



Re: [openib-general] [PATCH] IB/SRP: Enable multichannel

2006-09-27 Thread Michael S. Tsirkin
Quoting r. Vu Pham [EMAIL PROTECTED]:
 Either you can use multiple channels or derive different 
 initiator_port_ID in the login req to have multiple paths on 
 the same physical port

So how about we just stick a pointer inside the indentifier extension
instead of enabling multichannel?

-- 
MST

___
openib-general mailing list
openib-general@openib.org
http://openib.org/mailman/listinfo/openib-general

To unsubscribe, please visit http://openib.org/mailman/listinfo/openib-general



Re: [openib-general] [PATCH] IB/SRP: Enable multichannel

2006-09-27 Thread Vu Pham
Michael S. Tsirkin wrote:
 Quoting r. Vu Pham [EMAIL PROTECTED]:
 
Either you can use multiple channels or derive different 
initiator_port_ID in the login req to have multiple paths on 
the same physical port
 
 
 So how about we just stick a pointer inside the indentifier extension
 instead of enabling multichannel?
 

That's the simple change. Beside that you have to maintain a 
list of connections/channels connected to the same target, 
to manage/clean-up resource associated with these 
connections, how to handle error recovery especially target 
reset and host reset...

What is the advantage to have multiple connections/qps on 
the same physical port to the same target? The disavantages 
are wasting resources, instability, no fail-over on physical 
port error...


___
openib-general mailing list
openib-general@openib.org
http://openib.org/mailman/listinfo/openib-general

To unsubscribe, please visit http://openib.org/mailman/listinfo/openib-general



Re: [openib-general] [PATCH] IB/SRP: Enable multichannel

2006-09-27 Thread Vu Pham
Vu Pham wrote:
 Michael S. Tsirkin wrote:
 
Quoting r. Vu Pham [EMAIL PROTECTED]:


Either you can use multiple channels or derive different 
initiator_port_ID in the login req to have multiple paths on 
the same physical port


So how about we just stick a pointer inside the indentifier extension
instead of enabling multichannel?

 
 
 That's the simple change. Beside that you have to maintain a 
 list of connections/channels connected to the same target, 
 to manage/clean-up resource associated with these 
 connections, how to handle error recovery especially target 
 reset and host reset...
 
 What is the advantage to have multiple connections/qps on 
 the same physical port to the same target? The disavantages 
 are wasting resources, instability, no fail-over on physical 
 port error...
 

I see the limitation of current srp implementation. If we 
have the following topoloty
host port 1 -- target port 1
host port 1 -- target port 2

the current srp implementation will use the same 
initiator_port_id for both login requests and the target 
will reject the second login if you don't turn on 
SUPPORT_MULTI_CHANNEL

Another way to solve this is to use different 
initiator_port_id for the logins ie.

path 1: initiator_port_ID{target_port1_GUID, 
initiator_port1_GUID} and target_port_ID{id_ext, ioc_guid}

path 2: 
initiator_port_ID{target_port2_GUID,initiator_port1_GUID} 
and target_port_ID

This also will guarantee the uniqueness of initiator_port_id 
in the fabric


___
openib-general mailing list
openib-general@openib.org
http://openib.org/mailman/listinfo/openib-general

To unsubscribe, please visit http://openib.org/mailman/listinfo/openib-general



Re: [openib-general] [PATCH] IB/SRP: Enable multichannel

2006-09-27 Thread Roland Dreier
Maybe we should just use the port GUID instead of the node GUID to
form the initiator ID?  That would solve this pretty cleanly I think.

___
openib-general mailing list
openib-general@openib.org
http://openib.org/mailman/listinfo/openib-general

To unsubscribe, please visit http://openib.org/mailman/listinfo/openib-general



Re: [openib-general] [PATCH] IB/SRP: Enable multichannel

2006-09-27 Thread Ishai Rabinovitz
Roland Dreier wrote:
 Maybe we should just use the port GUID instead of the node GUID to
 form the initiator ID?  That would solve this pretty cleanly I think.


This is also Vu's idea.

There are two issues:

1) My patch allows a sophisticated user to have two logical connections on
the same physical solution. He can have different connection parameters
(e.g., MAX_CMD_PER_LUN) according to the application needs.
 Do you think there is such need?

2) In the current implementation there is a problem when there are two
connections on the same physical connection - when the second connection
sends REQ to the target, the target sends a DREQ to the first connection,
but when someone tries to access the first scsi_host, ib_srp tries to
reconnect the first connection and then the second connection gets a DREQ
- and so the ping pong goes.
And if there is a multipath daemon that checks the status of the
connections this ping pong can be for ever.
We need to find a way to eliminate this behavior.

Ishai


___
openib-general mailing list
openib-general@openib.org
http://openib.org/mailman/listinfo/openib-general

To unsubscribe, please visit http://openib.org/mailman/listinfo/openib-general



[openib-general] [PATCH] IB/SRP: Enable multichannel

2006-09-26 Thread Ishai Rabinovitz
Hi Roland,

SRP High Availability needs an initiator to connect to the same target 
several times, e.g., once from each IB port of the target (this way we can use
device mapper multipath for failover). Note that both connections are actually
active, e.g. multipath is issuing commands to to get the remote scsi id.

Since multiple channel operation is currently disabled in connection request,
each new connection request will cause the target to disconnect
the existing connection which forces us to bounce a lot between the two 
channels.

This patch enables multiple channel operation in connection requests, to avoid 
getting
disconnects when multiple connections are active. There does not seem to be any 
harm
in doing this even when multipath is not used.

Signed-off-by: Ishai Rabinovitz [EMAIL PROTECTED]

---

Index: last_stable/drivers/infiniband/ulp/srp/ib_srp.c
===
--- last_stable.orig/drivers/infiniband/ulp/srp/ib_srp.c2006-09-26 
09:22:13.0 +0300
+++ last_stable/drivers/infiniband/ulp/srp/ib_srp.c 2006-09-26 
14:54:35.0 +0300
@@ -329,6 +329,7 @@ static int srp_send_req(struct srp_targe
req-priv.req_it_iu_len = cpu_to_be32(srp_max_iu_len);
req-priv.req_buf_fmt   = cpu_to_be16(SRP_BUF_FORMAT_DIRECT |
  SRP_BUF_FORMAT_INDIRECT);
+   req-priv.req_flags = SRP_MULTICHAN_MULTI;
/*
 * In the published SRP specification (draft rev. 16a), the 
 * port identifier format is 8 bytes of ID extension followed
-- 
Ishai Rabinovitz

___
openib-general mailing list
openib-general@openib.org
http://openib.org/mailman/listinfo/openib-general

To unsubscribe, please visit http://openib.org/mailman/listinfo/openib-general



Re: [openib-general] [PATCH] IB/SRP: Enable multichannel

2006-09-26 Thread Vu Pham
Ishai Rabinovitz wrote:
 Hi Roland,
 
 SRP High Availability needs an initiator to connect to the same target 
 several times, e.g., once from each IB port of the target (this way we can use
 device mapper multipath for failover). Note that both connections are actually
 active, e.g. multipath is issuing commands to to get the remote scsi id.
 


It depends on how you define a path. An target-port-ID  
initiator-port-ID tuple will form a path. Current srp 
implementation uses port GID as initiator_port_ID, and 
target ioc_guid + id_ext as target_port_ID. With this 
implementation, a physical host port  physical target port 
will form a path

multipath driver will see the same scsi_id of a lun thru 
multiple paths


 Since multiple channel operation is currently disabled in connection request,
 each new connection request will cause the target to disconnect
 the existing connection which forces us to bounce a lot between the two 
 channels.

Either you can use multiple channels or derive different 
initiator_port_ID in the login req to have multiple paths on 
the same physical port

Most of srp targets that I tested don't support multiple 
channels.

-vu

___
openib-general mailing list
openib-general@openib.org
http://openib.org/mailman/listinfo/openib-general

To unsubscribe, please visit http://openib.org/mailman/listinfo/openib-general



Re: [openib-general] [PATCH] IB/SRP: Enable multichannel

2006-09-26 Thread Michael S. Tsirkin
Quoting r. Vu Pham [EMAIL PROTECTED]:
 Most of srp targets that I tested don't support multiple 
 channels.

Which are these?
And what happens when you ask for multichannel support?

-- 
MST

___
openib-general mailing list
openib-general@openib.org
http://openib.org/mailman/listinfo/openib-general

To unsubscribe, please visit http://openib.org/mailman/listinfo/openib-general