From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1756865AbcBQI0B (ORCPT ); Wed, 17 Feb 2016 03:26:01 -0500 Received: from mail-wm0-f41.google.com ([74.125.82.41]:34127 "EHLO mail-wm0-f41.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1756827AbcBQI0A (ORCPT ); Wed, 17 Feb 2016 03:26:00 -0500 Date: Wed, 17 Feb 2016 09:25:55 +0100 From: Ingo Molnar To: Alexander Kuleshov Cc: Ingo Molnar , Thomas Gleixner , "H . Peter Anvin" , x86@kernel.org, Borislav Petkov , Joerg Roedel , Dave Young , Andrew Morton , Jiri Kosina , Baoquan He , Mark Salter , linux-kernel@vger.kernel.org Subject: Re: [PATCH v4] x86/setup: get ramdisk parameters only once Message-ID: <20160217082555.GA1197@gmail.com> References: <1455183083-23289-1-git-send-email-kuleshovmail@gmail.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <1455183083-23289-1-git-send-email-kuleshovmail@gmail.com> User-Agent: Mutt/1.5.23 (2014-03-12) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org * Alexander Kuleshov wrote: > void __init setup_arch(char **cmdline_p) > { > + struct ramdisk ramdisk_image = { > + .start_addr = get_ramdisk_image(), > + .size = get_ramdisk_size(), > + .reserve_ramdisk = true > + }; > + > + /* Assume only end is not page aligned */ > + ramdisk_image.end_addr = PAGE_ALIGN(ramdisk_image.start_addr + ramdisk_image.size), > + > memblock_reserve(__pa_symbol(_text), > (unsigned long)__bss_stop - (unsigned long)_text); > > - early_reserve_initrd(); > + if (!boot_params.hdr.type_of_loader || !ramdisk_image.start_addr > + || !ramdisk_image.size) Don't do pointless line breaks. > + ramdisk_image.reserve_ramdisk = false; /* No initrd provided by bootloader */ > + else > + memblock_reserve(ramdisk_image.start_addr, > + ramdisk_image.end_addr - ramdisk_image.start_addr); There's a simpler way to write that line ... > /* > * At this point everything still needed from the boot loader > @@ -1135,7 +1137,8 @@ void __init setup_arch(char **cmdline_p) > /* Allocate bigger log buffer */ > setup_log_buf(1); > > - reserve_initrd(); > + if (ramdisk_image.reserve_ramdisk) > + reserve_initrd(&ramdisk_image); It's cleaner to make that check inside reserve_initrd() ... Thanks, Ingo