Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1754318AbbG3RHJ (ORCPT ); Thu, 30 Jul 2015 13:07:09 -0400 Received: from mail-by2on0141.outbound.protection.outlook.com ([207.46.100.141]:36454 "EHLO na01-by2-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1752103AbbG3RHE (ORCPT ); Thu, 30 Jul 2015 13:07:04 -0400 Authentication-Results: freescale.com; dkim=none (message not signed) header.d=none; Message-ID: <1438276013.2993.357.camel@freescale.com> Subject: Re: [RFC v2] genalloc:add an gen_pool_first_fit_align algo to genalloc From: Scott Wood To: Zhao Qiang-B45475 CC: "lauraa@codeaurora.org" , "linux-kernel@vger.kernel.org" , "linuxppc-dev@lists.ozlabs.org" , "akpm@linux-foundation.org" , "olof@lixom.net" , "catalin.marinas@arm.com" , "Xie Xiaobo-R63061" Date: Thu, 30 Jul 2015 12:06:53 -0500 In-Reply-To: References: <1437991074-35377-1-git-send-email-qiang.zhao@freescale.com> <1438032043.2993.311.camel@freescale.com> <1438186761.2993.337.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: BN3PR0401CA0005.namprd04.prod.outlook.com (25.162.159.143) To BLUPR03MB1473.namprd03.prod.outlook.com (25.163.81.158) X-Microsoft-Exchange-Diagnostics: 1;BLUPR03MB1473;2:kvbL9gRBiGqWxnlWs/jU0lueBxFx1zD9VbE+aU61pQn/fViIZOFj0xrNohhm7UejaknccZLRXBN+bbvDbgInglyG9jHDZf/I1fWEPSajTmbmpTi9y6v7zXniaCpgZl8/vMSU3ThLauAHhAEV44P7K0SGlZMUpd5iIlxTOvNDXNA=;3:CUVsiY8bQPe9YqIK0FDDEKz/1BmU9yQJ/Rhi94bdDHaJGtcEm3YNYDNKkM29anUglb/mKsIoI8MXEerq296pKJTRp7WfU/NSORVsmvTrlQfEbJugrwFAl3eYKiFmxwP5GdBC8crVtzLxK33t5LnTBg==;25:W+OOpp2kMOqq/a2KXPKMNFMlzc408dcYG2oHzz+O4m1HhxS3HVYd6xkU5QT/sPkjIRnaDQVcNvowm6Cop59jFpGUb8dM8fNxbJxWP/KfbzauMWlLaT3Iqz/GiOYKLXdJJ8x5Wt/WjWh3VsVYRP5D4m0oVngr/omKycF141xoIPt1yyZLLN1NToX0isuQh78MKFPPJ8USwoteRZDOh0LIO6NRryLdmEqW6PFGmFlM+Abw/bZYi2ic1RU7w4EFZh1Hu9kr3iwDU9M4lwr+HoEpNg== X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:;SRVR:BLUPR03MB1473; X-Microsoft-Exchange-Diagnostics: 1;BLUPR03MB1473;20:2N07HXRw6A8nUg4lrfMGUNaqQEvhX0x1MxkyKsFvHUWK/tC5oJSx0nKCpSlXfH5VoqR8CHDR2qD5XUKEOp4/snFoYo61SeMIvMdkCdSq2Mny8OHKGa7SBgrLKCRoIGPX17AGFBSE3Hq/ZlXckSOtAtkyv9HRWVoZHrp0rGeUMwJVLkvl0UQmO9w04IbPRx1gd8+qmL7NqhbA7IwJtDzlE0wRq5mOqlIV8CTAODAxw8HpDBIHnfozCyKJwct5dyX7HfjrdrDEzTkTsvHcLP0bgAldcAkFyo3pIZRhgC/jfgvSNNweEjWmT6wsb7F0iq+JkXoAihelZqd8H7EjS2CjUjKsoEb8hwEc4kTzewHmw7pXMmPjLMJfM9u2xE/7h0ud2YZ1Eqg/gVN4I+C802z7ZtwFAwCxBa/bwQ8pqWSHbbazCYN6dSGLAwhGNDICzToKDP41w1RDrQ8Kv90PjhhO5pExFOpEYFR9Lh35vxfBkcm/JeoSdX1Mpk+uBBghsL9P;4:FrEbFoIKRTkF0ksVGsiYIJ0D/30rMsXu2BuB0nL9h86pwS5yNP7vvvCiSYCbyyT7ohsgJWtO84FUhMF/F1D3577k3cyT6YS+VAQJTXYhZVKuVwypAh0tYbyDOg+X5tcSRRVWwUuGdNMtn9k+qG8VAEbmvk61b7diwp8lsOcj75sESPKi9lPCpB/T5AoMvdkgdq7tRq3uzzDTmgmfeTWmixuTef21YbMiR0aKEBTLeF2PLyuRCE8B/YdasPVYNTVzWFjoQ6n+8FxgF4mY6XSpw7HOPRG0nrY0ui+qnuSTIhw= X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:; X-Exchange-Antispam-Report-CFA-Test: BCL:0;PCL:0;RULEID:(601004)(5005006)(3002001);SRVR:BLUPR03MB1473;BCL:0;PCL:0;RULEID:;SRVR:BLUPR03MB1473; X-Forefront-PRVS: 06530126A4 X-Forefront-Antispam-Report: SFV:NSPM;SFS:(10019020)(6009001)(377424004)(377454003)(13464003)(24454002)(23676002)(86362001)(4001450100002)(93886004)(40100003)(122386002)(42186005)(19580395003)(19580405001)(33646002)(50986999)(76176999)(46102003)(2950100001)(47776003)(103116003)(36756003)(62966003)(5001960100002)(107886002)(110136002)(77096005)(92566002)(189998001)(5820100001)(77156002)(50226001)(50466002)(3826002)(4001430100001);DIR:OUT;SFP:1102;SCL:1;SRVR:BLUPR03MB1473;H:[IPv6:2601:448:8100:f9f:12bf:48ff:fe84:c9a0];FPR:;SPF:None;MLV:sfv;LANG:en; X-Microsoft-Exchange-Diagnostics: =?utf-8?B?MTtCTFVQUjAzTUIxNDczOzIzOk9KTlBncUZyNjhXazFrY2dHWFpUSzh0TVg0?= =?utf-8?B?NUdsWm5ITG5lM0hKaG82Q1AwSzd6a1RoRStncVcyQ2wrSTRBcGRpUlRFeCtw?= =?utf-8?B?VFBtM3BqUXpsNEVQRlhhTEhvaHRyTTUzMnc5R0hvUXJDQ3ZPU0hPQjhYZHBG?= =?utf-8?B?aEhoUVN4M0Y3Qk9xRll1TWlLN0RMNjJUczhielFpS3l6akZlZGRZYjhZT0xY?= =?utf-8?B?bUxRbkJZdFZCM3YvbEZRL28yTjN5Mjh6d2VBbkY3K3UwM0lIRlMrejJEYTlZ?= =?utf-8?B?WXRRd2wwZUV5RVplSjY4T3RhMTRaamxlRVdsTUp3NUV2UjhuT09mU2diT1BX?= =?utf-8?B?ZHR3UnFVSVQwbm15bDNZV2ZNNlRuU0g0eW5hekVmRVB6czJ4UlNLZnhXRHVR?= =?utf-8?B?N2xicEVVbmNDTFNoT1ZxcmxYZlp3blhxWjcxRlJYU2pNT2FoZVJRdFppUHZt?= =?utf-8?B?M1c5OHJETExDdkhtbGp1YW5MQW5JWWY4dkovSW5mUmFHMXBvYk5nWDJXejZK?= =?utf-8?B?N2hMdFpHay9LcVVlNVV0M3c4MXREaU1ydmU1Ly81alN1SVdhd2xzQVd6d2hV?= =?utf-8?B?cjFCS0J1N2o5bTV4WG93RHBORFJuV01DV3ovOHB2ajJKSkV4MjAwS2FlOCtu?= =?utf-8?B?c0JWR2VRNGtoMGtqMFRnUTRacGJoMEdTeUY5ejZOOWZyWE1hbVF2cGRvaGhu?= =?utf-8?B?TFNmYVcrZUUvQXdKRjc1cEh5RUloTlVEMERNaHpOK2I2TElQU1U1TzU2c2Q4?= =?utf-8?B?aWNlQndObEJwQ0h1cVYzdGU0VkRqYU1EOHJvWWNsZmdPVytHSTNKRkZaMHdK?= =?utf-8?B?RnFoYkMzd29uejlEOEpVdUZCT3VhQmVTS0hEK1JyNjlWdmN0azZRSDk4Y3Ey?= =?utf-8?B?SjRTdlRTMHY4NklGU3RwOFUzcE1RUTVlOTNLV29MM1F4djNzbGdsdHVYc2RD?= =?utf-8?B?bENTQUt5ejU5NHJFT2ZObGhSbUFjT2Z3UXJRUzFBa1A5QWt3MEc2UlkySy9a?= =?utf-8?B?NUVTSmc2aXNqWDR2d3F0SlVybnQwQzNnT1RWdVJxYllCb3BqeUxRRmNCVi9Y?= =?utf-8?B?aHFMeFZKcXRrQ2VLM2IwWk5ndUMvbkRmUEZaaksvUkNVOSsxTWJpd05xNllv?= =?utf-8?B?RTRkWjVYbUhkbE9VRUhtMmMvOEtvQ1BwbldINU9GWi9wZE9EdEJkNERjWk1L?= =?utf-8?B?d0VQb0NQUHlQdmQzdDRXRE5GeHN3RURtaUxFVXJrNzdIRG1nY0FrbnlRSGtU?= =?utf-8?B?ZFc1cVJobzV0emllMUtxYUE1YldySk9yam5yNUtKaVJvT2cwZFNReldZQmhi?= =?utf-8?B?b1dOb3dzTDdPZkE9PQ==?= X-Microsoft-Exchange-Diagnostics: 1;BLUPR03MB1473;5:EHzuZJc5RHcnV0JbJYCZ8HMb3uttfU/U0t/ZdkS1WP1ONi4AorhFjjGeHpZlCMP9P+PsNRGBxk7IR8V10RABrJpB677OsBW1AWAT2ZiWkozT7imSK6yHyCFbt5albZE8Old8tiXGH+30KZ1MQ55Tjg==;24:q7v+iG18JymVHXREe2gLKSAKAMaFcCcx2q6ogFH712iUoeIrCiavC8YSvO5b2iXv3h+5MAzM6X/Sjwe18sxZJZbVlnXqAXyPTu0iHY2wNe0=;20:5Jc7csY5Sfc8Cm7jGnKIcudx+7ozhIR/+OGyLkpH/d0HqxBtgun9bV4XjedkY0t4S7fYtYN05MapWh2+mPE/Mg== X-OriginatorOrg: freescale.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 30 Jul 2015 17:07:01.1780 (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 Content-Length: 2750 Lines: 69 On Wed, 2015-07-29 at 20:27 -0500, Zhao Qiang-B45475 wrote: > On Thu, 2015-07-30 at 5:21, Scott Wood wrote: > > -----Original Message----- > > From: Wood Scott-B07421 > > Sent: Thursday, July 30, 2015 12:19 AM > > To: Zhao Qiang-B45475 > > Cc: lauraa@codeaurora.org; linux-kernel@vger.kernel.org; linuxppc- > > dev@lists.ozlabs.org; akpm@linux-foundation.org; olof@lixom.net; > > catalin.marinas@arm.com; Xie Xiaobo-R63061 > > Subject: Re: [RFC v2] genalloc:add an gen_pool_first_fit_align algo to > > genalloc > > > > On Tue, 2015-07-28 at 00:32 -0500, Zhao Qiang-B45475 wrote: > > > On Tue, 2015-07-28 at 5:21, Scott Wood wrote: > > > > -----Original Message----- > > > > From: Wood Scott-B07421 > > > > Sent: Tuesday, July 28, 2015 5:21 AM > > > > To: Zhao Qiang-B45475 > > > > Cc: lauraa@codeaurora.org; linux-kernel@vger.kernel.org; linuxppc- > > > > dev@lists.ozlabs.org; akpm@linux-foundation.org; olof@lixom.net; > > > > catalin.marinas@arm.com; Xie Xiaobo-R63061 > > > > Subject: Re: [RFC v2] genalloc:add an gen_pool_first_fit_align algo > > > > to genalloc > > > > > > > > On Mon, 2015-07-27 at 17:57 +0800, Zhao Qiang wrote: > > > > > > > > Where's the part that adds the ability to pass in data to each > > > > allocation call, as per the previous discussion? > > > > > > You means to use gen_pool_alloc_data()? > > > > Yes. > > > > > Previously you said that the format of data is algorithm-specific, So > > > I think it is better to handle data in algorithm function. > > > > It is a channel for communication from the API caller to the algorithm. > > > > > If you still prefer gen_pool_alloc_data(), I will modify it. > > > But there still are details I want to confirm with you. > > > 1. If use gen_pool_alloc_data(), should I pass data as a parameter? > > > > Yes. > > > > > 2. Should I count align_mask in gen_pool_alloc_data(), meanwhile, add > > > a align_mask to data as a member? > > > > gen_pool_alloc_data() should just pass data to the algorithm. The > > algorithm should calculate align_mask based on align. I don't think > > exposing align_mask to API users would be very friendly. > > If calculate align_mask in algorithm, I need to get pool->min_alloc_order > in algorithm, > Like: > order = data->pool->min_alloc_order; > align_mask = ((data->align + (1UL << order) - 1) >> order) - > 1; > so I add pool to structure data as a member. Is there any other better > idea? Pass pool as a parameter to the algorithm. -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/