From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752138AbcFTC0V (ORCPT ); Sun, 19 Jun 2016 22:26:21 -0400 Received: from mx1.redhat.com ([209.132.183.28]:47211 "EHLO mx1.redhat.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751579AbcFTC0M (ORCPT ); Sun, 19 Jun 2016 22:26:12 -0400 Date: Mon, 20 Jun 2016 10:26:05 +0800 From: Dave Young To: Thiago Jung Bauermann Cc: kexec@lists.infradead.org, linuxppc-dev@lists.ozlabs.org, linux-kernel@vger.kernel.org, Eric Biederman Subject: Re: [PATCH v2 2/9] kexec_file: Generalize kexec_add_buffer. Message-ID: <20160620022605.GA3180@dhcp-128-65.nay.redhat.com> References: <1465916349-3398-1-git-send-email-bauerman@linux.vnet.ibm.com> <16133071.BqvF7Se0c2@hactar> <20160617073523.GA5091@dhcp-128-65.nay.redhat.com> <12025213.W8oVnaovm1@hactar> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <12025213.W8oVnaovm1@hactar> User-Agent: Mutt/1.5.24 (2015-08-30) X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.39]); Mon, 20 Jun 2016 02:26:11 +0000 (UTC) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 06/17/16 at 05:51pm, Thiago Jung Bauermann wrote: > Am Freitag, 17 Juni 2016, 15:35:23 schrieb Dave Young: > > On 06/16/16 at 05:39pm, Thiago Jung Bauermann wrote: > > > Am Donnerstag, 16 Juni 2016, 09:58:53 schrieb Dave Young: > > > > On 06/15/16 at 01:21pm, Thiago Jung Bauermann wrote: > > > > > +int __weak arch_kexec_walk_mem(unsigned int image_type, bool > > > > > top_down, > > > > > + void *data, int (*func)(u64, u64, void *)) > > > > > +{ > > > > > > > > top_down is also not used? > > > > > > It's unused in the default implementation, but the powerpc implementation > > > in patch 8 uses it: > > Well, arch_kexec_walk_mem use kbuf as "data", you can even drop > > "image_type" since kbuf has all you want kbuf->image->type, and > > kbuf->top_down > > > > int __weak arch_kexec_walk_mem(struct kexec_buf *kbuf, > > int (*func)(u64, u64, void *)) > > Sounds good to me, but I had to move struct kexec_buf from > kernel/kexec_internal.h to include/linux/kexec.h. > > Here's the updated patch. What do you think? > > []'s > Thiago Jung Bauermann > IBM Linux Technology Center > > > kexec_file: Generalize kexec_add_buffer. > > Allow architectures to specify different memory walking functions for > kexec_add_buffer. Intel uses iomem to track reserved memory ranges, > but PowerPC uses the memblock subsystem. > > Signed-off-by: Thiago Jung Bauermann > Cc: Eric Biederman > Cc: Dave Young > Cc: kexec@lists.infradead.org > Cc: linux-kernel@vger.kernel.org > > diff --git a/include/linux/kexec.h b/include/linux/kexec.h > index e8acb2b43dd9..d8df01107ae2 100644 > --- a/include/linux/kexec.h > +++ b/include/linux/kexec.h > @@ -201,6 +201,20 @@ struct kimage { > #endif > }; > > +/* > + * Keeps track of buffer parameters as provided by caller for requesting > + * memory placement of buffer. > + */ > +struct kexec_buf { > + struct kimage *image; > + unsigned long mem; > + unsigned long memsz; > + unsigned long buf_align; > + unsigned long buf_min; > + unsigned long buf_max; > + bool top_down; /* allocate from top of memory hole */ > +}; > + kexec_buf should go within #ifdef for kexec file like struct purgatory_info Other than that it looks good. Thanks Dave From mboxrd@z Thu Jan 1 00:00:00 1970 Return-path: Received: from mx1.redhat.com ([209.132.183.28]) by bombadil.infradead.org with esmtps (Exim 4.80.1 #2 (Red Hat Linux)) id 1bEov2-0003Os-VV for kexec@lists.infradead.org; Mon, 20 Jun 2016 02:26:33 +0000 Date: Mon, 20 Jun 2016 10:26:05 +0800 From: Dave Young Subject: Re: [PATCH v2 2/9] kexec_file: Generalize kexec_add_buffer. Message-ID: <20160620022605.GA3180@dhcp-128-65.nay.redhat.com> References: <1465916349-3398-1-git-send-email-bauerman@linux.vnet.ibm.com> <16133071.BqvF7Se0c2@hactar> <20160617073523.GA5091@dhcp-128-65.nay.redhat.com> <12025213.W8oVnaovm1@hactar> MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: <12025213.W8oVnaovm1@hactar> List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Sender: "kexec" Errors-To: kexec-bounces+dwmw2=infradead.org@lists.infradead.org To: Thiago Jung Bauermann Cc: linuxppc-dev@lists.ozlabs.org, kexec@lists.infradead.org, linux-kernel@vger.kernel.org, Eric Biederman On 06/17/16 at 05:51pm, Thiago Jung Bauermann wrote: > Am Freitag, 17 Juni 2016, 15:35:23 schrieb Dave Young: > > On 06/16/16 at 05:39pm, Thiago Jung Bauermann wrote: > > > Am Donnerstag, 16 Juni 2016, 09:58:53 schrieb Dave Young: > > > > On 06/15/16 at 01:21pm, Thiago Jung Bauermann wrote: > > > > > +int __weak arch_kexec_walk_mem(unsigned int image_type, bool > > > > > top_down, > > > > > + void *data, int (*func)(u64, u64, void *)) > > > > > +{ > > > > > > > > top_down is also not used? > > > > > > It's unused in the default implementation, but the powerpc implementation > > > in patch 8 uses it: > > Well, arch_kexec_walk_mem use kbuf as "data", you can even drop > > "image_type" since kbuf has all you want kbuf->image->type, and > > kbuf->top_down > > > > int __weak arch_kexec_walk_mem(struct kexec_buf *kbuf, > > int (*func)(u64, u64, void *)) > > Sounds good to me, but I had to move struct kexec_buf from > kernel/kexec_internal.h to include/linux/kexec.h. > > Here's the updated patch. What do you think? > > []'s > Thiago Jung Bauermann > IBM Linux Technology Center > > > kexec_file: Generalize kexec_add_buffer. > > Allow architectures to specify different memory walking functions for > kexec_add_buffer. Intel uses iomem to track reserved memory ranges, > but PowerPC uses the memblock subsystem. > > Signed-off-by: Thiago Jung Bauermann > Cc: Eric Biederman > Cc: Dave Young > Cc: kexec@lists.infradead.org > Cc: linux-kernel@vger.kernel.org > > diff --git a/include/linux/kexec.h b/include/linux/kexec.h > index e8acb2b43dd9..d8df01107ae2 100644 > --- a/include/linux/kexec.h > +++ b/include/linux/kexec.h > @@ -201,6 +201,20 @@ struct kimage { > #endif > }; > > +/* > + * Keeps track of buffer parameters as provided by caller for requesting > + * memory placement of buffer. > + */ > +struct kexec_buf { > + struct kimage *image; > + unsigned long mem; > + unsigned long memsz; > + unsigned long buf_align; > + unsigned long buf_min; > + unsigned long buf_max; > + bool top_down; /* allocate from top of memory hole */ > +}; > + kexec_buf should go within #ifdef for kexec file like struct purgatory_info Other than that it looks good. Thanks Dave _______________________________________________ kexec mailing list kexec@lists.infradead.org http://lists.infradead.org/mailman/listinfo/kexec