From nobody Mon Sep 16 18:58:04 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) client-ip=192.237.175.120; envelope-from=xen-devel-bounces@lists.xenproject.org; helo=lists.xenproject.org; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) smtp.mailfrom=xen-devel-bounces@lists.xenproject.org; dmarc=pass(p=quarantine dis=none) header.from=suse.com ARC-Seal: i=1; a=rsa-sha256; t=1721660530; cv=none; d=zohomail.com; s=zohoarc; b=Nvmt+UuM9f3t1f7I/vSqYWKkuDO+lEcFjQZgyDZmPgr7kd85wjCTFyxm3URqL2eLJ59z7juxqPCBpVaURbRQ9r8XJ3BDDWWJ16mZUO6gIM9OyLh1LqhaW4ZXtenHAcfHXAT3sOEzzThP7nB2GDIR82W2aEAv0rWwuwyW0uXpQSc= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1721660530; h=Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=YnDqWS+vxb+tfdScCZ+zPNB/CgAS3SnGjXk0zuPrX8E=; b=D2mvrgpinTK8mdAGPN6BoK+S1g8GFWxFF/9Csj5qE+pOmFIWJbfjlSPSTmEWteq0XVwFJvG8xh7PB1rQ7RCf8TgnnYRSRl5872eAiOUsxtPtGKFrfMiQaVG9opKjYL6e6JVP8/q2tcYJM0jx/fjKKZvt6FU1k9Z4d/cMidR/VtI= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) smtp.mailfrom=xen-devel-bounces@lists.xenproject.org; dmarc=pass header.from= (p=quarantine dis=none) Return-Path: Received: from lists.xenproject.org (lists.xenproject.org [192.237.175.120]) by mx.zohomail.com with SMTPS id 1721660529976567.5176437303988; Mon, 22 Jul 2024 08:02:09 -0700 (PDT) Received: from list by lists.xenproject.org with outflank-mailman.762119.1172239 (Exim 4.92) (envelope-from ) id 1sVuXx-0000tR-9I; Mon, 22 Jul 2024 15:01:53 +0000 Received: by outflank-mailman (output) from mailman id 762119.1172239; Mon, 22 Jul 2024 15:01:53 +0000 Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1sVuXx-0000tG-5W; Mon, 22 Jul 2024 15:01:53 +0000 Received: by outflank-mailman (input) for mailman id 762119; Mon, 22 Jul 2024 15:01:52 +0000 Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254] helo=se1-gles-sth1.inumbo.com) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1sVuXw-0000sY-Bv for xen-devel@lists.xenproject.org; Mon, 22 Jul 2024 15:01:52 +0000 Received: from smtp-out1.suse.de (smtp-out1.suse.de [2a07:de40:b251:101:10:150:64:1]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS id 532cd5e6-483b-11ef-bbfe-fd08da9f4363; Mon, 22 Jul 2024 17:01:51 +0200 (CEST) Received: from imap1.dmz-prg2.suse.org (imap1.dmz-prg2.suse.org [IPv6:2a07:de40:b281:104:10:150:64:97]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by smtp-out1.suse.de (Postfix) with ESMTPS id 5373821B50; Mon, 22 Jul 2024 15:01:50 +0000 (UTC) Received: from imap1.dmz-prg2.suse.org (localhost [127.0.0.1]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by imap1.dmz-prg2.suse.org (Postfix) with ESMTPS id 1698E136A9; Mon, 22 Jul 2024 15:01:50 +0000 (UTC) Received: from dovecot-director2.suse.de ([2a07:de40:b281:106:10:150:64:167]) by imap1.dmz-prg2.suse.org with ESMTPSA id XqT0A150nmaSVgAAD6G6ig (envelope-from ); Mon, 22 Jul 2024 15:01:50 +0000 X-Outflank-Mailman: Message body and most headers restored to incoming version X-BeenThere: xen-devel@lists.xenproject.org List-Id: Xen developer discussion List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xenproject.org Precedence: list Sender: "Xen-devel" X-Inumbo-ID: 532cd5e6-483b-11ef-bbfe-fd08da9f4363 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1; t=1721660510; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc: mime-version:mime-version: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=YnDqWS+vxb+tfdScCZ+zPNB/CgAS3SnGjXk0zuPrX8E=; b=NedBZ65pGT+BdBneGVcYkoRtDL35kkNcZjeyPENo05SsJfWY/IeFce7stwaG2+S9j4gB4c vZ2lk0/A8o2bsnOCryrwvFfPdP/l47tb4cZJs181rvGGA+TnStb4TmWbthMmPLyFFZYM1k 5fp3gSx8S2PYzmZaa6Er8mlS+BVx72I= Authentication-Results: smtp-out1.suse.de; dkim=pass header.d=suse.com header.s=susede1 header.b=NedBZ65p DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1; t=1721660510; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc: mime-version:mime-version: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=YnDqWS+vxb+tfdScCZ+zPNB/CgAS3SnGjXk0zuPrX8E=; b=NedBZ65pGT+BdBneGVcYkoRtDL35kkNcZjeyPENo05SsJfWY/IeFce7stwaG2+S9j4gB4c vZ2lk0/A8o2bsnOCryrwvFfPdP/l47tb4cZJs181rvGGA+TnStb4TmWbthMmPLyFFZYM1k 5fp3gSx8S2PYzmZaa6Er8mlS+BVx72I= From: Juergen Gross To: minios-devel@lists.xenproject.org, xen-devel@lists.xenproject.org Cc: samuel.thibault@ens-lyon.org, wl@xen.org, Juergen Gross Subject: [PATCH 1/4] mini-os: make mm.c coding style compliant Date: Mon, 22 Jul 2024 17:01:38 +0200 Message-ID: <20240722150141.31391-2-jgross@suse.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20240722150141.31391-1-jgross@suse.com> References: <20240722150141.31391-1-jgross@suse.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-Spam-Score: -2.81 X-Rspamd-Action: no action X-Spam-Level: X-Rspamd-Server: rspamd1.dmz-prg2.suse.org X-Rspamd-Queue-Id: 5373821B50 X-Spamd-Result: default: False [-2.81 / 50.00]; BAYES_HAM(-3.00)[100.00%]; MID_CONTAINS_FROM(1.00)[]; NEURAL_HAM_LONG(-1.00)[-1.000]; R_MISSING_CHARSET(0.50)[]; R_DKIM_ALLOW(-0.20)[suse.com:s=susede1]; MIME_GOOD(-0.10)[text/plain]; MX_GOOD(-0.01)[]; DKIM_SIGNED(0.00)[suse.com:s=susede1]; RCVD_COUNT_TWO(0.00)[2]; FUZZY_BLOCKED(0.00)[rspamd.com]; ARC_NA(0.00)[]; TO_DN_SOME(0.00)[]; MIME_TRACE(0.00)[0:+]; FROM_EQ_ENVFROM(0.00)[]; TO_MATCH_ENVRCPT_ALL(0.00)[]; RCPT_COUNT_FIVE(0.00)[5]; DWL_DNSWL_BLOCKED(0.00)[suse.com:dkim]; DNSWL_BLOCKED(0.00)[2a07:de40:b281:106:10:150:64:167:received]; FROM_HAS_DN(0.00)[]; RCVD_VIA_SMTP_AUTH(0.00)[]; RCVD_TLS_ALL(0.00)[]; DKIM_TRACE(0.00)[suse.com:+]; DBL_BLOCKED_OPENRESOLVER(0.00)[suse.com:dkim,suse.com:email] X-Spam-Flag: NO X-ZohoMail-DKIM: pass (identity @suse.com) X-ZM-MESSAGEID: 1721660532368116600 Content-Type: text/plain; charset="utf-8" Apply the coding style to mm.c. No functional change. Signed-off-by: Juergen Gross Reviewed-by: Samuel Thibault --- mm.c | 191 ++++++++++++++++++++++++++++++----------------------------- 1 file changed, 96 insertions(+), 95 deletions(-) diff --git a/mm.c b/mm.c index eb0e34de..1dcd954c 100644 --- a/mm.c +++ b/mm.c @@ -1,4 +1,4 @@ -/*=20 +/* *************************************************************************= *** * (C) 2003 - Rolf Neugebauer - Intel Research Cambridge * (C) 2005 - Grzegorz Milos - Intel Research Cambridge @@ -7,9 +7,9 @@ * File: mm.c * Author: Rolf Neugebauer (neugebar@dcs.gla.ac.uk) * Changes: Grzegorz Milos - * =20 + * * Date: Aug 2003, chages Aug 2005 - *=20 + * * Environment: Xen Minimal OS * Description: memory management related functions * contains buddy page allocator from Xen. @@ -21,16 +21,16 @@ * rights to use, copy, modify, merge, publish, distribute, sublicense, an= d/or * sell copies of the Software, and to permit persons to whom the Software= is * furnished to do so, subject to the following conditions: - *=20 + * * The above copyright notice and this permission notice shall be included= in * all copies or substantial portions of the Software. - *=20 - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS= OR=20 - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY= ,=20 - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL= THE=20 - * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER=20 - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING=20 - * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER=20 + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS= OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL= THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING + * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER * DEALINGS IN THE SOFTWARE. */ =20 @@ -45,7 +45,7 @@ #include #include =20 -/********************* +/* * ALLOCATION BITMAP * One bit per page of memory. Bit set =3D> page is allocated. */ @@ -55,7 +55,7 @@ unsigned long mm_alloc_bitmap_size; =20 #define PAGES_PER_MAPWORD (sizeof(unsigned long) * 8) =20 -#define allocated_in_map(_pn) \ +#define allocated_in_map(_pn) \ (mm_alloc_bitmap[(_pn) / PAGES_PER_MAPWORD] & \ (1UL << ((_pn) & (PAGES_PER_MAPWORD - 1)))) =20 @@ -63,8 +63,8 @@ unsigned long nr_free_pages; =20 /* * Hint regarding bitwise arithmetic in map_{alloc,free}: - * -(1<=3D n.=20 - * (1<=3D n. + * (1 << n) - 1 sets all bits < n. * Variable names in map_{alloc,free}: * *_idx =3D=3D Index into `mm_alloc_bitmap' array. * *_off =3D=3D Bit offset within an element of the `mm_alloc_bitmap' arr= ay. @@ -75,53 +75,52 @@ static void map_alloc(unsigned long first_page, unsigne= d long nr_pages) unsigned long start_off, end_off, curr_idx, end_idx; =20 curr_idx =3D first_page / PAGES_PER_MAPWORD; - start_off =3D first_page & (PAGES_PER_MAPWORD-1); + start_off =3D first_page & (PAGES_PER_MAPWORD - 1); end_idx =3D (first_page + nr_pages) / PAGES_PER_MAPWORD; - end_off =3D (first_page + nr_pages) & (PAGES_PER_MAPWORD-1); + end_off =3D (first_page + nr_pages) & (PAGES_PER_MAPWORD - 1); =20 if ( curr_idx =3D=3D end_idx ) { - mm_alloc_bitmap[curr_idx] |=3D ((1UL<next =3D=3D NULL) @@ -163,14 +162,14 @@ static void init_page_allocator(unsigned long min, un= signed long max) free_tail[i].next =3D NULL; } =20 - min =3D round_pgup (min); + min =3D round_pgup(min); max =3D round_pgdown(max); =20 /* Allocate space for the allocation bitmap. */ - mm_alloc_bitmap_size =3D (max + 1) >> (PAGE_SHIFT + 3); - mm_alloc_bitmap_size =3D round_pgup(mm_alloc_bitmap_size); + mm_alloc_bitmap_size =3D (max + 1) >> (PAGE_SHIFT + 3); + mm_alloc_bitmap_size =3D round_pgup(mm_alloc_bitmap_size); mm_alloc_bitmap =3D (unsigned long *)to_virt(min); - min +=3D mm_alloc_bitmap_size; + min +=3D mm_alloc_bitmap_size; =20 /* All allocated by default. */ memset(mm_alloc_bitmap, ~0, mm_alloc_bitmap_size); @@ -208,7 +207,10 @@ static void init_page_allocator(unsigned long min, uns= igned long max) * must not be bigger than remaining range. */ for ( i =3D PAGE_SHIFT; (1UL << (i + 1)) <=3D range; i++ ) - if ( r_min & (1UL << i) ) break; + { + if ( r_min & (1UL << i) ) + break; + } =20 ch =3D (chunk_head_t *)r_min; r_min +=3D 1UL << i; @@ -227,7 +229,6 @@ static void init_page_allocator(unsigned long min, unsi= gned long max) mm_alloc_bitmap_remap(); } =20 - /* Allocate 2^@order contiguous pages. Returns a VIRTUAL address. */ unsigned long alloc_pages(int order) { @@ -239,13 +240,15 @@ unsigned long alloc_pages(int order) goto no_memory; =20 /* Find smallest order which can satisfy the request. */ - for ( i =3D order; i < FREELIST_SIZE; i++ ) { - if ( !FREELIST_EMPTY(free_head[i]) )=20 - break; + for ( i =3D order; i < FREELIST_SIZE; i++ ) + { + if ( !FREELIST_EMPTY(free_head[i]) ) + break; } =20 - if ( i =3D=3D FREELIST_SIZE ) goto no_memory; -=20 + if ( i =3D=3D FREELIST_SIZE ) + goto no_memory; + /* Unlink a chunk. */ alloc_ch =3D free_head[i]; free_head[i] =3D alloc_ch->next; @@ -256,8 +259,10 @@ unsigned long alloc_pages(int order) { /* Split into two equal parts. */ i--; - spare_ch =3D (chunk_head_t *)((char *)alloc_ch + (1UL<<(i+PAGE_SHI= FT))); - spare_ct =3D (chunk_tail_t *)((char *)spare_ch + (1UL<<(i+PAGE_SHI= FT)))-1; + spare_ch =3D (chunk_head_t *)((char *)alloc_ch + + (1UL << (i + PAGE_SHIFT))); + spare_ct =3D (chunk_tail_t *)((char *)spare_ch + + (1UL << (i + PAGE_SHIFT))) - 1; =20 /* Create new header for spare chunk. */ spare_ch->level =3D i; @@ -269,13 +274,12 @@ unsigned long alloc_pages(int order) spare_ch->next->pprev =3D &spare_ch->next; free_head[i] =3D spare_ch; } - =20 - map_alloc(PHYS_PFN(to_phys(alloc_ch)), 1UL<level !=3D order) + if ( allocated_in_map(virt_to_pfn(to_merge_ch)) || + to_merge_ch->level !=3D order ) break; - =20 + /* Merge with predecessor */ - freed_ch =3D to_merge_ch; =20 + freed_ch =3D to_merge_ch; } - else=20 + else { to_merge_ch =3D (chunk_head_t *)((char *)freed_ch + mask); - if(allocated_in_map(virt_to_pfn(to_merge_ch)) || - to_merge_ch->level !=3D order) + if ( allocated_in_map(virt_to_pfn(to_merge_ch)) || + to_merge_ch->level !=3D order ) break; - =20 + /* Merge with successor */ freed_ct =3D (chunk_tail_t *)((char *)to_merge_ch + mask) - 1; } - =20 - /* We are commited to merging, unlink the chunk */ + + /* We are committed to merging, unlink the chunk */ *(to_merge_ch->pprev) =3D to_merge_ch->next; to_merge_ch->next->pprev =3D to_merge_ch->pprev; - =20 + order++; } =20 @@ -332,10 +337,10 @@ void free_pages(void *pointer, int order) freed_ch->next =3D free_head[order]; freed_ch->pprev =3D &free_head[order]; freed_ct->level =3D order; - =20 + freed_ch->next->pprev =3D &freed_ch->next; - free_head[order] =3D freed_ch; =20 - =20 + free_head[order] =3D freed_ch; + } EXPORT_SYMBOL(free_pages); =20 @@ -347,6 +352,7 @@ int free_physical_pages(xen_pfn_t *mfns, int n) reservation.nr_extents =3D n; reservation.extent_order =3D 0; reservation.domid =3D DOMID_SELF; + return HYPERVISOR_memory_op(XENMEM_decrease_reservation, &reservation); } =20 @@ -362,16 +368,15 @@ void *sbrk(ptrdiff_t increment) unsigned long old_brk =3D brk; unsigned long new_brk =3D old_brk + increment; =20 - if (new_brk > heap_end) { - printk("Heap exhausted: %lx + %lx =3D %p > %p\n", - old_brk, - (unsigned long) increment, - (void *) new_brk, - (void *) heap_end); - return NULL; + if ( new_brk > heap_end ) + { + printk("Heap exhausted: %lx + %lx =3D %p > %p\n", old_brk, + (unsigned long) increment, (void *)new_brk, (void *)heap_en= d); + return NULL; } - =20 - if (new_brk > heap_mapped) { + + if ( new_brk > heap_mapped ) + { unsigned long n =3D (new_brk - heap_mapped + PAGE_SIZE - 1) / PAGE= _SIZE; =20 if ( !chk_free_pages(n) ) @@ -386,16 +391,13 @@ void *sbrk(ptrdiff_t increment) =20 brk =3D new_brk; =20 - return (void *) old_brk; + return (void *)old_brk; } EXPORT_SYMBOL(sbrk); #endif =20 - - void init_mm(void) { - unsigned long start_pfn, max_pfn; =20 printk("MM: Init\n"); @@ -403,14 +405,12 @@ void init_mm(void) arch_init_mm(&start_pfn, &max_pfn); get_max_pages(); =20 - /* - * now we can initialise the page allocator - */ + /* Now we can initialise the page allocator. */ init_page_allocator(PFN_PHYS(start_pfn), PFN_PHYS(max_pfn)); printk("MM: done\n"); =20 arch_init_p2m(max_pfn); - =20 + arch_init_demand_mapping_area(); } =20 @@ -423,14 +423,15 @@ void sanity_check(void) int x; chunk_head_t *head; =20 - for (x =3D 0; x < FREELIST_SIZE; x++) { - for (head =3D free_head[x]; !FREELIST_EMPTY(head); head =3D head->= next) { + for ( x =3D 0; x < FREELIST_SIZE; x++ ) + { + for ( head =3D free_head[x]; !FREELIST_EMPTY(head); head =3D head-= >next ) + { ASSERT(!allocated_in_map(virt_to_pfn(head))); - if (head->next) + if ( head->next ) ASSERT(head->next->pprev =3D=3D &head->next); } - if (free_head[x]) { + if ( free_head[x] ) ASSERT(free_head[x]->pprev =3D=3D &free_head[x]); - } } } --=20 2.43.0 From nobody Mon Sep 16 18:58:04 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) client-ip=192.237.175.120; envelope-from=xen-devel-bounces@lists.xenproject.org; helo=lists.xenproject.org; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) smtp.mailfrom=xen-devel-bounces@lists.xenproject.org; dmarc=pass(p=quarantine dis=none) header.from=suse.com ARC-Seal: i=1; a=rsa-sha256; t=1721661577; cv=none; d=zohomail.com; s=zohoarc; b=Aq0nr17vnc9FarkZD3tKPcbEi2cWaW7Bcls4FJGFRwr7bUUsfDO3/s0lT1pySKaXTWBOp1PdTB768gcg2DZR5abQ14C57LVi8B2ISdooJ/Vabe4iNWr/p+lXxJkXTCUY1+fq08cMcda0SgSNEoMivKvFSVb6fNLsCrKveOE4kuM= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1721661577; h=Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=nksZ0M2mk6k6WRsqSkuDpYdF4fiT+vkR2yJNQYWtE/8=; b=Mq2D0v4EaDsodbiSjLNehQrk3iGQHzOTIPRWdqluFSgJPvwrLgh46ysX5yi4a53NgCBnKjY9Mf3dWoUt+lWldy24j7pM3Hxp5kgJ4laCnhFSqRkau+Z2lhOccS26Xwwme/ffkY8g2t1/c2lBGxCuDFPcZx8PukclCPGSU2GhGFY= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) smtp.mailfrom=xen-devel-bounces@lists.xenproject.org; dmarc=pass header.from= (p=quarantine dis=none) Return-Path: Received: from lists.xenproject.org (lists.xenproject.org [192.237.175.120]) by mx.zohomail.com with SMTPS id 1721661577606854.1941004546246; Mon, 22 Jul 2024 08:19:37 -0700 (PDT) Received: from list by lists.xenproject.org with outflank-mailman.762122.1172258 (Exim 4.92) (envelope-from ) id 1sVuY2-0001HL-P3; Mon, 22 Jul 2024 15:01:58 +0000 Received: by outflank-mailman (output) from mailman id 762122.1172258; Mon, 22 Jul 2024 15:01:58 +0000 Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1sVuY2-0001HD-MG; Mon, 22 Jul 2024 15:01:58 +0000 Received: by outflank-mailman (input) for mailman id 762122; Mon, 22 Jul 2024 15:01:57 +0000 Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254] helo=se1-gles-sth1.inumbo.com) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1sVuY1-0000sY-RX for xen-devel@lists.xenproject.org; Mon, 22 Jul 2024 15:01:57 +0000 Received: from smtp-out1.suse.de (smtp-out1.suse.de [195.135.223.130]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS id 56594ce2-483b-11ef-bbfe-fd08da9f4363; Mon, 22 Jul 2024 17:01:56 +0200 (CEST) Received: from imap1.dmz-prg2.suse.org (unknown [10.150.64.97]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by smtp-out1.suse.de (Postfix) with ESMTPS id DE9B521B50; Mon, 22 Jul 2024 15:01:55 +0000 (UTC) Received: from imap1.dmz-prg2.suse.org (localhost [127.0.0.1]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by imap1.dmz-prg2.suse.org (Postfix) with ESMTPS id AE64F136A9; Mon, 22 Jul 2024 15:01:55 +0000 (UTC) Received: from dovecot-director2.suse.de ([2a07:de40:b281:106:10:150:64:167]) by imap1.dmz-prg2.suse.org with ESMTPSA id L4IbKWN0nmabVgAAD6G6ig (envelope-from ); Mon, 22 Jul 2024 15:01:55 +0000 X-Outflank-Mailman: Message body and most headers restored to incoming version X-BeenThere: xen-devel@lists.xenproject.org List-Id: Xen developer discussion List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xenproject.org Precedence: list Sender: "Xen-devel" X-Inumbo-ID: 56594ce2-483b-11ef-bbfe-fd08da9f4363 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1; t=1721660515; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc: mime-version:mime-version: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=nksZ0M2mk6k6WRsqSkuDpYdF4fiT+vkR2yJNQYWtE/8=; b=YREmH+Mn5wP1P6us2hwl6Rp6fdztSzc10p1q2IUVtZY0LxLw2v08cEuVdkBjyHZbK1+0Xc htgyQbjr7A2Lcv9yZfZ+g3K7xk54yrMjFe3CSdJWwiz4X2uvssS83tqEwoMj8AvAU7Zj8y +1cCCf5dYaW2JtSSa7QMfhb5vkNvQLw= Authentication-Results: smtp-out1.suse.de; none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1; t=1721660515; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc: mime-version:mime-version: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=nksZ0M2mk6k6WRsqSkuDpYdF4fiT+vkR2yJNQYWtE/8=; b=YREmH+Mn5wP1P6us2hwl6Rp6fdztSzc10p1q2IUVtZY0LxLw2v08cEuVdkBjyHZbK1+0Xc htgyQbjr7A2Lcv9yZfZ+g3K7xk54yrMjFe3CSdJWwiz4X2uvssS83tqEwoMj8AvAU7Zj8y +1cCCf5dYaW2JtSSa7QMfhb5vkNvQLw= From: Juergen Gross To: minios-devel@lists.xenproject.org, xen-devel@lists.xenproject.org Cc: samuel.thibault@ens-lyon.org, wl@xen.org, Juergen Gross Subject: [PATCH 2/4] mini-os: mm: remove not needed struct chunk_tail_st Date: Mon, 22 Jul 2024 17:01:39 +0200 Message-ID: <20240722150141.31391-3-jgross@suse.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20240722150141.31391-1-jgross@suse.com> References: <20240722150141.31391-1-jgross@suse.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-Spam-Score: -2.60 X-Spamd-Result: default: False [-2.60 / 50.00]; BAYES_HAM(-3.00)[100.00%]; MID_CONTAINS_FROM(1.00)[]; NEURAL_HAM_LONG(-1.00)[-1.000]; R_MISSING_CHARSET(0.50)[]; MIME_GOOD(-0.10)[text/plain]; RCVD_VIA_SMTP_AUTH(0.00)[]; ARC_NA(0.00)[]; TO_DN_SOME(0.00)[]; MIME_TRACE(0.00)[0:+]; DKIM_SIGNED(0.00)[suse.com:s=susede1]; FUZZY_BLOCKED(0.00)[rspamd.com]; TO_MATCH_ENVRCPT_ALL(0.00)[]; FROM_HAS_DN(0.00)[]; RCPT_COUNT_FIVE(0.00)[5]; FROM_EQ_ENVFROM(0.00)[]; DBL_BLOCKED_OPENRESOLVER(0.00)[suse.com:email]; RCVD_COUNT_TWO(0.00)[2]; RCVD_TLS_ALL(0.00)[] X-Spam-Level: X-Spam-Flag: NO X-ZohoMail-DKIM: pass (identity @suse.com) X-ZM-MESSAGEID: 1721661578174116600 Content-Type: text/plain; charset="utf-8" The struct chunk_tail_st isn't really used other than writing to it. Remove it in order to simplify the code. Signed-off-by: Juergen Gross Reviewed-by: Samuel Thibault --- mm.c | 20 -------------------- 1 file changed, 20 deletions(-) diff --git a/mm.c b/mm.c index 1dcd954c..2cc49e94 100644 --- a/mm.c +++ b/mm.c @@ -123,7 +123,6 @@ static void map_free(unsigned long first_page, unsigned= long nr_pages) /* BINARY BUDDY ALLOCATOR */ =20 typedef struct chunk_head_st chunk_head_t; -typedef struct chunk_tail_st chunk_tail_t; =20 struct chunk_head_st { chunk_head_t *next; @@ -131,10 +130,6 @@ struct chunk_head_st { int level; }; =20 -struct chunk_tail_st { - int level; -}; - /* Linked lists of free chunks of different powers-of-two in size. */ #define FREELIST_SIZE ((sizeof(void *) << 3) - PAGE_SHIFT) static chunk_head_t *free_head[FREELIST_SIZE]; @@ -151,7 +146,6 @@ static void init_page_allocator(unsigned long min, unsi= gned long max) unsigned long range; unsigned long r_min, r_max; chunk_head_t *ch; - chunk_tail_t *ct; =20 printk("MM: Initialise page allocator for %lx(%lx)-%lx(%lx)\n", (u_long)to_virt(min), min, (u_long)to_virt(max), max); @@ -215,14 +209,12 @@ static void init_page_allocator(unsigned long min, un= signed long max) ch =3D (chunk_head_t *)r_min; r_min +=3D 1UL << i; range -=3D 1UL << i; - ct =3D (chunk_tail_t *)r_min - 1; i -=3D PAGE_SHIFT; ch->level =3D i; ch->next =3D free_head[i]; ch->pprev =3D &free_head[i]; ch->next->pprev =3D &ch->next; free_head[i] =3D ch; - ct->level =3D i; } } =20 @@ -234,7 +226,6 @@ unsigned long alloc_pages(int order) { int i; chunk_head_t *alloc_ch, *spare_ch; - chunk_tail_t *spare_ct; =20 if ( !chk_free_pages(1UL << order) ) goto no_memory; @@ -261,14 +252,11 @@ unsigned long alloc_pages(int order) i--; spare_ch =3D (chunk_head_t *)((char *)alloc_ch + (1UL << (i + PAGE_SHIFT))); - spare_ct =3D (chunk_tail_t *)((char *)spare_ch + - (1UL << (i + PAGE_SHIFT))) - 1; =20 /* Create new header for spare chunk. */ spare_ch->level =3D i; spare_ch->next =3D free_head[i]; spare_ch->pprev =3D &free_head[i]; - spare_ct->level =3D i; =20 /* Link in the spare chunk. */ spare_ch->next->pprev =3D &spare_ch->next; @@ -289,7 +277,6 @@ EXPORT_SYMBOL(alloc_pages); void free_pages(void *pointer, int order) { chunk_head_t *freed_ch, *to_merge_ch; - chunk_tail_t *freed_ct; unsigned long mask; =20 /* First free the chunk */ @@ -297,8 +284,6 @@ void free_pages(void *pointer, int order) =20 /* Create free chunk */ freed_ch =3D (chunk_head_t *)pointer; - freed_ct =3D (chunk_tail_t *)((char *)pointer + - (1UL << (order + PAGE_SHIFT))) - 1; =20 /* Now, possibly we can conseal chunks together */ while ( order < FREELIST_SIZE ) @@ -320,9 +305,6 @@ void free_pages(void *pointer, int order) if ( allocated_in_map(virt_to_pfn(to_merge_ch)) || to_merge_ch->level !=3D order ) break; - - /* Merge with successor */ - freed_ct =3D (chunk_tail_t *)((char *)to_merge_ch + mask) - 1; } =20 /* We are committed to merging, unlink the chunk */ @@ -336,8 +318,6 @@ void free_pages(void *pointer, int order) freed_ch->level =3D order; freed_ch->next =3D free_head[order]; freed_ch->pprev =3D &free_head[order]; - freed_ct->level =3D order; - freed_ch->next->pprev =3D &freed_ch->next; free_head[order] =3D freed_ch; =20 --=20 2.43.0 From nobody Mon Sep 16 18:58:04 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) client-ip=192.237.175.120; envelope-from=xen-devel-bounces@lists.xenproject.org; helo=lists.xenproject.org; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) smtp.mailfrom=xen-devel-bounces@lists.xenproject.org; dmarc=pass(p=quarantine dis=none) header.from=suse.com ARC-Seal: i=1; a=rsa-sha256; t=1721660538; cv=none; d=zohomail.com; s=zohoarc; b=WAinbDE3uXNKH0FnsfqfWRkBSdihemMOj5ALBo9/Q1/wGcNxTsO8i6sZucJo+GqSXh2Qzjhbf3KeDs3i3o4RWblZGGakv7DA6mjLmdsf1Paz5pO1VrQR9BID2Gtfh32T3ETf3zc6wF8cBXUIELkwobeLZKLAgVEjrtxSeXaWQBc= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1721660538; h=Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=Cqa/twmVM9OR6b9NQWSPmCXSs3PkuPb764GnljYHV8Y=; b=RMAg/Y7uiXDdvRmvsrQ86ZlWbSfCOIxyCfglOG+D42q+mZRuSq8mgQFQYUyLpmj2lJOjIS1ojMzwfKbex59voQDPRfYWHGo+3l5mpPZixTIRQsanvYmhRbndpvz/Fpps/FwyvzBelnjSta+4EN18mPgNlzs/yhTcTjvtVjkcEjo= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) smtp.mailfrom=xen-devel-bounces@lists.xenproject.org; dmarc=pass header.from= (p=quarantine dis=none) Return-Path: Received: from lists.xenproject.org (lists.xenproject.org [192.237.175.120]) by mx.zohomail.com with SMTPS id 1721660538437289.0431876451354; Mon, 22 Jul 2024 08:02:18 -0700 (PDT) Received: from list by lists.xenproject.org with outflank-mailman.762126.1172271 (Exim 4.92) (envelope-from ) id 1sVuY9-0001gj-4l; Mon, 22 Jul 2024 15:02:05 +0000 Received: by outflank-mailman (output) from mailman id 762126.1172271; Mon, 22 Jul 2024 15:02:05 +0000 Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1sVuY9-0001ga-1b; Mon, 22 Jul 2024 15:02:05 +0000 Received: by outflank-mailman (input) for mailman id 762126; Mon, 22 Jul 2024 15:02:03 +0000 Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254] helo=se1-gles-sth1.inumbo.com) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1sVuY7-0000sY-GC for xen-devel@lists.xenproject.org; Mon, 22 Jul 2024 15:02:03 +0000 Received: from smtp-out1.suse.de (smtp-out1.suse.de [195.135.223.130]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS id 59b144a6-483b-11ef-bbfe-fd08da9f4363; Mon, 22 Jul 2024 17:02:01 +0200 (CEST) Received: from imap1.dmz-prg2.suse.org (unknown [10.150.64.97]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by smtp-out1.suse.de (Postfix) with ESMTPS id 8016921B50; Mon, 22 Jul 2024 15:02:01 +0000 (UTC) Received: from imap1.dmz-prg2.suse.org (localhost [127.0.0.1]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by imap1.dmz-prg2.suse.org (Postfix) with ESMTPS id 4DFA5136A9; Mon, 22 Jul 2024 15:02:01 +0000 (UTC) Received: from dovecot-director2.suse.de ([2a07:de40:b281:106:10:150:64:167]) by imap1.dmz-prg2.suse.org with ESMTPSA id l4l4EWl0nmajVgAAD6G6ig (envelope-from ); Mon, 22 Jul 2024 15:02:01 +0000 X-Outflank-Mailman: Message body and most headers restored to incoming version X-BeenThere: xen-devel@lists.xenproject.org List-Id: Xen developer discussion List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xenproject.org Precedence: list Sender: "Xen-devel" X-Inumbo-ID: 59b144a6-483b-11ef-bbfe-fd08da9f4363 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1; t=1721660521; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc: mime-version:mime-version: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=Cqa/twmVM9OR6b9NQWSPmCXSs3PkuPb764GnljYHV8Y=; b=OgKluMJAjn+x1h2p8rX38BpdneRC1u+uocS+PBb45If28Gmu2OgYySS68q9x/Xs8eipk/F RAUunhH3THxVgBjhRzZ+ncLfszj36N0Zq43lzmHZzJMeGyRy/13uIZtaGFm3/sOGebB5+V T+iUSFoPh6ek1YEuCskFxxpVY61Dh9o= Authentication-Results: smtp-out1.suse.de; none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1; t=1721660521; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc: mime-version:mime-version: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=Cqa/twmVM9OR6b9NQWSPmCXSs3PkuPb764GnljYHV8Y=; b=OgKluMJAjn+x1h2p8rX38BpdneRC1u+uocS+PBb45If28Gmu2OgYySS68q9x/Xs8eipk/F RAUunhH3THxVgBjhRzZ+ncLfszj36N0Zq43lzmHZzJMeGyRy/13uIZtaGFm3/sOGebB5+V T+iUSFoPh6ek1YEuCskFxxpVY61Dh9o= From: Juergen Gross To: minios-devel@lists.xenproject.org, xen-devel@lists.xenproject.org Cc: samuel.thibault@ens-lyon.org, wl@xen.org, Juergen Gross Subject: [PATCH 3/4] mini-os: mm: reduce buddy allocator list administration data Date: Mon, 22 Jul 2024 17:01:40 +0200 Message-ID: <20240722150141.31391-4-jgross@suse.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20240722150141.31391-1-jgross@suse.com> References: <20240722150141.31391-1-jgross@suse.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-Spam-Score: -2.60 X-Spamd-Result: default: False [-2.60 / 50.00]; BAYES_HAM(-3.00)[100.00%]; MID_CONTAINS_FROM(1.00)[]; NEURAL_HAM_LONG(-1.00)[-1.000]; R_MISSING_CHARSET(0.50)[]; MIME_GOOD(-0.10)[text/plain]; RCVD_VIA_SMTP_AUTH(0.00)[]; ARC_NA(0.00)[]; TO_DN_SOME(0.00)[]; MIME_TRACE(0.00)[0:+]; DKIM_SIGNED(0.00)[suse.com:s=susede1]; FUZZY_BLOCKED(0.00)[rspamd.com]; TO_MATCH_ENVRCPT_ALL(0.00)[]; FROM_HAS_DN(0.00)[]; RCPT_COUNT_FIVE(0.00)[5]; FROM_EQ_ENVFROM(0.00)[]; DBL_BLOCKED_OPENRESOLVER(0.00)[suse.com:email]; RCVD_COUNT_TWO(0.00)[2]; RCVD_TLS_ALL(0.00)[] X-Spam-Level: X-Spam-Flag: NO X-ZohoMail-DKIM: pass (identity @suse.com) X-ZM-MESSAGEID: 1721660548578116600 Content-Type: text/plain; charset="utf-8" Today the administration data for the buddy allocator's lists consists of 2 arrays: one pointer array and one list element array for easier handling of the lists' tails. Those arrays can be combined into one by dropping the pointer array and using a different list end indicator. Add enqueue and dequeue helpers for better readability. Change the level member type to unsigned int. Signed-off-by: Juergen Gross Reviewed-by: Samuel Thibault --- mm.c | 73 ++++++++++++++++++++++++++++-------------------------------- 1 file changed, 34 insertions(+), 39 deletions(-) diff --git a/mm.c b/mm.c index 2cc49e94..96686a5c 100644 --- a/mm.c +++ b/mm.c @@ -125,16 +125,30 @@ static void map_free(unsigned long first_page, unsign= ed long nr_pages) typedef struct chunk_head_st chunk_head_t; =20 struct chunk_head_st { - chunk_head_t *next; - chunk_head_t **pprev; - int level; + chunk_head_t *next; + chunk_head_t *prev; + unsigned int level; }; =20 /* Linked lists of free chunks of different powers-of-two in size. */ #define FREELIST_SIZE ((sizeof(void *) << 3) - PAGE_SHIFT) -static chunk_head_t *free_head[FREELIST_SIZE]; -static chunk_head_t free_tail[FREELIST_SIZE]; -#define FREELIST_EMPTY(_l) ((_l)->next =3D=3D NULL) +static chunk_head_t free_list[FREELIST_SIZE]; +#define FREELIST_EMPTY(_l) ((_l)->level =3D=3D FREELIST_SIZE) + +static void enqueue_elem(chunk_head_t *elem, unsigned int level) +{ + elem->level =3D level; + elem->next =3D free_list[level].next; + elem->prev =3D &free_list[level]; + elem->next->prev =3D elem; + free_list[level].next =3D elem; +} + +static void dequeue_elem(chunk_head_t *elem) +{ + elem->prev->next =3D elem->next; + elem->next->prev =3D elem->prev; +} =20 /* * Initialise allocator, placing addresses [@min,@max] in free pool. @@ -151,9 +165,9 @@ static void init_page_allocator(unsigned long min, unsi= gned long max) (u_long)to_virt(min), min, (u_long)to_virt(max), max); for ( i =3D 0; i < FREELIST_SIZE; i++ ) { - free_head[i] =3D &free_tail[i]; - free_tail[i].pprev =3D &free_head[i]; - free_tail[i].next =3D NULL; + free_list[i].next =3D &free_list[i]; + free_list[i].prev =3D &free_list[i]; + free_list[i].level =3D FREELIST_SIZE; } =20 min =3D round_pgup(min); @@ -209,12 +223,7 @@ static void init_page_allocator(unsigned long min, uns= igned long max) ch =3D (chunk_head_t *)r_min; r_min +=3D 1UL << i; range -=3D 1UL << i; - i -=3D PAGE_SHIFT; - ch->level =3D i; - ch->next =3D free_head[i]; - ch->pprev =3D &free_head[i]; - ch->next->pprev =3D &ch->next; - free_head[i] =3D ch; + enqueue_elem(ch, i - PAGE_SHIFT); } } =20 @@ -233,17 +242,16 @@ unsigned long alloc_pages(int order) /* Find smallest order which can satisfy the request. */ for ( i =3D order; i < FREELIST_SIZE; i++ ) { - if ( !FREELIST_EMPTY(free_head[i]) ) + if ( !FREELIST_EMPTY(free_list[i].next) ) break; } =20 - if ( i =3D=3D FREELIST_SIZE ) + if ( i >=3D FREELIST_SIZE ) goto no_memory; =20 /* Unlink a chunk. */ - alloc_ch =3D free_head[i]; - free_head[i] =3D alloc_ch->next; - alloc_ch->next->pprev =3D alloc_ch->pprev; + alloc_ch =3D free_list[i].next; + dequeue_elem(alloc_ch); =20 /* We may have to break the chunk a number of times. */ while ( i !=3D order ) @@ -254,13 +262,7 @@ unsigned long alloc_pages(int order) (1UL << (i + PAGE_SHIFT))); =20 /* Create new header for spare chunk. */ - spare_ch->level =3D i; - spare_ch->next =3D free_head[i]; - spare_ch->pprev =3D &free_head[i]; - - /* Link in the spare chunk. */ - spare_ch->next->pprev =3D &spare_ch->next; - free_head[i] =3D spare_ch; + enqueue_elem(spare_ch, i); } =20 map_alloc(PHYS_PFN(to_phys(alloc_ch)), 1UL << order); @@ -308,18 +310,13 @@ void free_pages(void *pointer, int order) } =20 /* We are committed to merging, unlink the chunk */ - *(to_merge_ch->pprev) =3D to_merge_ch->next; - to_merge_ch->next->pprev =3D to_merge_ch->pprev; + dequeue_elem(to_merge_ch); =20 order++; } =20 /* Link the new chunk */ - freed_ch->level =3D order; - freed_ch->next =3D free_head[order]; - freed_ch->pprev =3D &free_head[order]; - freed_ch->next->pprev =3D &freed_ch->next; - free_head[order] =3D freed_ch; + enqueue_elem(freed_ch, order); =20 } EXPORT_SYMBOL(free_pages); @@ -405,13 +402,11 @@ void sanity_check(void) =20 for ( x =3D 0; x < FREELIST_SIZE; x++ ) { - for ( head =3D free_head[x]; !FREELIST_EMPTY(head); head =3D head-= >next ) + for ( head =3D free_list[x].next; !FREELIST_EMPTY(head); + head =3D head->next ) { ASSERT(!allocated_in_map(virt_to_pfn(head))); - if ( head->next ) - ASSERT(head->next->pprev =3D=3D &head->next); + ASSERT(head->next->prev =3D=3D head); } - if ( free_head[x] ) - ASSERT(free_head[x]->pprev =3D=3D &free_head[x]); } } --=20 2.43.0 From nobody Mon Sep 16 18:58:04 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) client-ip=192.237.175.120; envelope-from=xen-devel-bounces@lists.xenproject.org; helo=lists.xenproject.org; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) smtp.mailfrom=xen-devel-bounces@lists.xenproject.org; dmarc=pass(p=quarantine dis=none) header.from=suse.com ARC-Seal: i=1; a=rsa-sha256; t=1721660572; cv=none; d=zohomail.com; s=zohoarc; b=ljsgGp97iQwGNsfUcCfqc27VOhNslW+mTAhHWa7+y60L8Pp4rI64EqvkEsoEU/Ii/qu1HgcpNoppkwRC7OfmeNX51TjOdUfuM+KqPCd7EAE6H891XI4tsec75NpzziCVFKEKyenQSnYdwnYQV9QS1tvo/GTWMepxRbjSkSLkZLY= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1721660572; h=Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=mS1uWPpdCrC7UXHpXbDcoLGvGKv0oO3EBtOjFDnnTtg=; b=g6x1yAj81aONBhUPaL2eR0vO4VQ1/UekHaOOxhUbt/B6Nx7VGycqQH9NVyuZYtvs7rAGbPSWwM9NGNRYfkp9jdyrpxblJoFlmz081xnNH5NAE1kCdL/5fXiiAnquc6vVHpZoKbXkaY4vC53sAV8rhMK6AMVtH6leu+P08+xYJy0= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) smtp.mailfrom=xen-devel-bounces@lists.xenproject.org; dmarc=pass header.from= (p=quarantine dis=none) Return-Path: Received: from lists.xenproject.org (lists.xenproject.org [192.237.175.120]) by mx.zohomail.com with SMTPS id 1721660571920166.06984974945374; Mon, 22 Jul 2024 08:02:51 -0700 (PDT) Received: from list by lists.xenproject.org with outflank-mailman.762133.1172282 (Exim 4.92) (envelope-from ) id 1sVuYG-0002Ax-Eg; Mon, 22 Jul 2024 15:02:12 +0000 Received: by outflank-mailman (output) from mailman id 762133.1172282; Mon, 22 Jul 2024 15:02:12 +0000 Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1sVuYG-0002An-9q; Mon, 22 Jul 2024 15:02:12 +0000 Received: by outflank-mailman (input) for mailman id 762133; Mon, 22 Jul 2024 15:02:11 +0000 Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50] helo=se1-gles-flk1.inumbo.com) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1sVuYF-0000bJ-IB for xen-devel@lists.xenproject.org; Mon, 22 Jul 2024 15:02:11 +0000 Received: from smtp-out2.suse.de (smtp-out2.suse.de [195.135.223.131]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS id 5d11f637-483b-11ef-8776-851b0ebba9a2; Mon, 22 Jul 2024 17:02:07 +0200 (CEST) Received: from imap1.dmz-prg2.suse.org (imap1.dmz-prg2.suse.org [IPv6:2a07:de40:b281:104:10:150:64:97]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by smtp-out2.suse.de (Postfix) with ESMTPS id 201B01FB73; Mon, 22 Jul 2024 15:02:07 +0000 (UTC) Received: from imap1.dmz-prg2.suse.org (localhost [127.0.0.1]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by imap1.dmz-prg2.suse.org (Postfix) with ESMTPS id E1AD3136A9; Mon, 22 Jul 2024 15:02:06 +0000 (UTC) Received: from dovecot-director2.suse.de ([2a07:de40:b281:106:10:150:64:167]) by imap1.dmz-prg2.suse.org with ESMTPSA id 9I+bNW50nmaqVgAAD6G6ig (envelope-from ); Mon, 22 Jul 2024 15:02:06 +0000 X-Outflank-Mailman: Message body and most headers restored to incoming version X-BeenThere: xen-devel@lists.xenproject.org List-Id: Xen developer discussion List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xenproject.org Precedence: list Sender: "Xen-devel" X-Inumbo-ID: 5d11f637-483b-11ef-8776-851b0ebba9a2 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1; t=1721660527; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc: mime-version:mime-version: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=mS1uWPpdCrC7UXHpXbDcoLGvGKv0oO3EBtOjFDnnTtg=; b=uW3yZTksYT8ntBDAceHfaSh/P+deWpsM2FkhzyvTtMVkDekj5nwwhwV+T0TegTJfNv67V3 HRPzHxqKxdVqgmtEjIM+JRjBFh3tQ2chhM5IcSYiw1UvBGVdVqTi7qhkBgVe8TxfJiTxp6 BbOxdhmFsaevYvsMIzv7c0DLaZ1x0wI= Authentication-Results: smtp-out2.suse.de; dkim=pass header.d=suse.com header.s=susede1 header.b=uW3yZTks DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1; t=1721660527; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc: mime-version:mime-version: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=mS1uWPpdCrC7UXHpXbDcoLGvGKv0oO3EBtOjFDnnTtg=; b=uW3yZTksYT8ntBDAceHfaSh/P+deWpsM2FkhzyvTtMVkDekj5nwwhwV+T0TegTJfNv67V3 HRPzHxqKxdVqgmtEjIM+JRjBFh3tQ2chhM5IcSYiw1UvBGVdVqTi7qhkBgVe8TxfJiTxp6 BbOxdhmFsaevYvsMIzv7c0DLaZ1x0wI= From: Juergen Gross To: minios-devel@lists.xenproject.org, xen-devel@lists.xenproject.org Cc: samuel.thibault@ens-lyon.org, wl@xen.org, Juergen Gross Subject: [PATCH 4/4] mini-os: remove sanity_check() Date: Mon, 22 Jul 2024 17:01:41 +0200 Message-ID: <20240722150141.31391-5-jgross@suse.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20240722150141.31391-1-jgross@suse.com> References: <20240722150141.31391-1-jgross@suse.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-Spam-Score: -2.81 X-Rspamd-Action: no action X-Spam-Level: X-Rspamd-Server: rspamd1.dmz-prg2.suse.org X-Rspamd-Queue-Id: 201B01FB73 X-Spamd-Result: default: False [-2.81 / 50.00]; BAYES_HAM(-3.00)[100.00%]; MID_CONTAINS_FROM(1.00)[]; NEURAL_HAM_LONG(-1.00)[-1.000]; R_MISSING_CHARSET(0.50)[]; R_DKIM_ALLOW(-0.20)[suse.com:s=susede1]; MIME_GOOD(-0.10)[text/plain]; MX_GOOD(-0.01)[]; DKIM_SIGNED(0.00)[suse.com:s=susede1]; RCVD_COUNT_TWO(0.00)[2]; FUZZY_BLOCKED(0.00)[rspamd.com]; ARC_NA(0.00)[]; TO_DN_SOME(0.00)[]; MIME_TRACE(0.00)[0:+]; FROM_EQ_ENVFROM(0.00)[]; TO_MATCH_ENVRCPT_ALL(0.00)[]; RCPT_COUNT_FIVE(0.00)[5]; DWL_DNSWL_BLOCKED(0.00)[suse.com:dkim]; DNSWL_BLOCKED(0.00)[2a07:de40:b281:106:10:150:64:167:received]; FROM_HAS_DN(0.00)[]; RCVD_VIA_SMTP_AUTH(0.00)[]; RCVD_TLS_ALL(0.00)[]; DKIM_TRACE(0.00)[suse.com:+]; DBL_BLOCKED_OPENRESOLVER(0.00)[suse.com:dkim,suse.com:email] X-Spam-Flag: NO X-ZohoMail-DKIM: pass (identity @suse.com) X-ZM-MESSAGEID: 1721660573897116600 Content-Type: text/plain; charset="utf-8" Remove the sanity_check() function, as it is used nowhere. Since any application linked with Mini-OS can't call sanity_check() either (there is no EXPORT_SYMBOL for it), there is zero chance of breaking any use case. Signed-off-by: Juergen Gross --- include/lib.h | 3 --- mm.c | 16 ---------------- 2 files changed, 19 deletions(-) diff --git a/include/lib.h b/include/lib.h index abd4e9ab..acd4acc6 100644 --- a/include/lib.h +++ b/include/lib.h @@ -152,9 +152,6 @@ do { = \ =20 #define BUG_ON(x) ASSERT(!(x)) =20 -/* Consistency check as much as possible. */ -void sanity_check(void); - /* Get own domid. */ domid_t get_domid(void); =20 diff --git a/mm.c b/mm.c index 96686a5c..1fa7e7bf 100644 --- a/mm.c +++ b/mm.c @@ -394,19 +394,3 @@ void init_mm(void) void fini_mm(void) { } - -void sanity_check(void) -{ - int x; - chunk_head_t *head; - - for ( x =3D 0; x < FREELIST_SIZE; x++ ) - { - for ( head =3D free_list[x].next; !FREELIST_EMPTY(head); - head =3D head->next ) - { - ASSERT(!allocated_in_map(virt_to_pfn(head))); - ASSERT(head->next->prev =3D=3D head); - } - } -} --=20 2.43.0