Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtp (Exim 4.84_2) (envelope-from ) id 1bzAcb-0004hs-Kx for pgsql-hackers@arkaria.postgresql.org; Tue, 25 Oct 2016 22:55:05 +0000 Received: from localhost ([127.0.0.1] helo=postgresql.org) by malur.postgresql.org with smtp (Exim 4.84_2) (envelope-from ) id 1bzAca-0005g3-DW for pgsql-hackers@arkaria.postgresql.org; Tue, 25 Oct 2016 22:55:04 +0000 Received: from makus.postgresql.org ([2001:4800:1501:1::229]) by malur.postgresql.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA384:256) (Exim 4.84_2) (envelope-from ) id 1bzAcY-0005fC-VC for pgsql-hackers@postgreSQL.org; Tue, 25 Oct 2016 22:55:03 +0000 Received: from mail-cys01nam02on0081.outbound.protection.outlook.com ([104.47.37.81] helo=NAM02-CY1-obe.outbound.protection.outlook.com) by makus.postgresql.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA384:256) (Exim 4.84_2) (envelope-from ) id 1bzAcV-0006G1-PI for pgsql-hackers@postgreSQL.org; Tue, 25 Oct 2016 22:55:01 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=BlueTreble.onmicrosoft.com; s=selector1-bluetreble-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version; bh=sfAzULlpxleTLSE6ZFrnzBYs9yirDhx0fjVukNZSBWI=; b=IVsLVqiC22F1VMazMCzj4Eoq2x6IJGlGOtk63bRktk5dQAlrzJx+7EP4laLFUa/V5VYNkzbwEpG3VNFhBmLtZB8VQGLYc8dp5KdiujPHrwAYmmqFqVxYDRWREC/qyim6GL7KDamKbUXaGqcbuh6MuSRju3zY8BsPsjKjA7Fm9lo= Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=Jim.Nasby@bluetreble.com; Received: from decina.local (70.113.18.142) by DM5PR11MB1643.namprd11.prod.outlook.com (10.172.38.14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P384) id 15.1.679.12; Tue, 25 Oct 2016 22:54:57 +0000 Subject: Re: PATCH: two slab-like memory allocators To: Tomas Vondra , Petr Jelinek , References: <68b837a3-ce55-f9a2-f685-9eafac536f21@2ndquadrant.com> <885540a7-ac72-5a21-6dae-a4d5b50672da@2ndquadrant.com> <03110c11-ea72-7b4d-027d-6f19eb300b2a@2ndquadrant.com> From: Jim Nasby Message-ID: Date: Tue, 25 Oct 2016 17:54:47 -0500 User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.11; rv:45.0) Gecko/20100101 Thunderbird/45.4.0 MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset="utf-8"; format=flowed Content-Transfer-Encoding: 7bit X-Originating-IP: [70.113.18.142] X-ClientProxiedBy: SN1PR01CA0036.prod.exchangelabs.com (10.165.224.46) To DM5PR11MB1643.namprd11.prod.outlook.com (10.172.38.14) X-MS-Office365-Filtering-Correlation-Id: efd82b4c-6ab0-44ca-ca01-08d3fd29f1a4 X-Microsoft-Exchange-Diagnostics: 1;DM5PR11MB1643;2:93/KRTFiaLANQ2Ng0FBSkrnpZK9XmxSVyciAfytlfF6W664+pOJZPiykuESIVcj3QjeLud+O8awSPEoaM9Lu3bhfO9kvJ8b4wu+FnL5GnFOUftM4TmYek1UQmDJso65BBoEdNt9nehtSMkcd1BO693POOteYYC6OYg7RVqJV4J6NjUfA8RPE9hv2sWKFogKfpytfUfCVQU/Tis7LxLjV5A==;3:PGPwfZ1T8nWodLIuaPjSGqGR28aaHw5iwBHuJPZ0HwIolvSSDVC8X92LyxZ67e/kwRNNLG5gpk/RPEDrTBD5OmBtDVCuLpQdrsBDYP8m1qvcgRtRGP5kyniyX4ZYPZ1E6+U74GIYizfaWS2SoSpNcQ==;25:WewSe1Pf/rvOYeKBoJGjPlnAbrH0K5iPtf6oaX66tQZZwWhkwqPAqE8MjsIHMS0POUVpTRJQBQqog6S4q/vfC6FBlAxf54aBDU9D8s1pqFWKul53Gd8rMSejAGUY8cC1DJjtGSn+TTmz3yEP37N3z4SzVKbaMu8K53LNZwBPFgoovu5ilkggut/bGI4msLgsoYhnekh+zbakzPnq4/ED1Xqp6u6viJF0tfQH8siAHWCIZOYTAupr4LhHUaGJybEP1vRPiyyIHhm4ytmKIHAjjpSj4YuLc683JWb5FdihMT/jYQxj5PEqr7qh3RRI9tOGf5+LN7Rrxo80r+tRN5HtCPENVpPiWHyAxZKUJgWMInGEJbLcPBoRwxyiupJuZQho0NzDvaEaGqF6nsQc3EkaXFLHZr4Se+Adqqwz1GOMQTcOPIQVOoQn9e+1u+71RFuA X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:;SRVR:DM5PR11MB1643; X-Microsoft-Exchange-Diagnostics: 1;DM5PR11MB1643;31:3EFA416no0IJ84LPTcspKI20WkXo9ux9S/Mg0ljkwY8aNR9BHFkp3/X/gIyOjhGdCAS7USeTl06kvCCIz03mVEcNNsWH3SNG126yLSEPvL5CDIQl1MMJq0rSIaognIrMxh2RKUwG0Puhpt1o6gJj2Eua8FX7KltGvMcBD+fNgwN0JBFrEaffMIhDSk6ndKeLnOZMZ+beK9Ypia9vxNdGr4cqSSYx3G2mWhM1gd9nuD+cRZd3Ircd2tBKRw9EHUbQQpmsZH5UnwV37fPPWXNe8A==;4:V2tYIjCKfpsZGTHr/7oWkgF3CgjCPJhEOUw2Gct9nILsTYiMMnlhREkr7WdeabeekVN3wi5RPcn/iHOSlL4ucbuP6nRctNZ6uTDed/dV3YCLdX27rnHDRNQienjdT6ut5ZgQmC8oXWqR2BKpE51yUpSmePEOHr6fvYS0/q0rhwEXWpysgFmblD0RvW2lEw0z1pJ6IZalUJecjsL1b6e0xSWOn/cmV7yTdodZlNyh0z1Vp4Eg3P/TvdTbFQ2ZarbwTQ1r4xlwU240/yETkwqZfVO0bEVIcmUDwmFCjGHgE+ji97xZoW0FoAPSTsr6dZ4Mi+4cBJEJuPza7bMz6B/AFiORFm0r4LScl92wbW00jIXb814wfsyjv+w2/ZkFNejdZyLfBjfu6Vi15aT0jC/O4Ij/jwNYGM9NXKWJxDPxPxXM72GNf1YNesDoGzA1WLCm X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:; X-Exchange-Antispam-Report-CFA-Test: BCL:0;PCL:0;RULEID:(6040176)(601004)(2401047)(8121501046)(5005006)(3002001)(10201501046)(6042046)(6043046);SRVR:DM5PR11MB1643;BCL:0;PCL:0;RULEID:;SRVR:DM5PR11MB1643; X-Forefront-PRVS: 01068D0A20 X-Forefront-Antispam-Report: SFV:NSPM;SFS:(10009020)(4630300001)(6009001)(7916002)(24454002)(199003)(189002)(377454003)(23676002)(68736007)(36756003)(101416001)(586003)(6116002)(2906002)(81166006)(81156014)(8676002)(7736002)(50466002)(93886004)(86362001)(16601075003)(33646002)(105586002)(76176999)(31696002)(64126003)(106356001)(50986999)(54356999)(230700001)(42186005)(77096005)(15975445007)(3846002)(31686004)(97736004)(5001770100001)(7846002)(47776003)(4001350100001)(66066001)(5660300001)(6666003)(2950100002)(65826007)(92566002)(19580395003)(83506001)(65806001)(65956001)(189998001)(305945005)(107886002)(2101003)(85282002);DIR:OUT;SFP:1101;SCL:1;SRVR:DM5PR11MB1643;H:decina.local;FPR:;SPF:None;PTR:InfoNoRecords;A:1;MX:1;LANG:en; Received-SPF: None (protection.outlook.com: bluetreble.com does not designate permitted sender hosts) X-Microsoft-Exchange-Diagnostics: =?utf-8?B?MTtETTVQUjExTUIxNjQzOzIzOm5GOHlzVTRmZXY2SnBFVHpuVVF5YmpCSmNo?= =?utf-8?B?aHY5L3B1OW9nVS9HRUM2VnpsWm04MEhXV2x4MWpHd01ITVJ4azhSM2xoSzE1?= =?utf-8?B?bEszcWdESTFjSlM2NjZLc0huTUFTbmRuVWVrNkRac2IwSlpUTHhGd0s3SHlN?= =?utf-8?B?TFVEZVc2TDMxT0dNZ1JkZWljWndFYlVYcGxYVlJHWUlLUllpVHI4ZlVPMHBU?= =?utf-8?B?cXFlS3d3U04rUkxuT2c0U1YzUEFDODdHc1VEUXppK01JMGRRcDN2MW54UTM1?= =?utf-8?B?MWZ4Sjh0VFNZU0w4UlAzM2tyVGNhN1VwL2hZWEJEL2RXd21hb09tOUxhK244?= =?utf-8?B?dElUOXZrOC9ENFJ2SXF3QUdWL3NYMHRXd2lheFJlTGJ1ckpVOW5ibGFzQWF5?= =?utf-8?B?MC9qa3dEb2lRU2VhRXF1QTRpQnJpK3UxQ0hZa2F1UzZhS0lueTh6TkU0YUdM?= =?utf-8?B?T3E3enNIanAxK3V6UDNNT1hMSisxM0dZNFB0QjZKN0JBUEZxMlNnTGVjU0dE?= =?utf-8?B?TUdwWmxzQitBdkZMUExjODNLMjdjNkxtV3BXWkxuTW5ObnQvc29ENFhVY3Bz?= =?utf-8?B?dCtOT0xkTmhEZnV6V0M4VEM1QjI1YkFHaFdtNUFDVWJjTHF5Vm81TGxBVWxo?= =?utf-8?B?dGtlM2p0clFKQVdBMkRBckZEdENlT1o5a3dFemRuNWpzbHRqTGw4d2lYeVVs?= =?utf-8?B?WndwcXFGcExUeTJJZXpaMHlFRTc4NmhFNE8yajA3SHZyZnU1Tm93UllibUF3?= =?utf-8?B?TmlSdm5kQStNUUJ2SVU3bGpod3hZWlFBVWQ5cFEwdmlsN1pVSkVSOURLa3Vk?= =?utf-8?B?K1ZjV21QVUsvYWlhNHNXcWlOUWdYeFZEMFNRV3ZNb24zQ1E0V1ZOZEQwWEpv?= =?utf-8?B?cmNwTnlZNGIweWtMbUx0UlRzWk1QQWE0cVBaOGttT21xalJuMEdEcTF1SjRN?= =?utf-8?B?NmkzNXY5NHB3QXdZUWdaNUY3eWwvU0Jub2Y0d01XMjNpUEtGTXBvbENEWjhW?= =?utf-8?B?SkxtYXduYWJIbERnOUZ5Z0xXVkZHaER0c0g5amlTY3JzSStoNU9jUTZ3amln?= =?utf-8?B?VHVhejJ4cXh0eXhnMGROUkFxRHRhZ1ZoN1VPeWVtK2QwTXFVN0tZSFFuckVt?= =?utf-8?B?QUcxdy8ycHAvLzZOR0Y4b1ZRaTRuZmdGS3JYUWZabXpqQkNHSkttN0lwb2s3?= =?utf-8?B?WTN5RXhla3I3Sm5wLzN0akprSy9iQTR5MHJBMkM4akRHSTBwYmdORlpMaTlz?= =?utf-8?B?bXhHM1hqTEZlb2xFbVFUdFR3U3BmbFhnL3Nyd3RmbjM5eEREckhTaGJxWUI5?= =?utf-8?B?cVlvTFBSZFM5b1BXZml1QXB4Q2w1azJnS3VkakZMYjliVnR3QXVwQ2ZNK1lX?= =?utf-8?B?eE1ZZExKSGQ5dWY5K2JQYitNVm9QL0JRbWRqOS9mRGNlR3pFeXBkWlozbWRj?= =?utf-8?B?VG1wa2NZNWJDSFRkV1ViOE9tczgybkkwbXQwdnZXdTYxc3BiZUZ3QkZYdDda?= =?utf-8?B?UEx6NnhVV0pIQ0EwY3YzVFZ2blVBRWxNY0QzZDJZSUlTeXJJTWN6djhmTkFH?= =?utf-8?B?YjBZL3lZZGpUbnFsejVBNS92RjlFYW40Z0lXZnQ1NS9CcSszQjFDWnJnalU2?= =?utf-8?B?bVZpVmYzZFVhQVBZSVZZSDNieEkyMjJaMnFXL0pXZ01Pc2JKdVZYRDZZUDRQ?= =?utf-8?B?dCs5bm5janlFc0k4TjU0ODRDamtMMmJiMGpLSTByOC91VUNHSllWTVRaRmRi?= =?utf-8?B?aHlvdW45MkllVzlvVXpUdVpuZGROeVJXVXI4NXVrVmdaVmhPeWRnTmw3a2ZJ?= =?utf-8?B?NmMxQkVKRzVOb2gxRTFnRUxTSTdqUlkxRFlJbHlYMXdGU0lHWXEyd0x5VmJO?= =?utf-8?Q?HBgMvdWeCoJK55/Huqcw5jp2uyi3FI2M?= X-Microsoft-Exchange-Diagnostics: 1;DM5PR11MB1643;6:wWPTc+Pfh28LHDCuimadxp5RN+tZ9uLB0BBD4L5bDiZwMtYJOp5lmJvtkttqdqJk7bJkaxsPaXIIKFEOoS8OJpdPPOCu0dioou5QsM+ztT/IGuTA6hw7ArGglAPIDVVVudcT9GuMAEnVvm3yvvkoiJ+u7akQsABrjHSKUolJ8vjWPjSlZUpMWB8bW0AdZwJiBM1el2/wd+CpfS1JVwjxN+QV/v+PAaDSlW8XRq3e4REUMrXCIJsllwfVcjn6sSjCTRIxnk7IxB0DS5iI1n0bJ7Kk3M/ZnwkTr93hcJhF+1YW7CXjm38frPuyIvQFaIRT8mjeE0RY9rgrFrdA6TI2Zw==;5:0iOOLkb4o+oJllS5eDw+dKKgRoNJD/fgGrWBsgboYiIdVBpwhX4lNNaOYhI4mici7eAhdnKQ2LILcCF2IIiu43L8hpAVlhqt6XcuM3IKfi4a+wm0N+ApYSsUK4SIlArh+EppPOznSOCWWz8ln5XBqQ==;24:9M+volLAR88cMd5dM+jCIWl2ItQxZCp7M4fXDF4Mo726kYlpeJZcQHvp+FPITQiJaLBf495tURXz10WE1/ZN4WphA50uM2zzhqc7aBmfSAE= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1;DM5PR11MB1643;7:1Oc6exd4a5DZ9EpmphGlhrfCzaOoJXbf3j/RTzEvTqtwYOhzhycvDOzKx+5f/myQOFOLEyq9sdYCXGKWkhxEkuoa2+mcFRTHDP4nG+JsVcID8dPoLNhwL1yjyw0YQh9lpxMiYNm88upg84e/pEjTsHG3ahFCGD5IB6Bz+GPB7907onJB4Spl0FuZTgPQDjLwY5paq7wJbxxSqhVmyB3LYJ7/93uNADcx5UmATCZrLLXWQHJfbbc5CapdQtUTPjVNi8q8DmjRDd08BKnFFHC0rXIkJL9EMMZnGKgzoEHPtQiLAsjsgYOFa6Xk5KIgXFGbrQqUwepWIThUkzpF+QR69ti8qwdIUA75dyEErhGK+GA= X-OriginatorOrg: bluetreble.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 25 Oct 2016 22:54:57.2731 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM5PR11MB1643 X-Pg-Spam-Score: -1.9 (-) List-Archive: List-Help: List-ID: List-Owner: List-Post: List-Subscribe: List-Unsubscribe: X-Mailing-List: pgsql-hackers Precedence: bulk Sender: pgsql-hackers-owner@postgresql.org On 10/1/16 7:34 PM, Tomas Vondra wrote: >> + /* otherwise add it to the proper freelist bin */ >> Looks like something went missing... :) >> > > Ummm? The patch contains this: > > + /* otherwise add it to the proper freelist bin */ > + if (set->freelist[block->nfree]) > + set->freelist[block->nfree]->prev = block; > + > + block->next = set->freelist[block->nfree]; > + set->freelist[block->nfree] = block; > > Which does exactly the thing it should do. Or what is missing? What's confusing is the "otherwise" right at the beginning of the function: +static void +add_to_freelist(Slab set, SlabBlock block) +{ + /* otherwise add it to the proper freelist bin */ + if (set->freelist[block->nfree]) + set->freelist[block->nfree]->prev = block; + + block->next = set->freelist[block->nfree]; + set->freelist[block->nfree] = block; +} Otherwise what? What's the other option? (Haven't looked at the newer patch, so maybe this isn't an issue anymore.) -- Jim Nasby, Data Architect, Blue Treble Consulting, Austin TX Experts in Analytics, Data Architecture and PostgreSQL Data in Trouble? Get it in Treble! http://BlueTreble.com 855-TREBLE2 (855-873-2532) mobile: 512-569-9461 -- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers