From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751634AbbIJWHL (ORCPT ); Thu, 10 Sep 2015 18:07:11 -0400 Received: from mail-bl2on0106.outbound.protection.outlook.com ([65.55.169.106]:51833 "EHLO na01-bl2-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1751004AbbIJWHI (ORCPT ); Thu, 10 Sep 2015 18:07:08 -0400 Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=scottwood@freescale.com; Message-ID: <1441922820.2909.10.camel@freescale.com> Subject: Re: [PATCH V7 1/3] genalloc:support memory-allocation with bytes-alignment to genalloc 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: Thu, 10 Sep 2015 17:07:00 -0500 In-Reply-To: References: <1441011520-15424-1-git-send-email-qiang.zhao@freescale.com> <1441153816.4966.109.camel@freescale.com> <1441160299.4966.122.camel@freescale.com> <1441816660.29081.7.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: [2601:448:8100:f9f:12bf:48ff:fe84:c9a0] X-ClientProxiedBy: DM3PR10CA0030.namprd10.prod.outlook.com (25.164.12.40) To BLUPR03MB1473.namprd03.prod.outlook.com (25.163.81.158) X-Microsoft-Exchange-Diagnostics: 1;BLUPR03MB1473;2:JIFsEnGmBPmCi8cQBzQli7gZc2zgP2/BjmrSoVPdPyu1gDtNdAKMchCL7DYabKJonnQ2Xh3VtcEcO/9pQWmAot6NAECMC0RWPzTYoE2/tVAwY4Pxc3cE+TSkam/HRgOm9WUJvqHAxImVzwhp2igiIYSBqvS9MymgUL0CCLJ3RcY=;3:c+nH8yizGxFlk5Nlqy3Figyt4TWmtcCyId6QRoXY5aDma94PNTHyp2oN9VWJJo27riKMzzk9JHvNYUHGAMF0dSY8DARPgzt/+AGUxy41bZe87I1MzqKMQNVM8tlIf1+Zg01w8clA19y9a4jBnbkW6A==;25:8igXz2O9cH4oaDJH5+TlfE5QrBTEXfax/eDigbYI0dHOAYDNZGJSObHtYgFlgtxayS4wTOWmZGhKhbqpsxviCoS6rZIv78x+9QGW5/2yXc4CBSwTu8bb4oDTlBUkp5iZhLQTV1bIaHfaPiucLrqpw5mhqgTex0YgL9/dNKmYNKauPvW+6R/IP6v8APsBB8MnaUGl75K+xzW4JQeQEjALKPkwS3Kor0sjA/slpQasdrmuCZza1LfkLwhGPXl4xDLB4HKsoqRoV+FqQngbSOkDCw== X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:;SRVR:BLUPR03MB1473; X-Microsoft-Exchange-Diagnostics: 1;BLUPR03MB1473;20:/AlHn482VmUyOaCueipQmQJVySv7SnCGuezvozAk6V5EBedmlWjkSEn6JhSWdul3L+QbHEKZWsmwNoEvItb6hT6Vh4mWFPNXpU1jMwsiPV0+1YzgUxw1coY+zsf8G4zOICLjDS3TvLE61ZTBMw/xnOJN8RyBQtOcwH+f0JBE02/nrt1wWFQ1a+VYvcsJ+ZyTFcNWj+L8sO+sc9h/qctLxCqx4f0/hmcPjvlpkpNYdfotQ/GHzXBHGTVmWEngzOBogLy9wrbDtqjeT2c0zWDnRlzcdfkN0uRHRgexMYChnI+hsp0hZEc5Vwt3MhWvBNDxTXM94ETl69TBoqkyB8sXUa4GG9i7ocC5nRUzout1OquukRoPf4OMwrz6DW5SsQZcNoU8UuY0ReJH37ZXlZ/AG0m4x6ou3K19ACxnF6/oQKOswaRTH6c1LawMiDhaaGXhK1cFD05OgRmRROwprODX2/ep+RRaB9+bB0tuTvw753yfgq778E5YzmkNWPs15nqB;4:tmP9sS9t3QW1AlyBSy7G4jqzd2w7ghV3iBOAeZJgRZJnBMN3htq+pZkxm7qo3xy289sMcRibFL+5brjelX8BhDW+kd8YrOSGUxfIQINNEpoky9ia5eEA4T8CapaPfZC96xOm88EgrKn1UeeNVT2bbVinIHjeCcImXUGWQ1t93s1gXgWlgks5+aaSrqsM6v1pq0GviLxSyEKc3IveUpzNe/fhhcOgqPxgHbVC4e/5gBiHd0FfSQ+uuWUNTR5MfjREcACzkU1PG+8H4nYe/qiTe/9dUUEqfk/aXcwq8RyCDrGJBiakBCkhLM7TkVTDvTTP 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:BLUPR03MB1473;BCL:0;PCL:0;RULEID:;SRVR:BLUPR03MB1473; X-Forefront-PRVS: 06952FC175 X-Forefront-Antispam-Report: SFV:NSPM;SFS:(10019020)(6009001)(199003)(13464003)(24454002)(189002)(377424004)(377454003)(81156007)(93886004)(87976001)(36756003)(5007970100001)(5001830100001)(46102003)(77096005)(4001540100001)(5001860100001)(76176999)(101416001)(50986999)(33646002)(2950100001)(97736004)(68736005)(23676002)(5820100001)(189998001)(92566002)(5004730100002)(110136002)(5001960100002)(4001450100002)(42186005)(19580395003)(106356001)(19580405001)(103116003)(64706001)(40100003)(50466002)(77156002)(47776003)(50226001)(86362001)(62966003)(122386002)(105586002)(99106002)(3826002)(5001840100002);DIR:OUT;SFP:1102;SCL:1;SRVR:BLUPR03MB1473;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?MTtCTFVQUjAzTUIxNDczOzIzOjE3YjJlOGZycUJ6MW50VGpKZnF4N3l6RTk0?= =?utf-8?B?RzhxdHNEYlFOZmJhQjNaSDU5aHNJdTliaVd0SGNwWGVldzBqbVZCOUlXbU1V?= =?utf-8?B?K2lXOVI3RFo0c0JZRUxEdlhmVVk0TEI3NjdJbng5Rnp5Sk1ON21NeGhINlBu?= =?utf-8?B?Q2EvQ1JHbkl5RVVWN3FEUUZiYjN0ckpBRXM3Uk9iclFVTXJYRHhaSHdyUm5W?= =?utf-8?B?RDI2TGdKUGs5NnNDNnpaSjlQakNtNkZVSmJnbWpTZ1FBT3NuWndIWXY4bDAz?= =?utf-8?B?aSs0SXhjem5UUElzdjJmM21TeTl4c1NaeTRhZEdwcWtSOHhmQkpSYXkrTTFj?= =?utf-8?B?WldUNFVXa2VteFRHZTdHUjNLb2J0dy82aEk0bEsvdlFwSmJVOEsvcStzVjVp?= =?utf-8?B?US8vcWJsUU5jWi92cEdkQzZ2bXNjYStnajBOeVNOeTNoQVMzbWVTQy9zTitz?= =?utf-8?B?MGFwQUpyb2ZhbGh2dnpJTDFQRXBqZkRJZk5mVVZUcVlHd0lINk9BL2VMMXkr?= =?utf-8?B?d0ZtSlhwOUcvUS9rcmJ1OFRacWxCeFRDWTZwQ3Yreml1M2svN0lkd2g2KzBq?= =?utf-8?B?N2ZjclZ0SGxYTHJRTVZvK2Ywb2lSRHc5NGhteDFla3B0V0d0bXZCZFdRMStu?= =?utf-8?B?VjJhUTAweENoT0hxaVE1VlRod1Y5amlnZGJIdTg2MEVCWTB6ZnlycWNLY2Jr?= =?utf-8?B?L2h2Z2Y5ZVdvQnBuZFJPUEVMYUNsVHVzbkxudnhYN1Rvb3kxekIzeGNBdGJG?= =?utf-8?B?MmdONFd3UmtTa1NneXpCRVVmMXgvV0ZlN3dHUUgrRllkN2N0blBzQVNraW1r?= =?utf-8?B?NlBXZkxyTXR6aytGclBDME8yNjRGd0hPU0xLZUNmdmxBdWp2TThsM0xvTmFw?= =?utf-8?B?bE0xaUJvREtuY0d5dkt5UzlPSlMzZ0JDTFFmS3QxTS9abjJyOUZDTXRXazRq?= =?utf-8?B?WTdGU254UEZvWHV3c3NhMzUxaEZ3UkQxMU1IclBseU96OTMzZU43cGplejQ3?= =?utf-8?B?d0x4bHBWZ3NSQ2Nac2I1VG9JRDVqR3ZINVUwdTgycHRvdWdocUE1SHlLUmhG?= =?utf-8?B?WG4wRi8yNFdIemljc2tRdmJTWFVLelNzTVlrM3ZJVUdlRlhBa1BDQUR3V1JX?= =?utf-8?B?QkdiSFRHaWIvVkdESTZDR3ppUHJLU1R2U1NldkZHR29jdWEzOWFiVldOSm5o?= =?utf-8?B?UHYvdWUwbmlCc3lvSENISkdkdjVIRUFldE5zeldvU1ZOZXIrS3drME1hbHJt?= =?utf-8?B?VFZ6TDNZdlg5bDk0dmhFWnNzUExsclVXejBkdHNHdXM0azhQUnhiaWhUYnls?= =?utf-8?B?WnRmNlZ1NUxUTWhMRDQydTVTaUhKbUE0dFk0SUJ2cEVMZS9heGZ5emxwVzNw?= =?utf-8?B?TUNnZ3liVmE5ektqaWtuOUJJWVdoWFZqY2E0dW9ybUNmS3JsSS9vWlZxWkFY?= =?utf-8?B?V1FKY09LQ3RxOXZaOThtZnE0L0VvVGtVZHJiMFFIemdCSFRWR0dEeFpHV242?= =?utf-8?B?bEJaZkFXTUo3cFMyZXJEVVN1L05FcTA4c3c3ditSZFZMcTJJVmNraGJXWGpo?= =?utf-8?B?U0R5N3JjZERMOWhBblU4L2huWnBVRStlbnVROUg0cUxxVnUyTEVCWFRFOHJl?= =?utf-8?B?QzdKT2I1TXNQaEl3MDJrL3haRXhtSjFmUkptcUY3MHAxbC9vOTNheWVGTS9z?= =?utf-8?B?Kzg1WlNqVWREdHlBMStJalREdEFSNit5MnZEUkZqSFkyZzk3TkhHU21uOWtr?= =?utf-8?B?dnYwYThYL0FCaStCNmhpVk41ZmtBNEVUK2FnejBpaDk0TDRKc3dzd3dsYTZq?= =?utf-8?Q?LLr3eeqSBMc1N?= X-Microsoft-Exchange-Diagnostics: 1;BLUPR03MB1473;5:7KtmL2l3E1hO2f5OCHe6E7mbroERPMD9S828Oov9L6nebFHgL3FpnClbgm557Pw7GDifgkfEsVcvCKri5c+Q6J7VfUX4pMSG9L+cJYOw/aZ4ghs9GiFPhgE5o3vbcIY2NlWsuqVvvLid+Q8cM0PLgA==;24:QfTQJggFtiv3+JPHylfGU9BC8jPbPkmPXSAsXHmdtwgv03pAwFRh9qpy4m7tx3hPq+Z4tSkIdmATjyiYzYLAj3YW7xzvPuZyr25K6DhdCjU=;20:EyaMlZsypE827LAcBnGnI8qtEvIEj2MlO9XK0f4gqhECaU2CqfZ9AVLBpwuLQKQKNjihxqRzndDKXuEhmCthdA== X-OriginatorOrg: freescale.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 10 Sep 2015 22:07:05.1148 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-Transport-CrossTenantHeadersStamped: BLUPR03MB1473 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Wed, 2015-09-09 at 21:26 -0500, Zhao Qiang-B45475 wrote: > On Wed, 2015-09-10 at 12:38AM -0500, Wood Scott-B07421 wrote: > > -----Original Message----- > > From: Wood Scott-B07421 > > Sent: Thursday, September 10, 2015 12:38 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 V7 1/3] genalloc:support memory-allocation with > > bytes-alignment to genalloc > > > > On Sat, 2015-09-05 at 22:13 -0500, Zhao Qiang-B45475 wrote: > > > On Wed, 2015-09-02 at 10:18AM +0800, Wood Scott-B07421 wrote: > > > > -----Original Message----- > > > > From: Wood Scott-B07421 > > > > Sent: Wednesday, September 02, 2015 10:18 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 V7 1/3] genalloc:support memory-allocation with > > > > bytes-alignment to genalloc > > > > > > > > On Tue, 2015-09-01 at 21:10 -0500, Zhao Qiang-B45475 wrote: > > > > > On Wed, 2015-09-02 at 08:38AM +0800, Wood Scott-B07421 wrote: > > > > > > -----Original Message----- > > > > > > From: Wood Scott-B07421 > > > > > > Sent: Wednesday, September 02, 2015 8:30 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 V7 1/3] genalloc:support memory-allocation > > > > > > with bytes-alignment to genalloc > > > > > > > > > > > > On Mon, 2015-08-31 at 16:58 +0800, Zhao Qiang wrote: > > > > > > > Bytes alignment is required to manage some special RAM, so add > > > > > > > gen_pool_first_fit_align to genalloc, meanwhile add > > > > > > > gen_pool_alloc_data to pass data to > > > > > > > gen_pool_first_fit_align(modify gen_pool_alloc as a wrapper) > > > > > > > > > > > > > > Signed-off-by: Zhao Qiang > > > > > > > --- > > > > > > > Changes for v6: > > > > > > > - patches set v6 include a new patch because of using > > > > > > > - genalloc to manage QE MURAM, patch 0001 is the new > > > > > > > - patch, adding bytes alignment for allocation for use. > > > > > > > Changes for v7: > > > > > > > - cpm muram also need to use genalloc to manage, it has > > > > > > > a function to reserve a specific region of muram, > > > > > > > add offset to genpool_data for start addr to be > > allocated. > > > > > > > > > > > > This seems to be describing more than just the changes in this > > patch. > > > > > > What does also handling cpm have to do with this patch? Are you > > > > > > adding support for reserving a specific region in this patch? I > > > > > > don't see it, and in any case it should go in a different patch. > > > > > > > > > > Yes, I added. The code below can support the function. > > > > > offset_bit = (alignment->offset + (1UL << order) - 1) >> > > order; > > > > > return bitmap_find_next_zero_area(map, size, start + > > > > > offset_bit, > > > > nr, > > > > > align_mask); > > > > > > > > > > CPM has an function cpm_muram_alloc_fixed, needing to allocate > > > > > muram from a Specific offset. So I add the code and add offset to > > struct data. > > > > > > > > I thought the offset was related to the previous discussion of > > > > checking for allocation failure. Are you using it to implement > > > > alloc_fixed()? If so, please don't. Besides the awkward > > > > implementation (what does it logically have to do with > > > > gen_pool_first_fit_align?), it does not appear to be correct - > > > > - what happens with multiple chunks? What happens if part of the > > > > region the caller is trying to reserve is already taken? Implement > > > > a proper function to reserve a fixed genalloc region. > > > > > > > The offset is which allocation block address need to be larger than, > > > Not equal to, it really like the parameter start of the algo(the > > > bitnumber To start searching at). > > > > cpm_muram_alloc_fixed() is not "search starting at this offset". It is > > "reserve this exact range or fail". > > Yes, you are right! How about to add a new algo into genalloc to search > At offset, then handle it in muram layer, if the address return from > genalloc > Is not equal to offset, return negative number? If you're adding a new algorithm, why not make it actually do what you want rather than adding something different and fixing it up in the caller? -Scott