From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752514AbbJWU7e (ORCPT ); Fri, 23 Oct 2015 16:59:34 -0400 Received: from mail-by2on0117.outbound.protection.outlook.com ([207.46.100.117]:36536 "EHLO na01-by2-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1751698AbbJWU7c (ORCPT ); Fri, 23 Oct 2015 16:59:32 -0400 Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=scottwood@freescale.com; Message-ID: <1445633947.701.231.camel@freescale.com> Subject: Re: [PATCH v12 3/6] CPM/QE: use genalloc to manage CPM/QE muram From: Scott Wood To: Zhao Qiang-B45475 CC: "linux-kernel@vger.kernel.org" , "linuxppc-dev@lists.ozlabs.org" , "lauraa@codeaurora.org" , Xie Xiaobo-R63061 , "benh@kernel.crashing.org" , Li Yang-Leo-R58472 , "paulus@samba.org" Date: Fri, 23 Oct 2015 15:59:07 -0500 In-Reply-To: References: <1444806968-4627-1-git-send-email-qiang.zhao@freescale.com> <1444806968-4627-3-git-send-email-qiang.zhao@freescale.com> <1445569177.701.133.camel@freescale.com> Content-Type: text/plain; charset="UTF-8" X-Mailer: Evolution 3.16.0-fta1 MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Originating-IP: [192.88.168.50] X-ClientProxiedBy: BLUPR0401CA0030.namprd04.prod.outlook.com (25.162.114.168) To CY1PR03MB1485.namprd03.prod.outlook.com (25.163.17.158) X-Microsoft-Exchange-Diagnostics: 1;CY1PR03MB1485;2:+xsrSF+j8wnerneED0K1GFX6OoU1iB0N9IOJJjaSDTWhNf7qLmH8QLIR5CcGyCuvF35WNCNDHfwvSom4oHp2zVNtlCaBtpgEI6IOZT+ky7cIavaJC6IMsmHJOQUFnAyMBE+69TwU+ZJ3PNPK21AWxNra1Jv/DuwyzCtDIK6vZos=;3:PF0nuTVKSQ/Ju3jiQMf/ejy5ceA6wZyrNgJqVh+DS78+NYjTY2LhSPukoiud2Io4P5YHseNGcdOTJad4zuyIGwETagq+TnoYnsYVtDUYtlcUOMFhngXSO+3FoM+V8Y4iYeqS1kZgGt7haunqbnai1Q==;25:XNLSJZS+dbzURP9mfUPSvwIyuY7JwYMu+EdxzfcZaEcr10jtpPMeLYWqda3c1MhYAsCjOp+60zEv/YeyAUCaDB+d+CpzOXn7RwU8617yFdY3Mg/1RhQwe/dxgtukrSIDWct+D5NLP8D3sh66tLJGeKt767LtaezS/DC63nn0fR4PxiOE9+yyXh8JEN4ql6s55dxjHm6Z3NrOUZoQFHdR+iueqet9KMHF7XgZd8p4MdH6oM1vVxEcIbaMwS7IWDhFOFHEg2ntQ9IBkSHyXExAMg== X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:;SRVR:CY1PR03MB1485; X-Microsoft-Exchange-Diagnostics: 1;CY1PR03MB1485;20:7fgeqOtCATi8YYGEyn1XneJDpzzPiYQLk2sr77auDQ9gaaCEMUdqPRRNYADybo4tL/WXLR0DRJAFOLUxFZ15Hikgs0uEOByYAQdS/wQ8UVcTVSMiWJfsHOKiXIkMTRCW7MaQutF61UM6hhTOXuLxK1vlSc9D3F/7IBAJ0gwx3PVkfeJQmlBFcfs1YxWFKpJ1I1edbDHWkjNsLgQaxRnn+/qWYXqcjF9nxNOnYSTonL0og+1PtRQ+L7bN9UyC71wsrUVZluVH1F40ypSgJsrCjsdTzEf8Mg3T3JJEN/oHtvst8RQfMjPStRSwIoR5imFKGFH6abIBKHaAxQyfcwx1cTyDZZKZLQpKHId8T4r7nnappLdfymw4Hb7JMa5UB+Hj3eHbbiuaRN9xa5YtmUBAfaregLLCmKo6+8RwzPG0IXKAhZmjJbDjwGooTYGgUnzdAnL+QFJ1AtwhZbZK8W2BbZDx/+42VotaovLPbRqjJeitHcOsfeYzRC9KcSVFP/55EemRL1JNm5mw+g7hhwEH8mrFBHptJASCjkUBg/O4koFfoOeWrUapsFPZPofDdPUjAoCDN3Ty06EOyU69VvPp4KjUf05LLkGV4Ze85kLX9c0= X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:(101931422205132); X-Exchange-Antispam-Report-CFA-Test: BCL:0;PCL:0;RULEID:(601004)(2401047)(8121501046)(5005006)(520078)(3002001)(102215026);SRVR:CY1PR03MB1485;BCL:0;PCL:0;RULEID:;SRVR:CY1PR03MB1485; X-Microsoft-Exchange-Diagnostics: 1;CY1PR03MB1485;4:rOfnWvhDZW8/SDVTmQDiwTVR0qKctT8No/CXiomfKG0cRt21Nc1P1P8goVoN1N4cbNoYx0HtX2YzUGOcbdujeVZK4jIdk5xhUFx1TTC34tKU3OH7xLZzppWtSiWJwSQn80RhmKvpZX6zQXestLLDm8WmuEOFCZDmMaiQ+Iqgd0oRpBm2AE3oejc0hnG4FQQtjvSbfizHtTfP3DuI2HluQjhMGfL/5mnU3rMCvGUpUq4PCWnsEVuFXseAPnFIpjZ2x0Thuu/ejDpGsqaFWjy8xXdkCQQwhv3MfyBE8vBqNbxos472P7br4pkhaF9TtufNT6ukaj/ES9m0RiF3TXbNWfwZeubzcOwHQerU4km/kJtg+ypq8RYlq/xDpfOXx3Lo X-Forefront-PRVS: 0738AF4208 X-Forefront-Antispam-Report: SFV:NSPM;SFS:(10019020)(6009001)(6049001)(13464003)(24454002)(377424004)(377454003)(189002)(199003)(57704003)(4001150100001)(19580395003)(122386002)(101416001)(189998001)(5007970100001)(23676002)(4001450100002)(42186005)(66066001)(40100003)(87976001)(50466002)(86362001)(19580405001)(103116003)(47776003)(97736004)(5001960100002)(81156007)(110136002)(50226001)(76176999)(106356001)(5820100001)(5008740100001)(50986999)(5001920100001)(105586002)(93886004)(36756003)(92566002)(5004730100002)(33646002)(77096005)(2950100001)(99106002);DIR:OUT;SFP:1102;SCL:1;SRVR:CY1PR03MB1485;H:[10.214.82.141];FPR:;SPF:None;PTR:InfoNoRecords;MX:1;A:1;LANG:en; X-Microsoft-Exchange-Diagnostics: =?utf-8?B?MTtDWTFQUjAzTUIxNDg1OzIzOklPVU9MYkUyVXVCTFR4YTRTRmVVL1dIQnJ4?= =?utf-8?B?N3Bmc0t3bjFMOGg2ZExIb2V0RzhhY0RldlZmL2wvd0lxaTBrbUttR2N1Z3h0?= =?utf-8?B?eFZrR3pJdjVJS2I0UVBsbkFlaGYvMFJQWjM2NjVvQUFZNW5RZkRnUFdkK1ZR?= =?utf-8?B?a3JFUURvMlg3R3dlSDBDdU0yU1VWb2ZnUW8zMjBXWC9uMFdqRm05L3gwaTZ4?= =?utf-8?B?RlY3RjFuWTNSVWN3bnBJODRjcjE5Uk0yNDdrQVdwcFlHT0w1eU92U0RzWUJC?= =?utf-8?B?YXg2TWFndzA0WFEzUlpETWhYOVFyYkZxU1F6UEh5MVJycUxhdml6dFRlK1NJ?= =?utf-8?B?Y0k4Z0dmNkNHVDZrbVpPYUljKyt6dVZrdmJRT0JsSit5eU5zYnN6d1ZwUWtR?= =?utf-8?B?VGszb3ZHK1NLMVZVWWROQlNrNG9OZWowY3NEaE9PeHd3eGlzQnFJK09sOW9t?= =?utf-8?B?Q1FxVU1GMlJYQjBYZWRlVTFZSXBwWCtRRVJoOHBxQkxtRTZjdjNXeVVuN095?= =?utf-8?B?K0JhYjBFK01iMStDS2svSFRIcTdpWmVFZzJjSzZxV1VyMVRlM2JmNXpYN1Ry?= =?utf-8?B?dHhhS01VVlVwN1d2ckVsL0Nwckk3dStubTR3TTFoRXFrMEY3a3dyYlhXeW0v?= =?utf-8?B?MWovSTkzMWFLREw4YWxLME96aDhUcG1BM2tuc3J4QkxTWmZWRVVOUk5ZWGpy?= =?utf-8?B?dHFNRHFBQlJwWGpTM0Z1cVJpWFdlNnYyUTg2d3IwTHF2RHNhcVFzaWhZQjN6?= =?utf-8?B?YXg5TlhSQTNBZXk5TW9rZUlNMnpiaXdWNFJtdHIxbjY5UmJVcWoxYW9zazZw?= =?utf-8?B?ZFZPZy85dEhCRDcwNGlyajFVM2xnT09oeUNWRDFmTVlDZ2JqblBnM1oxMWdh?= =?utf-8?B?bnUzb213dEk1NkRHNEgxelFlMDl5bW5XUUJzd1JYMDRkS2VWM2JUSlVPTW8w?= =?utf-8?B?eXRxaHdIWjNPalBwQ2MvK1RreWVocFZwWTFONnIvSWsyN0JsTHcrczF3OWpw?= =?utf-8?B?OFlJZzN3SnhTaXF3MkR2VkQwUG01bWNQYkJwNjZGTTJkWFdzY1VRcFB4NDMx?= =?utf-8?B?eU03TnFlODlWcjh6MjBBY2FVWjVxR1VPUDNxMmVZTXBlRmdDb2VEbzlGdVNl?= =?utf-8?B?NjVDUGl4N3JZcDA0bWFNbitOaDdjWEhzRmJuRHA1cmFDUEpEZE9uTGt3VkZx?= =?utf-8?B?M0ZEU1YyczNVYTM1eXpLVk5ZSEppN3BzbG1vdkd5VjMyeTFrNGVuUXA4aUx1?= =?utf-8?B?Uzk5SXNyV0lKUGFZZGF6OHJCaU9rUVVVczUzUGp4V1luUHR6UGdJb1d3d1FD?= =?utf-8?B?Q2EvcGw2UWFaR01EcXoxV3NHWVpnMDNwekhVclBmTTIvSit2SThmWnFscFFP?= =?utf-8?B?MjRvc0tEMktKbDBpcmR5U3pwYWd1WmhEY1crdFloOUl4Q0hqaVc4Q3QxaWZ6?= =?utf-8?B?Smt4a0hvYkpMbkU3TjZTd0RpSVREbjRURlVOejUwaUZLSFYxS3Jiakt4YXpB?= =?utf-8?B?NjFpVUhvSWd5YysxYUF6VjNmZ1JOa0p1Sm1CRmNDaTkwTnl0Z0lpdFY5MkE3?= =?utf-8?B?Sm5sdkJUNGRPSXNHY3RvaDZlTVQ1ZjZkUnZYZXdRczMyWkVCS0pVaWUrSktG?= =?utf-8?B?UWEyWFhLMzlldE9PTHo4VFhHUDdmUjd0NjQwck1ycWN1cnFzSmw3Qll4QzIv?= =?utf-8?Q?7sSYESLg3gi0+3rI80=3D?= X-Microsoft-Exchange-Diagnostics: 1;CY1PR03MB1485;5:nvZ2GHjiw/iBJjm8/VopIsq5HZMFEGy6IiQHSQbNMfJ90JW4UnrdXm95AqmY6wvtIROFnnEcVOk0SkFR7Z/xaFneVxs7exAfJhTVBg1pbm1+s246aT1jYy2nPG1WbfHK0xfERpNA9r8KIKcvXtSnIA==;24:uAiY6l1w36kU+m/xueoSCO6iwmgBxSmP8VlwbZaRYdmsgG8N+wUcnoE7DaGJ/orYYXe71HWNfNTSJ9NvqyEiY2anIS38JIy6KsaiuI/x93g=;20:sRvzUdeVYlaeOlZNHyBBkmBUc95F8m+7Vd/GxeQ34vjTQIjzSIa83lT+2eJvsfjoZRXH+9++6x5wrid+o52eHw== X-OriginatorOrg: freescale.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 23 Oct 2015 20:59:28.2919 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY1PR03MB1485 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Don't send HTML e-mail. On Fri, 2015-10-23 at 02:06 -0500, Zhao Qiang-B45475 wrote: > On Fri, 2015-10-23 at 11:00 AM, Wood Scott-B07421 > wrote: > > -----Original Message----- > > From: Wood Scott-B07421 > > Sent: Friday, October 23, 2015 11:00 AM > > To: Zhao Qiang-B45475 > > Cc: linux-kernel@vger.kernel.org; linuxppc-dev@lists.ozlabs.org; > > lauraa@codeaurora.org; Xie Xiaobo-R63061 ; > > benh@kernel.crashing.org; Li Yang-Leo-R58472 ; > > paulus@samba.org > > Subject: Re: [PATCH v12 3/6] CPM/QE: use genalloc to manage CPM/QE muram > > > > On Wed, 2015-10-14 at 15:16 +0800, Zhao Qiang wrote: > > > -/** > > > +/* > > > * cpm_muram_alloc - allocate the requested size worth of multi-user > ram > > > * @size: number of bytes to allocate > > > * @align: requested alignment, in bytes @@ -141,59 +151,102 @@ out: > > > */ > > > unsigned long cpm_muram_alloc(unsigned long size, unsigned long > > > align) { > > > - unsigned long start; > > > unsigned long flags; > > > - > > > + unsigned long start; > > > + static struct genpool_data_align muram_pool_data; > > > spin_lock_irqsave(&cpm_muram_lock, flags); > > > - cpm_muram_info.alignment = align; > > > - start = rh_alloc(&cpm_muram_info, size, "commproc"); > > > - memset(cpm_muram_addr(start), 0, size); > > > + muram_pool_data.align = align; > > > + gen_pool_set_algo(muram_pool, gen_pool_first_fit_align, > > > + &muram_pool_data); > > > + start = cpm_muram_alloc_common(size, &muram_pool_data); > > > spin_unlock_irqrestore(&cpm_muram_lock, flags); > > > - > > > return start; > > > } > > > EXPORT_SYMBOL(cpm_muram_alloc); > > > > Why is muram_pool_data static? Why is it being passed to > > gen_pool_set_algo()? > Cpm_muram use both align algo and fixed algo, so we need to set > corresponding algo and > Algo data. The data gets passed in via gen_pool_alloc_data(). The point was to allow it to be on the caller's stack, not a long-lived data structure shared by all callers and needing synchronization. > >The whole reason we're adding gen_pool_alloc_data() > > is to avoid that. Do we need gen_pool_alloc_algo() too? > > We add gen_pool_alloc_data() to pass data to algo, because align algo and > fixed algo, > Because align and fixed algos need specific data. And my point is that because of that, it seems like we need a version that accepts an algorithm as well. -Scott