Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S933298AbbHZBxL (ORCPT ); Tue, 25 Aug 2015 21:53:11 -0400 Received: from mail-bn1on0145.outbound.protection.outlook.com ([157.56.110.145]:42778 "EHLO na01-bn1-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S932837AbbHZBxJ (ORCPT ); Tue, 25 Aug 2015 21:53:09 -0400 X-Greylist: delayed 119899 seconds by postgrey-1.27 at vger.kernel.org; Tue, 25 Aug 2015 21:53:08 EDT Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=scottwood@freescale.com; Message-ID: <1440553979.16577.89.camel@freescale.com> Subject: Re: [PATCH v6 3/3] qe_common: add qe_muram_ functions to manage muram From: Scott Wood To: Zhao Qiang-B45475 CC: Laura Abbott , "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: Tue, 25 Aug 2015 20:52:59 -0500 In-Reply-To: References: <1440408703-6113-1-git-send-email-qiang.zhao@freescale.com> <1440408703-6113-3-git-send-email-qiang.zhao@freescale.com> <55DBA98D.1070202@redhat.com> <55DBEBBE.30702@redhat.com> <1440519775.16577.4.camel@freescale.com> Content-Type: text/plain; charset="UTF-8" X-Mailer: Evolution 3.16.0-fta1 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Originating-IP: [2601:448:8100:f9f:12bf:48ff:fe84:c9a0] X-ClientProxiedBy: BY1PR16CA0008.namprd16.prod.outlook.com (25.162.29.18) To BY1PR03MB1482.namprd03.prod.outlook.com (25.162.210.140) X-Microsoft-Exchange-Diagnostics: 1;BY1PR03MB1482;2:VCvj6aojtp2CB54JRTTLv4Rq+vWFs0Ffd46dsEOXRGcadEsrREHLIpmrALhpbGridq5+U+yoGf8+BMwkBKvdAHvwP7RPvfnvS5DeM1cd7Mj+PiyqX6dvau7oVwPlSnHvWJL7HZwDQRwLG6R/sRulCX0s3UUgytVG57OoiTnVFI4=;3:BxmyYzO9wK/isb/wstONYsO8hUngz6C15aaK/IR7av5M12ClbcV7RQbiGSm7+/pMPjqbPkEBSgVywKyzoaIOk63cqQfcXcCSJuqLTAF9HT3SLUT9nhlXvSEW9ttMeZ8/zM03b4Lyo6NqIfXGyatCyQ==;25:J1PDv8AAGggPHshH1OVVqepgVDTNQGY7/JNUWhdclmLVoI5Nx48ygJFvIg/2TUSR8Dh0KSzQV0hqusFk9N4NS0Tqj6TxWZSnW/hoHO6begLI43TiPm5DTqk/3QeDL9CtA19HMwYn1X7pVs36UZTfkOIY1v8uxh16232dPqFNcyApKmC7N3wdKq/gId8qAlzBYqw66XOL7woJDZjVGWPAsSuTLackzIns5msnwZt+jExJ+f5ySskG+mbgno596Jk1QhEs3SMfaLIl0AA1C8I3Lw== X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:;SRVR:BY1PR03MB1482;UriScan:;BCL:0;PCL:0;RULEID:;SRVR:BY1PR03MB1401; X-Microsoft-Exchange-Diagnostics: 1;BY1PR03MB1482;20:J0+0MjWUA4gIe0MIokpvuhch9qwZaHlhrTeU96Fx/YNXMPS44ReOQxM8F5LffuxfagnGU1uMWAstaeN4g2/0PWAYzbmAazwSSeFAAu3M5OwY5DAGzFzTiq126Uk7wBGBH+7PYg7sSfatzmxJAZf4XAnfbt7n6nhRkpHRb7YaE+Cwta/1psQIfMszWqOUK9klB2f37tGLi8ksR/5HRI204lNAuUH2ePUSFOdo7sGd0r6FWSOgugM9qCcEDyEzmgMMWeaVhys/+KmJqX+J++f4zTDDQ81mP8tjZ0cshZMTffdoD3JYYr6lF9BNCrli4XcxPA/GcG/7aXbjX646s/UegBsqpr612l1rghMQ7Vb2lFwzXYAoPBCPZtxVkP8Xd0MDDU8Qn7+6OBeThHp5LsTfCA4K8SoBUpvhd8n2qtk2NOVfuDZsKRhBEg0ffGlzuAJtzSgKcHjh5qhf+xnXUu6EgvIKES6kU9kTkdOYPdHTb+B4QvZ5Br873orLFCfmfVo2;4:6CyB+sxN4WLGy6SnkmO5fB6zqUQoFIs0WjM75Iy/pLLcR1OYwojeephY0i0gcDSmcqEZvOxx1VmFPGRzZadm7WqiteXMFx//dK0ji23/M3pgS4U882Paz3F8MIZEXVURfFYlRQQbMbTuNMarK4td0AeNVqtnc14C8pcaG6t+ZK3qvBGkIhVybAtsqB/8hzLbT6Wu27fKqJDeOOYk66C/HAoW8KYTarUt/p+UtN0KG9qjjyvTH5X8ztHQDczuj/GbwT3XnN6/0U2aLo0p2oR083xf65mtvc4bd9xV5SgfkuSIjzDke9eykoxdxfJQlKpq X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:; X-Exchange-Antispam-Report-CFA-Test: BCL:0;PCL:0;RULEID:(601004)(5005006)(8121501046)(3002001);SRVR:BY1PR03MB1482;BCL:0;PCL:0;RULEID:;SRVR:BY1PR03MB1482; X-Forefront-PRVS: 0680FADD48 X-Forefront-Antispam-Report: SFV:NSPM;SFS:(10019020)(6009001)(479174004)(199003)(13464003)(24454002)(377454003)(377424004)(189002)(5001960100002)(40100003)(93886004)(5001860100001)(50466002)(97736004)(76176999)(189998001)(101416001)(5001830100001)(4001450100002)(50986999)(110136002)(122386002)(5004730100002)(5007970100001)(46102003)(103116003)(86362001)(36756003)(87976001)(23676002)(105586002)(33646002)(50226001)(106356001)(47776003)(68736005)(77096005)(64706001)(42186005)(2950100001)(19580405001)(92566002)(81156007)(4001540100001)(5820100001)(62966003)(19580395003)(77156002)(99106002)(3826002)(5001840100002);DIR:OUT;SFP:1102;SCL:1;SRVR:BY1PR03MB1482;H:[IPv6:2601:448:8100:f9f:12bf:48ff:fe84:c9a0];FPR:;SPF:None;PTR:InfoNoRecords;A:1;MX:1;LANG:en; X-Microsoft-Exchange-Diagnostics: =?utf-8?B?MTtCWTFQUjAzTUIxNDgyOzIzOjIrT1ZxcFJtcDdnM3BTRTY4aGFBVktUSncw?= =?utf-8?B?MlgybmNIMjdGcUZTaGF2SXIyOTBHN2pWajZjeTRlSGNVNUl3ZklGYzNRVmd3?= =?utf-8?B?aWVGNit4Y3ZrSDZ4WGdqS3RQd1JUcGphbWhEVExHR1NzVjdNcGdyR2NZNVdH?= =?utf-8?B?YnU4S2I5Y3VTNThnaFQ2d2NPRkV6bnpydGs3dzZWOURhVlF2ZHdCUjFnTTVT?= =?utf-8?B?c05XWW5jU0VhdVhEeHEwakxHZ2ozTkZLMUdpNjFTaW0yUEsrblVYK1VsLzZ2?= =?utf-8?B?NFB0aTJNR3hkUHI1RlVkekpObDhCUWJZZVhIS05QcGxzK01HVkR6WHZMVXNj?= =?utf-8?B?eUdJSEUrV3BoL0tVYW9wTFA5UkRweWlkSjNPajA2clQ0bWFmOURrYjBjRm9l?= =?utf-8?B?M1lpYjVubXFlQjV2bGhhdEJKZExXTFhoMDE4MGFVclVuK05MYWRtYlpkai81?= =?utf-8?B?MlRaTGJISUVZalNzWXFZL0RtaVM0cmRoN3U5aW54djhWNGlFMFIyd0VPY0hx?= =?utf-8?B?aFF3S3NhYXZtZnlieXVFMDBTT3gzMURYTFU4MW5xRXROd0V4NW9QK2diSllV?= =?utf-8?B?K1NEdEtkTEpJeHd6ejMzUkUwYS9jbSt3Q29qRkkxeHBvc1FPMWlrT2tGODZ2?= =?utf-8?B?NFYzZ3dEcXUwUndJM3paMXl0Y1BlUmpwWkMzR2Q2SXRwN0p4LzBselFsSU5k?= =?utf-8?B?UndkejJZcE5ySU12MC90OHpKS1JOZ2pUY21Ja3ZSOC9BZklLSi9EdHZkejFz?= =?utf-8?B?RzBVT1Rkc0k5a1BMREdiT2xGWUJwWkVaZ0xCbmNETTY0amVOaTBNOXRWejV5?= =?utf-8?B?RmJFcnRmdDE5dmlhWVE4MmtEdzJZZ3NTT0h6OHhZZ04zWStvdjFKV05mRlEw?= =?utf-8?B?bHlYVFg1UHZKMUFwa1NpOHVyRExLeGtySGQ5M3hRSUhPd2lKRXBRWFhSdlRR?= =?utf-8?B?MnN0Vll2dWFhaFBqSzJDWDVuSUVkdWg0L0JGUlppUVpGYllWdmtDUkhqU1VK?= =?utf-8?B?b2FYaTZOQ1RuVmt5SWpYdUZpczZOVlprL0wzczIxMFc3WDJqVUJTbENmQmNu?= =?utf-8?B?WWg0Ym9GL2pteVJ0bUVKcjkrcnkrQW5kNCs3ZGNLQmxOaEx5dVY4aWRDWk1W?= =?utf-8?B?VzF3d0daMjJkZ2dNMHlZRENIbGFEMm4rRVNyZE0rak9VYzh3WDJBSmxQdDR2?= =?utf-8?B?cUp0aFpORGh1WFZOVXIza1BkVXJjdktHUjBBVnR5a01WNko1bThQQUMrUTNW?= =?utf-8?B?TlNNN0ZCeHMwMVNFRStNdFFIZzRxNlZOMXBWTzRaMjJRZEd0R2hoQ1ZuTTdW?= =?utf-8?B?RGRyL1MzR1RNR09STVFJcHBkT1NHK2hJQlVIVG9uNFJ2MXM5Wm9LRXczd04v?= =?utf-8?B?UjZYWnFEbCs0UENNTXdvajY4MkJCT1kzYVBTR1FxVmM0UG1yQjNyREtCNFNx?= =?utf-8?B?ZXZ6bmJ4WTloWFNRRTBONlBGYnd2VW1SeWkzRXVqS01JWSs4dXY3ekF3NHVi?= =?utf-8?B?TW0xTUppeFNmc0l0S3NzZ1VnM3NDYXhvS2oyQWlaeTB5ajQxRmN1WHRMcWJF?= =?utf-8?B?c3RwMFFqYVhsVGp0cFJETE5Mdk44KzFzK0NnKzJ6TEh2TEZmRUlaNGJhMlYx?= =?utf-8?B?VFNDNDNaRjNnQTdhMTd4aWR3aHFQOTUvaEkyRDdnZEhsVERZWENzQTBpcjcv?= =?utf-8?B?YlJPM2xuU2pBODZENkRBTXVYZTNyNzFCUFBMTmJPdUZuaERWZnEwUG0rR0pL?= =?utf-8?B?YmMwTERCa25CNXgxbU1kenlxalBvbytQa3BGRm9Id2QxZEl0a0txM05iNjlq?= =?utf-8?B?U01TVVJRUVFvSG4veWs3WWs4WVNSaS9KTEs4ODk3ZFR3d3c9PQ==?= X-Microsoft-Exchange-Diagnostics: 1;BY1PR03MB1482;5:bEKVzN+rNQEODkgRTEasBsJEbuk6isYzi32s8c8KYdbg5BH/YkQqRvMmndnKhdnQsFAEgPbPKhaiAWXB3on2a2k2HEKezb2nvaMqek8WfEa+ilFe0L7gJyLR8ggz1OKkjzpHJunhqwja7WgMjOCfog==;24:o4whyHJtsrCe5egMlTCVdbNh5yJRMh7BPYJpVVDNDLCbwzBPZRnUJGC/kzrePQ152aoDDrt2mZoyYV1vJZxRnh1WGr1z+qgBekueW3AGIEE=;20:xAbmbbYamfoycVXp3p4bEsLDn+kawoELcS2LXwaSl+I9inJ96zWwL3MFj8apJo73IOcKQLR0pAGg9BOC7t71ig== X-MS-Exchange-CrossTenant-OriginalArrivalTime: 26 Aug 2015 01:53:04.5759 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-Transport-CrossTenantHeadersStamped: BY1PR03MB1482 X-Microsoft-Exchange-Diagnostics: 1;BY1PR03MB1401;2:syvhhKb8gemPsLlL4N2Jr9BT38CgN3FPcASNjNrt60V/eHdEZDcqED9bouMbcY9tjj6qELkIV9yYTG0hYWIetvmvJY/Q6OEuARbEpYQOB8b+XYidEY5LJ2wmkC+pZnW62oe7q+EAV45AJWEY+zbGiKRvpuLkhqBN9XpYEfnOKFE=;3:OcsMF0QZUVUSPQjUyIcrgIBlSNrAM0HLMssdq3FtTDabcQc0XvukQRI14wM8UGz4O8xJEb43pMVSL6dSSSefZBQHdFL1U3Y9oohe7BT/vjhJuJnUOcwUqZTN9Ji352OpNM7NFhlct2+egDbx1IJ3SQ==;25:cWH1ssOdV+h6xDtLLdqh/q6E3eGAELUPQYaj2EnNgTTxvsFl98/yFtf16KJ0wtdT2rejYrgyoDWBqGSerxTzIoUaCawjCbRUa5bW9/CenRrgoJ3bzEx28BFS4q01DsHN00luTVLuaaBkZWo3XBCQ8DCCKi5eRQN0sLWZAbQ3ASbBCbqCjQo9uCdO03YMn+gt9XxsvOw+rrYPm3F9rHDVICLthZB5D7qnq6ED6OQJLmHmcS79IDKgCVR8I0GtzoGOEAKkYhK8lW0foLVvvlb2hg==;23:jCp1xk/79Y8+d4XPQZX8h4uxJRUJQKie+bykPkRKUKENEFogLAyaoPDytGdAeabeejW+2KBMxt2KMwKz8XMxqO1VJXHw/uwBi7jHshq6BOgv3J5cSeGcDOmT2y9d/k9Tv1WqmvN7xF63CI6DksJA6ebEPLIJdotaYv4iu1xNcsd7izZCwYaQ9F2DIUTk4Ieq X-OriginatorOrg: freescale.com Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 3309 Lines: 74 On Tue, 2015-08-25 at 20:49 -0500, Zhao Qiang-B45475 wrote: > > -----Original Message----- > > From: Wood Scott-B07421 > > Sent: Wednesday, August 26, 2015 12:23 AM > > To: Zhao Qiang-B45475 > > Cc: Laura Abbott; 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 v6 3/3] qe_common: add qe_muram_ functions to manage > > muram > > > > On Tue, 2015-08-25 at 02:19 -0500, Zhao Qiang-B45475 wrote: > > > On 08/25/2015 12:15 PM, Laura Abbott wrote > > > > -----Original Message----- > > > > From: Laura Abbott [mailto:labbott@redhat.com] > > > > Sent: Tuesday, August 25, 2015 12:15 PM > > > > To: Zhao Qiang-B45475; Wood Scott-B07421 > > > > 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 v6 3/3] qe_common: add qe_muram_ functions to > > > > manage muram > > > > > > > > On 08/24/2015 08:03 PM, Zhao Qiang wrote: > > > > > > > > > > > -----Original Message----- > > > > > > From: Laura Abbott [mailto:labbott@redhat.com] > > > > > > Sent: Tuesday, August 25, 2015 7:32 AM > > > > > > To: Zhao Qiang-B45475; Wood Scott-B07421 > > > > > > 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 v6 3/3] qe_common: add qe_muram_ functions > > > > > > to manage muram > > > > > > > > > > > > There doesn't seem to be a check for allocation failure from the > > > > > > gen_alloc. > > > > > > > > > > gen_pool_alloc will return 0 if there is error, but if the address > > > > > returned is just 0x0, it can't distinguish it is address or error. > > > > > > > > > > > > > Yes, that's a bad limitation of gen_pool. Maybe one day that will > > > > get fixed. > > > > In a previous out of tree driver, I worked around this by offsetting > > > > the gen_pool_add by a constant so any return value was non-zero and > > > > out of memory was zero and then subtracting the constant off of the > > return value. > > > > Not sure if that's better or worse than just fixing gen_alloc. > > > > > > > > > > The workaround works for non alignment allocation, but for alignment > > > allocation, It need to align bytes to addr 0, offsetting the > > > gen_pool_add maybe make wrong alignment > > > > It would work if the offset you add is a multiple of the size of muram. > > The QE apps ask different bytes alignment for different use due to hardware > restriction. > Why don’t we deal with it in gen_pool_alloc func instead of a workaround? > It is more reasonable. > Sure, fixing gen_pool_alloc would be better if you're willing to do it, and are careful not to break existing users. I was just pointing out that the workaround isn't totally incompatible with alignment. -Scott -- 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/