Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1759379Ab3DDJqH (ORCPT ); Thu, 4 Apr 2013 05:46:07 -0400 Received: from eu1sys200aog120.obsmtp.com ([207.126.144.149]:35877 "EHLO eu1sys200aog120.obsmtp.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1759336Ab3DDJqF (ORCPT ); Thu, 4 Apr 2013 05:46:05 -0400 Message-ID: <515D4BD5.7020107@mellanox.com> Date: Thu, 4 Apr 2013 12:45:57 +0300 From: Or Gerlitz User-Agent: Mozilla/5.0 (Windows NT 6.1; rv:17.0) Gecko/20130328 Thunderbird/17.0.5 MIME-Version: 1.0 To: "Nicholas A. Bellinger" CC: target-devel , linux-rdma , linux-scsi , linux-kernel , Roland Dreier , Alexander Nezhinsky Subject: Re: [RFC-v3 9/9] iser-target: Add iSCSI Extensions for RDMA (iSER) target driver References: <1365060256-21506-1-git-send-email-nab@linux-iscsi.org> <1365060256-21506-10-git-send-email-nab@linux-iscsi.org> In-Reply-To: <1365060256-21506-10-git-send-email-nab@linux-iscsi.org> Content-Type: text/plain; charset="ISO-8859-1"; format=flowed Content-Transfer-Encoding: 7bit X-Originating-IP: [10.222.66.109] Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1324 Lines: 42 On 04/04/2013 10:24, Nicholas A. Bellinger wrote: > +#define ISER_RECV_DATA_SEG_LEN 8192 > +#define ISER_RX_PAYLOAD_SIZE (ISER_HEADERS_LEN + ISER_RECV_DATA_SEG_LEN) > [...] > +#define ISER_RX_PAD_SIZE (16384 - (ISER_RX_PAYLOAD_SIZE + \ > + sizeof(u64) + sizeof(struct ib_sge))) We're eating here too much ram for the pad, you need 8K + something, so the pad can count down from 12K and not 16K which means each such element will consume three pages and not four. > +struct iser_rx_desc { > + struct iser_hdr iser_header; > + struct iscsi_hdr iscsi_header; > + char data[ISER_RECV_DATA_SEG_LEN]; > + u64 dma_addr; > + struct ib_sge rx_sg; > + char pad[ISER_RX_PAD_SIZE]; > +} __packed; > + > +struct isert_rx_desc { > + struct isert_conn *desc_conn; > + struct work_struct desc_work; > + struct iser_rx_desc desc; > +} __packed; You have way enough room in the pad field of struct iser_rx_desc to place there the two fields added by struct isert_rx_desc (and you only use struct iser_rx_desc from within isert_rx_desc) --> any reason not to unify them? Or. -- 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/