All of lore.kernel.org
 help / color / mirror / Atom feed
From: Ian Campbell <Ian.Campbell@XenSource.com>
To: Gerd Hoffmann <kraxel@suse.de>
Cc: xen-devel@lists.xensource.com, Magnus Damm <magnus.damm@gmail.com>
Subject: Re: Re: [patch] Add kexec_ops & function pointers
Date: Tue, 12 Dec 2006 16:18:51 +0000	[thread overview]
Message-ID: <1165940331.23643.72.camel@localhost.localdomain> (raw)
In-Reply-To: <457ED515.8020303@suse.de>

On Tue, 2006-12-12 at 17:13 +0100, Gerd Hoffmann wrote:
> Ian Campbell wrote:
> >>> Hiding the indirections through the function table in the header via
> >>> defines or inline functions would make things a lot cleaner in my
> >>> opinion and as a bonus avoid this addition to the sparse tree.
> >> No.  As machine_kexec() continues to exist (and is the default for
> >> kexec_ops.kexec) you can't just turn that into a macro.  You have to
> >> either fix the two callers (as done by the patch) or rename the function
> >> to something different in arch/*/kernel/machine_kexec.c in order to be
> >> able to reuse the name for the macro.
> > 
> > Yes you may need to rename some bits. I was thinking of a solution where
> > you have foo_native, foo_xen0 and foo_xenU functions (or whatever) with
> > an inline foo() which calls through the function table to the correct
> > version.
> 
> Sure.  But renaming machine_kexec() to machine_kexec_native() or simliar
> means touching a big bunch of files, namely
> arch/{lots-of-directories-here}/kernel/machine_kexec.c.  I'd prefer to
> touch only one (kernel/sys.c) to keep the number of changes in the xen
> tree small.

You mean the versions for arch's other than i386 and x86_64? 
arch/{x86_64,i386}/kernel/machine_kexec.c are both in the sparse tree
already.

If you are adding the function table to all architectures then you are
right, changing kernel/sys.c is much simpler. I thought the function
table was an implementation detail on i386 and x86_64 only.

Ian.

      reply	other threads:[~2006-12-12 16:18 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2006-12-08 16:17 [patch] Add kexec_ops & function pointers Gerd Hoffmann
2006-12-12  7:12 ` Magnus Damm
2006-12-12  8:44   ` Gerd Hoffmann
2006-12-12 11:27   ` Ian Campbell
2006-12-12 12:48     ` Gerd Hoffmann
2006-12-12 15:45       ` Ian Campbell
2006-12-12 16:13         ` Gerd Hoffmann
2006-12-12 16:18           ` Ian Campbell [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1165940331.23643.72.camel@localhost.localdomain \
    --to=ian.campbell@xensource.com \
    --cc=kraxel@suse.de \
    --cc=magnus.damm@gmail.com \
    --cc=xen-devel@lists.xensource.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.