Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1755243AbbKWWdO (ORCPT ); Mon, 23 Nov 2015 17:33:14 -0500 Received: from mail-by2on0080.outbound.protection.outlook.com ([207.46.100.80]:60812 "EHLO na01-by2-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1754432AbbKWWdL (ORCPT ); Mon, 23 Nov 2015 17:33:11 -0500 Authentication-Results: spf=pass (sender IP is 63.163.107.172) smtp.mailfrom=sandisk.com; vger.kernel.org; dkim=none (message not signed) header.d=none;vger.kernel.org; dmarc=bestguesspass action=none header.from=sandisk.com; X-AuditID: ac160a68-f790b6d00000123b-d2-56539422c2b0 Subject: Re: [PATCH 2/9] IB: add a proper completion queue abstraction To: Jason Gunthorpe References: <1447422410-20891-1-git-send-email-hch@lst.de> <1447422410-20891-3-git-send-email-hch@lst.de> <20151113182513.GB21808@obsidianresearch.com> <564640C4.3000603@sandisk.com> <20151113220636.GA32133@obsidianresearch.com> <20151114071344.GE27738@lst.de> <20151123203712.GB5640@obsidianresearch.com> <56537F59.4080708@sandisk.com> <20151123212822.GE6062@obsidianresearch.com> <56538AFD.9080103@sandisk.com> <20151123221806.GA7152@obsidianresearch.com> CC: Christoph Hellwig , "linux-rdma@vger.kernel.org" , "sagig@dev.mellanox.co.il" , "axboe@fb.com" , "linux-scsi@vger.kernel.org" , "linux-kernel@vger.kernel.org" From: Bart Van Assche Message-ID: <56539421.9050705@sandisk.com> Date: Mon, 23 Nov 2015 14:33:05 -0800 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.3.0 MIME-Version: 1.0 In-Reply-To: <20151123221806.GA7152@obsidianresearch.com> Content-Type: text/plain; charset="utf-8"; format=flowed Content-Transfer-Encoding: 7bit X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFupnkeLIzCtJLcpLzFFi42JZI8azSFdpSnCYwfkjPBb/9xxjs1i5+iiT xfcbphaXd81hs3h2qJfFovv6DjaL18efMjmwe0yfsYnVY2LzO3aP3Tcb2Dy+7+hl9Pi8SS6A NYrLJiU1J7MstUjfLoEro+/HCfaCp2wVG8+0MzcwbmLtYuTgkBAwkZh+r7qLkRPIFJO4cG89 WxcjF4eQwAlGif5bF5khnB2MEr/XfmaBqDKRmNj3gxUisYlR4v3WVWwgCWEBN4ld80+AFYkI mEocP36HCaLoKrPE32U3wOYyC2xlkli2cwErSBWbgJHEt/czwTp4BbQkzvy4xAhiswioShx/ eQvMFhWIkJg4oYEVokZQ4uTMJ2D1nAKWEltPnwazmQUsJGbOP88IYctLbH87B+xuCYGLrBLv r58GSwgJqEucXDKfaQKjyCwks2Yh6Z+FpH8BI/MqRrHczJzi3PTUAkNDveLEvJTM4my95Pzc TYzgaOLK2MG4dZL5IUYBDkYlHt4ZRcFhQqyJZcWVuYcYJTiYlUR4ZfuAQrwpiZVVqUX58UWl OanFhxilOViUxHmtW9TChATSE0tSs1NTC1KLYLJMHJxSDYxzRbew5+jvlN7/wKxe6WL8dwa5 DcV+LckKnTrnT8Tfn9DadJ3Vy+OZc7feta6tvKveK/z7ElJoc+TZ/7Ibdo6mN5RY7+kt+zNt 6cZfj47nZk2N6PRwkebN2xZ+anaqwkoXO64H3tdmskWfPjS7cpumkMunFA2moxV6rGuFtNm7 17jdOKY7tUSJpTgj0VCLuag4EQCF26+WogIAAA== X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFmplluLIzCtJLcpLzFFi42Lh2siRoqs4JTjM4OkcK4v/e46xWaxcfZTJ 4vsNU4vLu+awWTw71Mti0X19B5vF6+NPmRzYPabP2MTqMbH5HbvH7psNbB7fd/QyenzeJBfA GsVlk5Kak1mWWqRvl8CV0ffjBHvBU7aKjWfamRsYN7F2MXJySAiYSEzs+wFli0lcuLeerYuR i0NIYAOjxK4raxhBEsICbhK75p9gAbFFBEwljh+/wwRRdJVZ4u+yG2AdzALbmSTWXXvODFLF JmAk8e39TLAOXgEtiTM/LoFNYhFQlTj+8haYLSoQITFxQgMrRI2gxMmZT8DqOQUsJbaePg1m MwuYSczb/JAZwpaX2P52DvMERv5ZSFpmISmbhaRsASPzKkax3Myc4tz0zAJDQ73ixLyUzOJs veT83E2M4IDmjNzB+HSi+SFGJg5OqQZGv9eP4/frfFE4Zv3wuM+n9alGxwrjQ/48bfd8ctZ0 GffmUPY2d/H/zNsOdealfjot9o/1q/xv89KV3o0sCibT5q0Kdq7/c1VkBftX2z9TOv+os276 O6V937U4y949m30WTslcN0v0SZyJgEfDJ474Oya/HgWnHNLR++gruCv/5YP9sfaabz8dUGIp zkg01GIuKk4EABErNb4YAgAA X-EOPAttributedMessage: 0 X-Microsoft-Exchange-Diagnostics: 1;BN1BFFO11FD046;1:Td2V+HbRid78HpESTSKekuzRRjNZ/I2GX4cxaURsLSvVe0I0ftN919ZgBr9zHEqVVoO6MIxvAgXtMHe7NrZErJNJOZfcUAOQTf7Nz/4OIxcQ3L714H2NauNsEc6MOLaBmhJ6eWoeE1Zx/UgiqQp3mi9GVDGlPvtRmmPKmbMZP4C4Jk5glB0YD8UhTbRdys8u8q+wxiUjY9qy+eQMP4vOXyRGW4hUAyt5QW8SVDLVaR+ZIazfna+xqbjkU5VA05kRY23UEUPnx2XlhTCxC+7U6UjXpPsC4dcPuDyl49SDqoAVQ4sGVxuJeSW+zwoe8dfMTdtXRX6dnEVqAdJbNE3Q69o+OZ33vB0HjoXAmci+FX/48wIA2oMB0h8VdNFfMG8COi4k5mzm3jnCIrSSKYUmLGJdSEx+G+eB3htJkl++RPM= X-Forefront-Antispam-Report: CIP:63.163.107.172;CTRY:US;IPV:NLI;EFV:NLI;SFV:NSPM;SFS:(10009020)(6009001)(2980300002)(438002)(377454003)(479174004)(189002)(199003)(24454002)(4001350100001)(65806001)(230700001)(586003)(50986999)(47776003)(93886004)(2950100001)(5008740100001)(77096005)(54356999)(76176999)(92566002)(5001960100002)(87266999)(106466001)(65956001)(50466002)(64126003)(11100500001)(69596002)(5001920100001)(23676002)(36756003)(117636001)(99136001)(97736004)(59896002)(189998001)(83506001)(86362001)(65816999)(110136002)(81156007)(87936001)(5007970100001)(62816006);DIR:OUT;SFP:1101;SCL:1;SRVR:DM2PR02MB302;H:milsmgep11.sandisk.com;FPR:;SPF:Pass;PTR:InfoDomainNonexistent;MX:1;A:1;LANG:en; X-Microsoft-Exchange-Diagnostics: 1;DM2PR02MB302;2:lE6TaQDC0klTsg62liOWNoyj2BcDCA1lOKUfFT/rgTIfU17tc6oMZNF8/tzK3gQtudV+iMpyledb369SFURTcGsiFsXLRUC15dEZ8OczJ1URZvcNp4sVbvibQyppqdV2uAVZDDD5jRWYoGnPRM7lsACOwzP29ah78CBeH3RcJgA=;3:q3en5SgdEnYf5MJ9LiPx+LyQXoiDBR5M/h1xpkpqD6uTM1AYvuIcxLAB9M9yJ8D0VHe4QNnngJk+Mp9pfmGH/mh/lRyYSKB/gB4aRUasRpl/6oB4zGHdh1UVz52BQRWRSqmdgRe3bdcR1BMCTdp3NQlsSnL4czEjdsqas/sAXIMsY4MvxFlHqDnsiUeQpQ1TubFTiFiv8rKFxdwFb09n9ospj1DwMnmfOoykd4IxyhupxCjjj2f/txV01rtvE+pmsy1QcST1ChDZp1VJSWZiqQ==;25:QvVvm2NgWYhYQnKT2zPOp9RMzLUqFqa6t8yx5bKwRkyv8FyXEJBn11C7yzEbzngUDcGK0bhxW2LUn9pJo1xPzOee7ghx5goQHLYcxf3Z5CVPXM1ALc+0i29475Zz7UueqWuVEKzs3KSXfSaoYx0o0WDjIsCDtlSWHbb6tbN3dFdNmcXSvnfL3SrqtPY3wUNQ8099JmSTbrTOB0msP7C4xaX4/B+6VyI1U2i0DibTcirik8TBSiQrvfhaQPr0zPZ+0iRny6KdEN5NW773J0Rcfg== X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:(8251501001);SRVR:DM2PR02MB302; X-Microsoft-Exchange-Diagnostics: 1;DM2PR02MB302;20:LRgWrLHAPZRwSSvCaGwsM2ONe68fCuxG2Xo6IcdgJr0gr3XMj2sSIWurgXNg5GWDt5U4s96NpxiXZzBHAuFYYy6tboMG0sF1Yb/v45Dp8IoOyBqSrkqgujA8NpNjQkCdWO1eHyviroDAFXOBbhzvX2wxk1jB17ppAzIXAyrKF18vThYb6sPHBioe2RbKWQkzuTRiZ5YGp8s57gkPnLa45gnmKeeKZD0L484R2yo0tUyDtyxhDD2qxwwC+Cl1ECjNrTz3IR6LgsXA37GBp1vi6U2vJ7YEu4ne1pxpPp8t0oCvxx/YtxsF6TOKHdR4D4fHgWL8Hhh6crjbubEQRr4EEY2YV/wMd8b+LWY4ub0QHD3d7XWGeGHg2f1luMTySZ+WgR+aoS81v03fNJDRBOGCmIz6fzo4eSTd4ECNb872ocnUdf9RDbrDoNBCz9RGxaFMOaYxoNLDi/m1vLaDMEiHBR9084cXN4oK0lRxWnKKLZDRr0s1VNjqRr55rPcuN1HR;4:jH/sP6SmP28bdPCXNqm3ww6iolTHaKCuLdAWG7DZj8hBLAvGCb9MImb1yXFV+2jf1pVfOnOOi73rYBpP+ip+leifzEdQqpFZVtMsE5bNp2M+b0/tnXuelSneMoJInzxRAjKsDFXNvkSMtP42F1SQ/wk1B3ZDIZ+3Zksa1jFxyDH7zTIaSNsmMWDEQxR9mGTO1pv6hH0k640FHHXNC6A4kPJLkeo9mdmXFs1HdcI9911REzxyeQEnVkTGV/oH4SysfIBTbchQzu2VEv5FGRHd4CVq6RbO0apT4H/+S3qrYY5bNOGXJ0BQCASJX45edOZSfciCvrx7klS7NLYnirKCWM0KlSHk5NSlNEKLuXctQnMLIibBp79RzNPc4pIaQiXR X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:; X-Exchange-Antispam-Report-CFA-Test: BCL:0;PCL:0;RULEID:(601004)(2401047)(520078)(5005006)(8121501046)(3002001)(10201501046);SRVR:DM2PR02MB302;BCL:0;PCL:0;RULEID:;SRVR:DM2PR02MB302; X-Forefront-PRVS: 07697999E6 X-Microsoft-Exchange-Diagnostics: =?utf-8?B?MTtETTJQUjAyTUIzMDI7MjM6eWtDY09LaFBNWERNeVlIU2ZJOTVkTnhxR2s0?= =?utf-8?B?VEU5NzI1VkU4RGIwYzVuZFgzOW5IZkJmL2p3ekorVGNkSHVYOEg2V3R5dW5R?= =?utf-8?B?d2pkUDhKeHlIUUJqZVJoaUlGT1F3cmRwYXR1MWE3TVpMT2N1RlAzRFJFRnVv?= =?utf-8?B?UWlkdEJKL2xHTExPcFlySXcreGZETUtjWUdoaVJ3bUlOTnVraU9vbTN5aFds?= =?utf-8?B?YkFtRzk5NjJUa25QNkZnQTROc1JiVjhSQU9icHBSVDkxOTNpbmhMWG8ydHVC?= =?utf-8?B?Y0kvOEZmQ1VLMWpieFNueTFwQ1VXcnBwRURUNWJGWG9rNHppem1Nbm9OcFU1?= =?utf-8?B?ditRNXFNVjNZZmdsVlhxQThQbm9JL3hQMU9rT294WjdJR3dIZmxsY0psb1JQ?= =?utf-8?B?VnVKTlJKUCsvTUllYzB4czZpQmMveVVmVUl1N1ZVUktuWHhwdC9LTFZUTDNt?= =?utf-8?B?YldNK1JhZ1pXMVZwQUNYdndra29GWE5hU2VpcUI4NFFaU0MzSzgvMjV6Yzlz?= =?utf-8?B?cC9YQzl3NDdvcnhscWJUSncyWWpzc2IvaDJMcTYyYkJlK3dTdTRwQloxblV6?= =?utf-8?B?KzI1YkZlZ0VnbmE1R0MxVEZ1Mnhndk40TTBLTTBCejlIUU1YODdCbGh1RkJD?= =?utf-8?B?amkvYmI0cS9UbXRoSmNRY3BraGV2bkNkektEVXYxVnRHMDVJMGN1SUZDZWVo?= =?utf-8?B?RkduMS9rdWVFOFZXTkp1Y1RYRU5RNmdlR1liRllLRUxUQzZQemNiSzZqamlI?= =?utf-8?B?L1VTM0RoNTNZZHBIUFY5MGxaL2ZWOTdMbmZzbTd4Y1ZDQVJmMFJsZFZrUkhY?= =?utf-8?B?ZXBYRmhSNFRscWF1ckNIM0tUVWc5WkNUUzJ3dVIvQ1JQaXJ2R0xsVHNJazM5?= =?utf-8?B?YW9maFUzdU9lMGMyck85YUtyRStpZVNHMFpwQXZOaXZ2dXJZeGhuNlRrK2tn?= =?utf-8?B?WkpHcnZhRDNWOWFWamkxT25Ucm9uQVc0NzdGM2JXU3dKbEFVMzhjVlkzelNH?= =?utf-8?B?bjg4Wjl3Rm9IOUZmNGpnTHpPYzliNHJPbnUxU0Q5ekd0RjlCd0pGYnBiUHZT?= =?utf-8?B?ajJ5ZkY0SDh5QXRPMWNaOVZUV3RCbWtpYkxJUlJJdDR0SmVvb3dFbWRvZXU4?= =?utf-8?B?Z3U5bDBmVzZjK3dqZjR6bTl5bksxTDZITUtLZld3WFpDdEJ1L0U0bSszZU9w?= =?utf-8?B?dnlwZ1FjcTlHd2dqVWh3ZTRRbnJSa040b0JzK1h3Ry82V3V1dVVyN056MjFG?= =?utf-8?B?VXZpNE1SbXdrckFWNzVuRHdXTjJiWnhaeVFJbzQrVlM1SDJTV1Mwd0w5Y3g4?= =?utf-8?B?eGRySnVlanErc1VHaTRSbHczZmErR0hMU0dhUi9Ca3h5aGU3M0c3blRXdGhl?= =?utf-8?B?N1FqVGFMeFQvcCtZTkp6YUF6K2hwU1hRRWRMTU91WjZEWDUxRnZxcVlOdEFx?= =?utf-8?B?YXlHTDBpV1YranM0QzdJZ29jdWVweE1xSWRndk41ekRydVA2WTY4MVdzTTNq?= =?utf-8?B?cjBnNmlNeTJpNCs2MkF4dTVXN29TYWhBRUlHQ0lYUkVPTzF5aDk3dnl3c2lI?= =?utf-8?Q?7XJBpC5X+CQ+l8JNFInTLjIkWfigKbJzi/MTr7RMOic=3D?= X-Microsoft-Exchange-Diagnostics: 1;DM2PR02MB302;5:74CRp3HQ/l5ge54HreCLy4ErpW8Z3E93bpWFZ/LSniVSVbW9WFNxWYy7q5nfNffWQp9VoT3VCXQBUrYpBeBr53Bjtc5UTpMV9DoSmQRoxoj+gl8ZpxQyxrYTuPEo0iwWR9K086LRGDsZJmnr8QzASg==;24:XF6AxyLWIQJAfnDaxqVoUyucqN1RgvyDKdcLNScwdTgSWT+tEKn4ht64/Jrj4YASK6LveH0xgB4L+u9+3/eBXfsweV74COOFeTeM+7tcajI=;20:m72eDGh5hjmpBcQnUy0at0vmXaBAYcPiZwHupXfIXaJBFO7BpfVnuBFmtngg83QsNgEEqfZHJqfGmo3m8TUcTfC0MdvUnS1AeMATra8xAT4gm1AHuRnum8B9d30k6YcWYKexW665/20SDA5xRN3dPIP1FM+/EvpFG4/tRSJWd8M9waUGHauSyDe0jziZFzy9TuEqu93USqdEZcySXDfFBrHTOIyhUB5QTXdMQaE1Atk24pAxCfnRKlL/Bxc2Yq7e SpamDiagnosticOutput: 1:23 SpamDiagnosticMetadata: NSPM X-OriginatorOrg: sandisk.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 23 Nov 2015 22:33:07.4844 (UTC) X-MS-Exchange-CrossTenant-Id: fcd9ea9c-ae8c-460c-ab3c-3db42d7ac64d X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=fcd9ea9c-ae8c-460c-ab3c-3db42d7ac64d;Ip=[63.163.107.172];Helo=[milsmgep11.sandisk.com] X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM2PR02MB302 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1091 Lines: 28 On 11/23/2015 02:18 PM, Jason Gunthorpe wrote: > On Mon, Nov 23, 2015 at 01:54:05PM -0800, Bart Van Assche wrote: > What I don't see is how SRP handles things when the > sendq fills up, ie the case where __srp_get_tx_iu() == NULL. It looks > like the driver starts to panic and generates printks. I can't tell if > it can survive that, but it doesn't look very good.. Hello Jason, From srp_cm_rep_handler(): target->scsi_host->can_queue = min(ch->req_lim - SRP_TSK_MGMT_SQ_SIZE, target->scsi_host->can_queue); In other words, the SCSI core is told to ensure that the number of outstanding SCSI commands is one less than the number of elements in the ch->free_tx list. And since the SRP initiator serializes task management requests it is guaranteed that __srp_get_tx_iu() won't fail due to ch->free_tx being empty. Bart. -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/