From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1754592AbbIIQhy (ORCPT ); Wed, 9 Sep 2015 12:37:54 -0400 Received: from mail-bl2on0146.outbound.protection.outlook.com ([65.55.169.146]:38552 "EHLO na01-bl2-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1754426AbbIIQhv (ORCPT ); Wed, 9 Sep 2015 12:37:51 -0400 Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=scottwood@freescale.com; Message-ID: <1441816660.29081.7.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: Wed, 9 Sep 2015 11:37:40 -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> 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: BY2PR01CA0004.prod.exchangelabs.com (25.163.25.14) To BN3PR03MB1477.namprd03.prod.outlook.com (25.163.35.140) X-Microsoft-Exchange-Diagnostics: 1;BN3PR03MB1477;2:6GVh/tNSBKyySJ/g4bPvRDyxIwxcsksHvvSHSPOAYd7aPZzjpKsYWCIeVPqv3x+TtjpY+yGVrbbdZFQt9oi5LKFJ4dO1aS3VXq6NdSY/E6/j7nNOhVWR4Mg6D1PWS7kwjFvvTNdbagVdGnqBLNeMazap0VQJYrJyyoCxUQLN58U=;3:eorep667sm3Qar7yyPi+5AT+l7Rz2IwNzwnG9U3v/5p5UMJZBDrrIE8oITzlojjexB0ztA03+rwPZmBxNUtdzwbh6NylHzarC/EG7ewoP6TKEE1AXIuZ518/toA6yDlS1b+UbMtoZtq+SZhMs1ufHg==;25:tgF43wiUO+VYsPHuoVDImb25W5/5DCM+emHFBWftioyPb8UAXCQI7TJn9/df/przB12uMKnpupsB3uDM/cKmUQrlx+XoBgivYmvZUw6I7YOxzkNoCsAf4DnHX1kWJT13ae6UKJCB+ZTZa9LNx5P+m737GrXKCVHh0OAUYPEMlaS8KBa4br/m2ZpyL7hiORPskqeNEJnA1VrYNYEc3r/fdkOU9xSjFLGJ1NjpLU7yW15boFTsgr5bNNNUoEXX6jMJ/BvMYAsirQBYBTkLUq7QsQ== X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:;SRVR:BN3PR03MB1477; X-Microsoft-Exchange-Diagnostics: 1;BN3PR03MB1477;20:EFCTjyaDoHx2KhPJxJMywP43HM3oJIO48N1qDnmzAoije12J3JobZSQoEEkt7GdZtPWf6HnbYnmMnkQScRibglD5flDQtE3/v+nMreS3GBmtrn047dXWVoRCDv1hop8pYFfb7EbqZtBAPJn5k0RsVIS2pIOneZrzf+4Zanx7OsE6Icpnukw7uJBxOLFfBJEaqnR1UR6XlXjAmPaUL9iRTW8bFNj9fQ17VITOlNx+lnFlDWAE3L3Wpl1x9EzcNkZQsk/2vvQG9GFH7y+QrsuZ3+F2Slv7NoVwbzIgKnl14hHXAOpz1JSw+X+H+NGQ43x0ewkOp3oKCDfa9dGEdJyd7yRVQDViX+om9Coco2OPDVLGSBunMzyNfjjII/NMlv9ot82SmcIJqksahrUjL6UuCcFYFLXlJoLMYfN2U8g5iRkaK0M0ViDJmTTzE574mv6cRnvYYiFpIHbDUfuSq4H+V65vO/c0egoa2kR+EPZaIJKkzJKtx1Y6DIdA29CVKkkg;4:7SPToT5jFsUwxaxtNqyBrD/UWn5TgfoFUFslu0AUEEUGOKoy1bDRTg/3yIS2u7rCOFvzRx6L9mrETYNGXeKWCZSjCZBoivxqp79kxARxbGdbMoqLsKpZYIAZDpHxVpOcyD/Et1MnHVWswVUxhtfVV1o86egsGcJiiNyXmyD4z9zYfY16zzzZS7pg7kjDk9Q/ReL2X6kg0paOGPEZ0ItlLHe4iQNnUgEGWzqFKCJslAEtfuBg4wX9c8xA8mIQWhsAsEhNv2h70XbM26Pw4NX5LSBWxIjA2U6Ubjx3mgM1hI5mYHmyyIGjKU7GNV1vB4cAtSZ4OS+Ej2/5Ee9UnGhE1g== 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:BN3PR03MB1477;BCL:0;PCL:0;RULEID:;SRVR:BN3PR03MB1477; X-Forefront-PRVS: 0694C54398 X-Forefront-Antispam-Report: SFV:NSPM;SFS:(10019020)(6009001)(377454003)(189002)(199003)(13464003)(24454002)(377424004)(101416001)(64706001)(19580405001)(122386002)(47776003)(81156007)(86362001)(19580395003)(5001830100001)(5007970100001)(5001860100001)(2950100001)(5001960100002)(62966003)(4001540100001)(50986999)(92566002)(110136002)(33646002)(50466002)(189998001)(105586002)(36756003)(46102003)(93886004)(5004730100002)(87976001)(40100003)(76176999)(5820100001)(77156002)(97736004)(50226001)(42186005)(4001450100002)(77096005)(23676002)(103116003)(68736005)(106356001)(99106002)(3826002)(5001840100002);DIR:OUT;SFP:1102;SCL:1;SRVR:BN3PR03MB1477;H:[IPv6:2601:448:8100:f9f:12bf:48ff:fe84:c9a0];FPR:;SPF:None;PTR:InfoNoRecords;MX:1;A:1;LANG:en; X-Microsoft-Exchange-Diagnostics: =?utf-8?B?MTtCTjNQUjAzTUIxNDc3OzIzOlNicTRYTnNSOG0wL2lkaDhKZ1NQUGpyMDVC?= =?utf-8?B?bm90ZVFPZUNDMFlNUC85ZEU2R0xzSlBTd2s0VnVJeFZMRkZKYWZocDFvdTZL?= =?utf-8?B?UTdReGVpcDJkZzA4Y0VPZ2RBUDZWSTFBemVUaFlOZ1JwN3JadXFMemRES1VB?= =?utf-8?B?bzF6MTdsV1NOemxVNXVlZnJ4bWo4WG1rUms0NVZMTUI0Q2JXRnhJTVN0NUVs?= =?utf-8?B?MHJ6VnVTYVk1UzF1M0kvYVYzUkRYMUpGKzhrYUxjVnNmWGRvQUNLL240Wjhi?= =?utf-8?B?R1dxUWFuNGZUMEx1Q0JNcWpoVVd2VEMyUTltOC9SamhWUGFoNWxxUk1sd2Qx?= =?utf-8?B?UThYUFNnNDlPbjJqZ2hsNmVSRlQxL1hlcXo2bHNNemJ0NTE2aVk2bVBackJz?= =?utf-8?B?MzFkN1MyL1RkMHNWd1h2cUlUeUx6dm9WckMrUWNPZjFoZ3ZoUVJ1Tjhrelgz?= =?utf-8?B?NVZMcUlpRHZiaTQwZy9WNTlKZVltb0V2a3E1dFBUMkJTekRiUXpBRDJYcEVk?= =?utf-8?B?elh0emg1V2J0Ni9zTE9kcGJlY0ltWHduSzhaQmROQnhnTThQUDZyRXpadG02?= =?utf-8?B?VktqNi85RTZzUHQ0Y3dFaFpkemZhdm1wa3ZkS2RFQVJZQ0phV3RUU0pscG9Y?= =?utf-8?B?L3FqSG9kSERsd1RUZVpnd29hNnVOdXk0dW00L2NQYlgwVFQ0RGxqS3lhZ0pu?= =?utf-8?B?b0FrZ0xhRUhYbVpQcXd1cTdDTVRZMmthZjR6YW1Oa1dsMTByMmJadkswWFlM?= =?utf-8?B?MktLd2VmRWJWRTExNFBoK1UxS250MFZFSWlKekV3dld2cy91dFZRbTNianNO?= =?utf-8?B?ZlNBenJtK0FoTmE2Mkd0cXc4M3M3M0ZEY2piNDJsWEJpNndrNkpuZ2FHekJu?= =?utf-8?B?V1JYREErOGxHcGJRcGtEdGd4WGdMVklVSW42U1VjcnRsNE94blovYTBON0Vu?= =?utf-8?B?WGp5em51eVcrUExCREtadWIwWk9LRWhzMUxCODVZdnE2SmJXQ1RJWjFQNkhF?= =?utf-8?B?WWFpT1BXSlpzamt0YkFRck1QaytiTklOWkpaWW5VNjV6R1VBcVhJMVZDZTFo?= =?utf-8?B?T1pzQ2pMQnh6MEpPK05obmV2MnQ1bEkrdndNemhTYjRSelh6cksrREV1bWNq?= =?utf-8?B?V2NzSERsSUZ6TTQ4VVFUQ3hRU0g1K3VKQ1ZTTGlKUjgyS21uM3gvclN6WVJ6?= =?utf-8?B?QlpCcmN2TU00QWV2QzlTM3Y5a29UK3p0bmkrSU1wQ2RqK2puWUNFZUo1L1Fs?= =?utf-8?B?V2ljcFBDRW0yWU1iQ1V4S1lVeFlQOFROcHJ3RnFwSmlENXBCWVZ3WUsvQ3gw?= =?utf-8?B?ZnRnNlNqaVo5RVQ3MUhjSUpUT25kU3ZOcTBHT2h5WWVzeVh0aXp5TUhPb1hj?= =?utf-8?B?bDh1ME5yRUMvU2dEVXdtcXJQdjBLbmlLZVlkcnBsSlpGZDJuUEpaRm9UaW5R?= =?utf-8?B?N2h5S3BpZTY4UjZ1ZlpYRlB6S0djM0ZHOTNncnZpQ0RxSzhRYzhXS1FiMUZu?= =?utf-8?B?QStJMVRRdmdyYjNZQ0ZsRHlNVU11N01RMkJjVFB5dU9BclRxOElXVVNYeUow?= =?utf-8?B?ejRuakl1d3NmbWt3WldIajduUURPenkwenZRUnZVS2NXNHY4RklyYTMrSGtU?= =?utf-8?B?RFdZN1pwV05yQmZtNWx1dExDbUZKeHBDZEQ1d3dORHZrNEZ4akc4ZlVkNFJD?= =?utf-8?B?MFJXTTh3ZWFYR0h2enljd3lDLzhLc0JMZEs4ZlVMUDBjODVqK0pIYTZQVXc1?= =?utf-8?B?UUV0V3BUdmcrOEFBZHRSMG90djJ3M2EzNUY1dHhlZkxyeC9vczA3WWpnTUtq?= =?utf-8?Q?GaIUejduiMSa/?= X-Microsoft-Exchange-Diagnostics: 1;BN3PR03MB1477;5:P656BEp5+0cpKepw7h15USjzIdKa6IVFiLE1A4DNiFvkqkBl7ZqTBJA/dsP7eZ3iL/AnMmRk2fNgX+KwgBrDLcRmz49+UUrjhGC2DpeNkSOOfjXbePDULN6dabpLbgIjefTotJdyVgrcW+R2qI5vbQ==;24:Z0/5Ea/mSFVH4eSIrW/H0v+GeKCykuGIVJH6Iij75eKaJa16b5u4whPrEbtUGylBMhgG3RJUFf4oglyI8qGHBsVZzjOZM5FOJkMpnowIuLE=;20:WgquUEDrLmkAdIPY5HncEmTZxzbQMQr4f4FLrSC1ek5DDQrDTKSDaD8xwUvMyU5qfJKqqlJc8ZjEsUYWQMHdtQ== X-MS-Exchange-CrossTenant-OriginalArrivalTime: 09 Sep 2015 16:37:46.3110 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-Transport-CrossTenantHeadersStamped: BN3PR03MB1477 X-Microsoft-Exchange-Diagnostics: 1;BN3PR03MB1415;2:CIO3NAkLq3rIufJ0OpU/tm30luzF7KcQCQgx0Md55Ox8Qqx5U1mWxhi8fru8ZWUUASgP0cIvOy+EVQdHiQnAdclXwada0wSr8gE0z8DuBnwibtljh0PxPNUS1Xv67c7DQEutLRyr7k1pxwAKZokXI7ZGBCXgs9bul3cc9CBiPAc=;23:igv3v8o+1FzyT5jEK1twJ4KKKLzcttTbHBZVRINkS7VsnfVxHyqNN/B9RfR1W4cRtu5ta5DlNATtBezrSy4v8840jQvrspMPVFWMarUbTeQ3R98jGo7vBUTUg/rxqp9gUeSEMfIpooE01skcbzGHxnVoYqlSbhRe46DlSvXyaoHhKhe4xD8suVDlpe1udq/+ X-OriginatorOrg: freescale.com Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org 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". -Scott