From: Alex Williamson <alex.williamson@redhat.com>
To: Paul Brook <paul@codesourcery.com>
Cc: Anthony Liguori <anthony@codemonkey.ws>,
qemu-devel@nongnu.org, chrisw@redhat.com, kvm@vger.kernel.org,
quintela@redhat.com
Subject: Re: [Qemu-devel] [RFC PATCH 3/6] RAMBlock: Add a name field
Date: Wed, 09 Jun 2010 10:37:29 -0600 [thread overview]
Message-ID: <1276101449.3079.74.camel@x201> (raw)
In-Reply-To: <201006091318.49556.paul@codesourcery.com>
On Wed, 2010-06-09 at 13:18 +0100, Paul Brook wrote:
> > > > Not all ram is associated with a device.
> > >
> > > Maybe not, but where it is we should be using that information.
> > > Absolute minimum we should be using the existing qdev address rather than
> > > inventing a new one. Duplicating this logic inside every device seems
> > > like a bad idea so I suggest identifying ram blocks by a (name, device)
> > > pair. For now we can allow a NULL device for system memory.
> >
> > I'm not sure if this is what you're after, but what if we change it to
> > something like:
> >
> > + snprintf(name, sizeof(name), "%s.%02x.%x.rom-%s",
> > + pdev->bus->qbus.name, PCI_SLOT(pdev->devfn),
> > + PCI_FUNC(pdev->devfn), pdev->qdev.info->name);
> >
> > This gives us things like "pci.0.03.0.rom-rtl8139". For pci-assign, we
> > can expand on the host details, such as:
> > ..
> > Giving us "pci.0.04.0.bar0-pci-assign(0000:01:10.0)". Anywhere closer?
>
> Not really. This identifier is device and bus independent, which is why I
> suggested passing the device to qemu_ram_alloc. This can then figure out how
> to the identify the device. It should probably do this the same way that we
> identify the saved state for the device. Currently I think this is an
> arbitrary vmstate name/id, but I expect this to change to a qdev address
> (e.g. /i440FX-pcihost/pci.0/_addr_04.0").
Ok, that seems fairly reasonable, so from a device pointer we can get
something like "/i440FX-pcihost/pci.0/_addr_04.0", then we can add
something like ":rom" or ":bar.0" to it via an extra string.
qemu_ram_alloc(DeviceState *dev, const char *info, size)
Does a function already exist to print out a qdev address path? I don't
want to guess at something based on only this example. Is there a
reserved/unused character we can use to separate the qdev device string
from the supplied name? Thanks,
Alex
WARNING: multiple messages have this Message-ID (diff)
From: Alex Williamson <alex.williamson@redhat.com>
To: Paul Brook <paul@codesourcery.com>
Cc: chrisw@redhat.com, quintela@redhat.com, qemu-devel@nongnu.org,
kvm@vger.kernel.org
Subject: Re: [Qemu-devel] [RFC PATCH 3/6] RAMBlock: Add a name field
Date: Wed, 09 Jun 2010 10:37:29 -0600 [thread overview]
Message-ID: <1276101449.3079.74.camel@x201> (raw)
In-Reply-To: <201006091318.49556.paul@codesourcery.com>
On Wed, 2010-06-09 at 13:18 +0100, Paul Brook wrote:
> > > > Not all ram is associated with a device.
> > >
> > > Maybe not, but where it is we should be using that information.
> > > Absolute minimum we should be using the existing qdev address rather than
> > > inventing a new one. Duplicating this logic inside every device seems
> > > like a bad idea so I suggest identifying ram blocks by a (name, device)
> > > pair. For now we can allow a NULL device for system memory.
> >
> > I'm not sure if this is what you're after, but what if we change it to
> > something like:
> >
> > + snprintf(name, sizeof(name), "%s.%02x.%x.rom-%s",
> > + pdev->bus->qbus.name, PCI_SLOT(pdev->devfn),
> > + PCI_FUNC(pdev->devfn), pdev->qdev.info->name);
> >
> > This gives us things like "pci.0.03.0.rom-rtl8139". For pci-assign, we
> > can expand on the host details, such as:
> > ..
> > Giving us "pci.0.04.0.bar0-pci-assign(0000:01:10.0)". Anywhere closer?
>
> Not really. This identifier is device and bus independent, which is why I
> suggested passing the device to qemu_ram_alloc. This can then figure out how
> to the identify the device. It should probably do this the same way that we
> identify the saved state for the device. Currently I think this is an
> arbitrary vmstate name/id, but I expect this to change to a qdev address
> (e.g. /i440FX-pcihost/pci.0/_addr_04.0").
Ok, that seems fairly reasonable, so from a device pointer we can get
something like "/i440FX-pcihost/pci.0/_addr_04.0", then we can add
something like ":rom" or ":bar.0" to it via an extra string.
qemu_ram_alloc(DeviceState *dev, const char *info, size)
Does a function already exist to print out a qdev address path? I don't
want to guess at something based on only this example. Is there a
reserved/unused character we can use to separate the qdev device string
from the supplied name? Thanks,
Alex
next prev parent reply other threads:[~2010-06-09 16:55 UTC|newest]
Thread overview: 94+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-06-08 19:14 [RFC PATCH 0/6] RAM migration overhaul Alex Williamson
2010-06-08 19:14 ` [Qemu-devel] " Alex Williamson
2010-06-08 19:15 ` [RFC PATCH 1/6] qemu_ram_alloc: Remove duplicate code Alex Williamson
2010-06-08 19:15 ` [Qemu-devel] " Alex Williamson
2010-06-08 21:00 ` Chris Wright
2010-06-08 21:00 ` [Qemu-devel] " Chris Wright
2010-06-08 19:15 ` [RFC PATCH 2/6] ram_blocks: Convert to a QLIST Alex Williamson
2010-06-08 19:15 ` [Qemu-devel] " Alex Williamson
2010-06-08 21:26 ` Chris Wright
2010-06-08 21:26 ` [Qemu-devel] " Chris Wright
2010-06-08 21:45 ` Alex Williamson
2010-06-08 21:45 ` [Qemu-devel] " Alex Williamson
2010-06-08 21:51 ` Chris Wright
2010-06-08 21:51 ` [Qemu-devel] " Chris Wright
2010-06-09 8:19 ` Juan Quintela
2010-06-09 8:19 ` [Qemu-devel] " Juan Quintela
2010-06-09 20:11 ` [Qemu-devel] " Cam Macdonell
2010-06-09 20:11 ` Cam Macdonell
2010-06-09 20:55 ` Alex Williamson
2010-06-09 20:55 ` Alex Williamson
2010-06-09 21:12 ` Yoshiaki Tamura
2010-06-09 21:12 ` Yoshiaki Tamura
2010-06-08 19:15 ` [RFC PATCH 3/6] RAMBlock: Add a name field Alex Williamson
2010-06-08 19:15 ` [Qemu-devel] " Alex Williamson
2010-06-08 20:07 ` Anthony Liguori
2010-06-08 20:07 ` [Qemu-devel] " Anthony Liguori
2010-06-08 20:09 ` Alex Williamson
2010-06-08 20:09 ` [Qemu-devel] " Alex Williamson
2010-06-08 21:41 ` Chris Wright
2010-06-08 21:41 ` [Qemu-devel] " Chris Wright
2010-06-09 3:13 ` Alex Williamson
2010-06-09 3:13 ` [Qemu-devel] " Alex Williamson
2010-06-09 11:55 ` Avi Kivity
2010-06-09 11:55 ` [Qemu-devel] " Avi Kivity
2010-06-09 12:56 ` Paul Brook
2010-06-09 12:56 ` Paul Brook
2010-06-09 2:30 ` [Qemu-devel] " Paul Brook
2010-06-09 2:30 ` Paul Brook
2010-06-09 2:40 ` Anthony Liguori
2010-06-09 2:40 ` Anthony Liguori
2010-06-09 2:54 ` Paul Brook
2010-06-09 2:54 ` Paul Brook
2010-06-09 4:19 ` Alex Williamson
2010-06-09 4:19 ` Alex Williamson
2010-06-09 12:18 ` Paul Brook
2010-06-09 12:18 ` Paul Brook
2010-06-09 16:37 ` Alex Williamson [this message]
2010-06-09 16:37 ` Alex Williamson
2010-06-09 20:36 ` Paul Brook
2010-06-09 20:36 ` Paul Brook
2010-06-10 8:23 ` Gerd Hoffmann
2010-06-10 8:23 ` Gerd Hoffmann
2010-06-10 14:33 ` Alex Williamson
2010-06-10 14:33 ` Alex Williamson
2010-06-10 14:49 ` Paul Brook
2010-06-10 14:49 ` Paul Brook
2010-06-10 15:21 ` Alex Williamson
2010-06-10 15:21 ` Alex Williamson
2010-06-11 8:48 ` Gerd Hoffmann
2010-06-11 8:48 ` Gerd Hoffmann
2010-06-11 15:50 ` Alex Williamson
2010-06-11 15:50 ` Alex Williamson
2010-06-11 16:12 ` Paul Brook
2010-06-11 16:12 ` Paul Brook
2010-06-11 8:45 ` Gerd Hoffmann
2010-06-11 8:45 ` Gerd Hoffmann
2010-06-10 15:05 ` Alex Williamson
2010-06-10 15:05 ` Alex Williamson
2010-06-10 16:40 ` Chris Wright
2010-06-10 16:40 ` Chris Wright
2010-06-10 16:45 ` Paul Brook
2010-06-10 16:45 ` Paul Brook
2010-06-09 11:58 ` Avi Kivity
2010-06-09 11:58 ` Avi Kivity
2010-06-09 13:57 ` Anthony Liguori
2010-06-09 13:57 ` Anthony Liguori
2010-06-09 14:09 ` Paul Brook
2010-06-09 14:09 ` Paul Brook
2010-06-09 7:28 ` Gerd Hoffmann
2010-06-09 7:28 ` Gerd Hoffmann
2010-06-08 19:16 ` [RFC PATCH 4/6] Remove uses of ram.last_offset (aka last_ram_offset) Alex Williamson
2010-06-08 19:16 ` [Qemu-devel] " Alex Williamson
2010-06-08 19:16 ` [RFC PATCH 5/6] savevm: Migrate RAM based on name/offset Alex Williamson
2010-06-08 19:16 ` [Qemu-devel] " Alex Williamson
2010-06-08 20:12 ` Anthony Liguori
2010-06-08 20:12 ` [Qemu-devel] " Anthony Liguori
2010-06-08 21:12 ` Alex Williamson
2010-06-08 21:12 ` [Qemu-devel] " Alex Williamson
2010-06-08 20:54 ` Chris Wright
2010-06-08 20:54 ` [Qemu-devel] " Chris Wright
2010-06-08 21:22 ` Alex Williamson
2010-06-08 21:22 ` [Qemu-devel] " Alex Williamson
2010-06-08 19:16 ` [RFC PATCH 6/6] savevm: Use RAM blocks for basis of migration Alex Williamson
2010-06-08 19:16 ` [Qemu-devel] " Alex Williamson
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=1276101449.3079.74.camel@x201 \
--to=alex.williamson@redhat.com \
--cc=anthony@codemonkey.ws \
--cc=chrisw@redhat.com \
--cc=kvm@vger.kernel.org \
--cc=paul@codesourcery.com \
--cc=qemu-devel@nongnu.org \
--cc=quintela@redhat.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.