All of lore.kernel.org
 help / color / mirror / Atom feed
* Re: Out of memory error with git rebase
From: Junio C Hamano @ 2011-10-31 20:21 UTC (permalink / raw)
  To: Hannu Koivisto; +Cc: git
In-Reply-To: <83r51ta1rq.fsf@kalahari.s2.org>

Hannu Koivisto <azure@iki.fi> writes:

> From the documentation I can't figure out any reason why one
> wouldn't always want to use -m.  Why is it not the default?  I
> think it's pretty much impossible for ordinary users to figure out
> that they need -m in a situation like this.

Because most people do not have too large binary blobs in the history, and
at least when "rebase" was originally written, merge-based rebasing was
way slower than patch-based one.

^ permalink raw reply

* Re: Reference has invalid format: check maybe a bit to harsh?
From: Junio C Hamano @ 2011-10-31 20:19 UTC (permalink / raw)
  To: Michael Haggerty; +Cc: Peter Oberndorfer, git
In-Reply-To: <7vty6pos20.fsf@alter.siamese.dyndns.org>

Junio C Hamano <gitster@pobox.com> writes:

> I agree that we would want to give users an escape hatch.  That is, if we
> can make something like this to work:
>
>     c=$(git rev-parse --force refs/patches/obd_development/blah:_vari...)
>     git update-ref refs/patches/obd_development/blah--various-improvements $c

Also we would need to be able to say

    git update-ref -d refs/patches/obd_development/blah:_vari...

to get rid of the offending one.

> I think we would be in a good shape.

Having said all that, I think we should in general loosen the checks done
on the reading side a lot more. The "checks" themselves should stay, can
give loud warnings, and even can error out when appropriate, but in an
operation that is necessary to recover from _existing_ breakage (like the
one in this thread, a file with a colon in its name in .git/refs/), the
ability to read and to remove is essential for recovery.

I vaguely recall we had to apply a fix in the same spirit to loosen
reading side after the offending topic was merged to 'master' during this
cycle about $GIT_DIR/config not possibly being a ref getting warned, or
something.

Michael, what do you think?

^ permalink raw reply

* Re: [Qemu-devel] [PATCH v2 2/4] softfloat: Avoid uint16 type conflict on Darwin
From: Andreas Färber @ 2011-10-31 19:17 UTC (permalink / raw)
  To: Peter Maydell; +Cc: Juan Pineda, qemu-devel
In-Reply-To: <CAFEAcA_F6D7+piuuH3=GqM_6C345+e__wRKPufevEHbJnVah+Q@mail.gmail.com>

Am 31.10.2011 20:42, schrieb Peter Maydell:
> On 31 October 2011 19:18, Andreas Färber <andreas.faerber@web.de> wrote:
>> --- a/fpu/softfloat.h
>> +++ b/fpu/softfloat.h
>> @@ -54,6 +54,9 @@ these four paragraphs for those parts of this code that are retained.
>>  | to the same as `int'.
>>  *----------------------------------------------------------------------------*/
>>  typedef uint8_t flag;
>> +#ifdef __APPLE__
>> +#define uint16 qemu_uint16
>> +#endif
>>  typedef uint8_t uint8;
>>  typedef int8_t int8;
>>  #ifndef _AIX
> 
> I hate this, but I don't think I quite hate it enough to leave compilation
> on Macs broken in 1.0...
> 
> Ideally we should just make a decision about whether we want option
> (1) or (2) from
> http://permalink.gmane.org/gmane.comp.emulators.qemu/115848

That's what "more general solution" refers to.

At this point in time though I'd much prefer to commit a non-intrusive
three-line quickfix (which we can easily remove later on) than no
solution at all or than to refactor lots of softfloat code.

Andreas

^ permalink raw reply

* [PATCH 2/3] staging: nvec: add device tree support
From: Stephen Warren @ 2011-10-31 20:18 UTC (permalink / raw)
  To: linux-arm-kernel
In-Reply-To: <04ffd9770698b7efb119b92fa379eb2e2698e223.1320088857.git.marvin24@gmx.de>

Marc Dietrich wrote at Monday, October 31, 2011 1:59 PM:
> This adds device tree support to the nvec driver. By using this method
> it is no longer necessary to specify platform data through a board
> file.
...
> diff --git a/drivers/staging/nvec/nvec.c b/drivers/staging/nvec/nvec.c
...
> +	if (pdata) {
> +		nvec->gpio = pdata->gpio;
> +		nvec->i2c_addr = pdata->i2c_addr;
> +	} else if (nvec->dev->of_node) {
> +		nvec->gpio = of_get_named_gpio(nvec->dev->of_node, "request-gpios", 0);
> +		if (nvec->gpio < 0) {
> +			dev_err(&pdev->dev, "no gpio specified");
> +			goto failed;
> +		}

> +		prop = of_get_property(nvec->dev->of_node, "slave-addr", NULL);
> +		if (!prop) {
> +			dev_err(&pdev->dev, "no i2c address specified");
> +			goto failed;
> +		}
> +		nvec->i2c_addr = be32_to_cpup(prop);

----------==========----------==========----------==========----------==========
Don't you want to use of_property_read_u32() here to simplify the code
slightly? You can also get rid of at least one #include that way.

> +	} else {
> +		dev_err(&pdev->dev, "no platform data\n");
> +		goto failed;
> +	}

-- 
nvpublic

^ permalink raw reply

* RE: [PATCH 2/3] staging: nvec: add device tree support
From: Stephen Warren @ 2011-10-31 20:18 UTC (permalink / raw)
  To: Marc Dietrich,
	linux-tegra-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
  Cc: Olof Johansson, Colin Cross, linux-arm-kernel,
	devel-gWbeCf7V1WCQmaza687I9mD2FQJk+8+b@public.gmane.org, Greg KH,
	Julian Andres Klode, Grant Likely
In-Reply-To: <04ffd9770698b7efb119b92fa379eb2e2698e223.1320088857.git.marvin24-Mmb7MZpHnFY@public.gmane.org>

Marc Dietrich wrote at Monday, October 31, 2011 1:59 PM:
> This adds device tree support to the nvec driver. By using this method
> it is no longer necessary to specify platform data through a board
> file.
...
> diff --git a/drivers/staging/nvec/nvec.c b/drivers/staging/nvec/nvec.c
...
> +	if (pdata) {
> +		nvec->gpio = pdata->gpio;
> +		nvec->i2c_addr = pdata->i2c_addr;
> +	} else if (nvec->dev->of_node) {
> +		nvec->gpio = of_get_named_gpio(nvec->dev->of_node, "request-gpios", 0);
> +		if (nvec->gpio < 0) {
> +			dev_err(&pdev->dev, "no gpio specified");
> +			goto failed;
> +		}

> +		prop = of_get_property(nvec->dev->of_node, "slave-addr", NULL);
> +		if (!prop) {
> +			dev_err(&pdev->dev, "no i2c address specified");
> +			goto failed;
> +		}
> +		nvec->i2c_addr = be32_to_cpup(prop);

----------==========----------==========----------==========----------==========
Don't you want to use of_property_read_u32() here to simplify the code
slightly? You can also get rid of at least one #include that way.

> +	} else {
> +		dev_err(&pdev->dev, "no platform data\n");
> +		goto failed;
> +	}

-- 
nvpublic

^ permalink raw reply

* Re: sparse checkout using exclusions
From: Eric Raible @ 2011-10-31 20:16 UTC (permalink / raw)
  To: Ramkumar Ramachandra; +Cc: git@vger.kernel.org
In-Reply-To: <CALkWK0=X4O9jBbx_ZDXbtnDCmTb9fHbm13Z-pqTNBooA0Z=c0g@mail.gmail.com>

On 10/28/2011 10:46 PM, Ramkumar Ramachandra wrote:
> 
> This issue was fixed in 5e821231 (git-read-tree.txt: update sparse
> checkout examples, 2011-09-26).
> 
> Cheers.
> 
> -- Ram

git tag -l --contains => v1.7.8-rc0

I'm running 1.7.7.1.msysgit.0, so I don't have it yet.
And neither do any of the online man pages I could find.

But I'm happy that it's fixed.  And the commit message is
better than what I would have come up with.

Thanks - Eric

^ permalink raw reply

* [U-Boot] [PATCH v2 5/8] nand: Merge new implementation of 1-bit ECC from Linux nand driver
From: Scott Wood @ 2011-10-31 20:15 UTC (permalink / raw)
  To: u-boot
In-Reply-To: <4EAE9311.8040907@aizo.com>

On 10/31/2011 07:22 AM, Christian Hitz wrote:
> Am 29.10.2011 00:30, schrieb Scott Wood:
>> On 10/12/2011 02:32 AM, Christian Hitz wrote:
>>> [backport from linux commit 02f8c6aee8df3cdc935e9bdd4f2d020306035dbe]
>>>
>>> This patch synchronizes the nand driver with the Linux 3.0 state.
>>>
>>> Signed-off-by: Christian Hitz <christian.hitz@aizo.com>
>>> Cc: Scott Wood <scottwood@freescale.com>
>>> ---
>>>
>>> Adds 1416 bytes to the image size.
>>
>> What does this version of the code do that warrants the code size
>> increase?  This could break some SPLs.
>>
>> If it's just a speed issue, we probably want to stick with the current code.
> 
> It's the rewrite for performance and support for 512 byte pages, but this is
> on the basis of the rewritten code.

Several SPLs make use of nand_ecc.c, so NACK replacing it with a larger
implementation.

We could have the new ECC implementation available as a build-time
alternative, though.

-Scott

^ permalink raw reply

* Re: [PATCH] mm: add free_hot_cold_page_list helper
From: Andrew Morton @ 2011-10-31 20:14 UTC (permalink / raw)
  To: Minchan Kim; +Cc: Konstantin Khlebnikov, linux-mm, linux-kernel
In-Reply-To: <CAEwNFnBFNzrPoen-oM7DdB1QA5-cmUqAFABO7WxzZpiQacA7Fg@mail.gmail.com>

On Mon, 29 Aug 2011 16:48:46 +0900
Minchan Kim <minchan.kim@gmail.com> wrote:

> On Fri, Jul 29, 2011 at 4:58 PM, Konstantin Khlebnikov
> <khlebnikov@openvz.org> wrote:
> > This patch adds helper free_hot_cold_page_list() to free list of 0-order pages.
> > It frees pages directly from list without temporary page-vector.
> > It also calls trace_mm_pagevec_free() to simulate pagevec_free() behaviour.
> >
> > bloat-o-meter:
> >
> > add/remove: 1/1 grow/shrink: 1/3 up/down: 267/-295 (-28)
> > function                                     old     new   delta
> > free_hot_cold_page_list                        -     264    +264
> > get_page_from_freelist                      2129    2132      +3
> >  pagevec_free                               243     239      -4
> > split_free_page                              380     373      -7
> > release_pages                                606     510     -96
> > free_page_list                               188       -    -188
> >
> > Signed-off-by: Konstantin Khlebnikov <khlebnikov@openvz.org>
> > ---
> >  include/linux/gfp.h |    1 +
> >  mm/page_alloc.c     |   12 ++++++++++++
> >  mm/swap.c           |   14 +++-----------
> >  mm/vmscan.c         |   20 +-------------------
> >  4 files changed, 17 insertions(+), 30 deletions(-)
> >
> > diff --git a/include/linux/gfp.h b/include/linux/gfp.h
> > index cb40892..dd7b9cc 100644
> > --- a/include/linux/gfp.h
> > +++ b/include/linux/gfp.h
> > @@ -358,6 +358,7 @@ void *alloc_pages_exact_nid(int nid, size_t size, gfp_t gfp_mask);
> >  extern void  free_pages(struct page *page, unsigned int order);
> >  extern void free_pages(unsigned long addr, unsigned int order);
> >  extern void free_hot_cold_page(struct page *page, int cold);
> > +extern void free_hot_cold_page_list(struct list_head *list, int cold);
> >
> >  #define  free_page(page)  free_pages((page), 0)
> >  #define free_page(addr) free_pages((addr), 0)
> > diff --git a/mm/page_alloc.c b/mm/page_alloc.c
> > index 1dbcf88..af486e4 100644
> > --- a/mm/page_alloc.c
> > +++ b/mm/page_alloc.c
> > @@ -1209,6 +1209,18 @@ out:
> >        local_irq_restore(flags);
> >  }
> >
> > +void free_hot_cold_page_list(struct list_head *list, int cold)
> > +{
> > +       struct page *page, *next;
> > +
> > +       list_for_each_entry_safe(page, next, list, lru) {
> > +               trace_mm_pagevec_free(page, cold);
> 
> 
> I understand you want to minimize changes without breaking current ABI
> with trace tools.
> But apparently, It's not a pagvec_free. It just hurts readability.
> As I take a look at the code, mm_pagevec_free isn't related to pagevec
> but I guess it can represent 0-order pages free because 0-order pages
> are freed only by pagevec until now.
> So, how about renaming it with mm_page_free or mm_page_free_zero_order?
> If you do, you need to do s/MM_PAGEVEC_FREE/MM_FREE_FREE/g in
> trace-pagealloc-postprocess.pl.
> 
> 
> > +               free_hot_cold_page(page, cold);
> > +       }
> > +
> > +       INIT_LIST_HEAD(list);
> 
> Why do we need it?

My email has been horrid for a couple of months (fixed now), so I might
have missed any reply to Minchin's review comments?

--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org.  For more info on Linux MM,
see: http://www.linux-mm.org/ .
Fight unfair telecom internet charges in Canada: sign http://stopthemeter.ca/
Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>

^ permalink raw reply

* Re: [PATCH] mm: add free_hot_cold_page_list helper
From: Andrew Morton @ 2011-10-31 20:14 UTC (permalink / raw)
  To: Minchan Kim; +Cc: Konstantin Khlebnikov, linux-mm, linux-kernel
In-Reply-To: <CAEwNFnBFNzrPoen-oM7DdB1QA5-cmUqAFABO7WxzZpiQacA7Fg@mail.gmail.com>

On Mon, 29 Aug 2011 16:48:46 +0900
Minchan Kim <minchan.kim@gmail.com> wrote:

> On Fri, Jul 29, 2011 at 4:58 PM, Konstantin Khlebnikov
> <khlebnikov@openvz.org> wrote:
> > This patch adds helper free_hot_cold_page_list() to free list of 0-order pages.
> > It frees pages directly from list without temporary page-vector.
> > It also calls trace_mm_pagevec_free() to simulate pagevec_free() behaviour.
> >
> > bloat-o-meter:
> >
> > add/remove: 1/1 grow/shrink: 1/3 up/down: 267/-295 (-28)
> > function                                     old     new   delta
> > free_hot_cold_page_list                        -     264    +264
> > get_page_from_freelist                      2129    2132      +3
> >  pagevec_free                               243     239      -4
> > split_free_page                              380     373      -7
> > release_pages                                606     510     -96
> > free_page_list                               188       -    -188
> >
> > Signed-off-by: Konstantin Khlebnikov <khlebnikov@openvz.org>
> > ---
> >  include/linux/gfp.h |    1 +
> >  mm/page_alloc.c     |   12 ++++++++++++
> >  mm/swap.c           |   14 +++-----------
> >  mm/vmscan.c         |   20 +-------------------
> >  4 files changed, 17 insertions(+), 30 deletions(-)
> >
> > diff --git a/include/linux/gfp.h b/include/linux/gfp.h
> > index cb40892..dd7b9cc 100644
> > --- a/include/linux/gfp.h
> > +++ b/include/linux/gfp.h
> > @@ -358,6 +358,7 @@ void *alloc_pages_exact_nid(int nid, size_t size, gfp_t gfp_mask);
> >  extern void  free_pages(struct page *page, unsigned int order);
> >  extern void free_pages(unsigned long addr, unsigned int order);
> >  extern void free_hot_cold_page(struct page *page, int cold);
> > +extern void free_hot_cold_page_list(struct list_head *list, int cold);
> >
> >  #define  free_page(page)  free_pages((page), 0)
> >  #define free_page(addr) free_pages((addr), 0)
> > diff --git a/mm/page_alloc.c b/mm/page_alloc.c
> > index 1dbcf88..af486e4 100644
> > --- a/mm/page_alloc.c
> > +++ b/mm/page_alloc.c
> > @@ -1209,6 +1209,18 @@ out:
> >        local_irq_restore(flags);
> >  }
> >
> > +void free_hot_cold_page_list(struct list_head *list, int cold)
> > +{
> > +       struct page *page, *next;
> > +
> > +       list_for_each_entry_safe(page, next, list, lru) {
> > +               trace_mm_pagevec_free(page, cold);
> 
> 
> I understand you want to minimize changes without breaking current ABI
> with trace tools.
> But apparently, It's not a pagvec_free. It just hurts readability.
> As I take a look at the code, mm_pagevec_free isn't related to pagevec
> but I guess it can represent 0-order pages free because 0-order pages
> are freed only by pagevec until now.
> So, how about renaming it with mm_page_free or mm_page_free_zero_order?
> If you do, you need to do s/MM_PAGEVEC_FREE/MM_FREE_FREE/g in
> trace-pagealloc-postprocess.pl.
> 
> 
> > +               free_hot_cold_page(page, cold);
> > +       }
> > +
> > +       INIT_LIST_HEAD(list);
> 
> Why do we need it?

My email has been horrid for a couple of months (fixed now), so I might
have missed any reply to Minchin's review comments?


^ permalink raw reply

* [PATCH 3/3] arm/dt: tegra: add dts file for paz00
From: Stephen Warren @ 2011-10-31 20:14 UTC (permalink / raw)
  To: linux-arm-kernel
In-Reply-To: <855f09f77c03a9f081818a03effdbd3bf7a30c91.1320088857.git.marvin24@gmx.de>

Marc Dietrich wrote at Monday, October 31, 2011 1:59 PM:
> This adds a dts file for paz00. As a side effect, this also enables
> the embedded controller which controls the keyboard, touchpad, power,
> leds, and some other functions.
...
> +	serial at 70006000 {
> +		clock-frequency = <216000000>;
> +	};
> +
> +	serial at 70006040 {
> +		status = "disable";
> +	};
> +
> +	serial at 70006200 {
> +		status = "disable";
> +	};
> +
> +	serial at 70006300 {
> +		clock-frequency = <216000000>;
> +	};

Don't you also want to disable serial at 70006400, or set a clock rate for
it?

-- 
nvpublic

^ permalink raw reply

* RE: [PATCH 3/3] arm/dt: tegra: add dts file for paz00
From: Stephen Warren @ 2011-10-31 20:14 UTC (permalink / raw)
  To: Marc Dietrich,
	linux-tegra-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
  Cc: Olof Johansson, Colin Cross, linux-arm-kernel, Grant Likely
In-Reply-To: <855f09f77c03a9f081818a03effdbd3bf7a30c91.1320088857.git.marvin24-Mmb7MZpHnFY@public.gmane.org>

Marc Dietrich wrote at Monday, October 31, 2011 1:59 PM:
> This adds a dts file for paz00. As a side effect, this also enables
> the embedded controller which controls the keyboard, touchpad, power,
> leds, and some other functions.
...
> +	serial@70006000 {
> +		clock-frequency = <216000000>;
> +	};
> +
> +	serial@70006040 {
> +		status = "disable";
> +	};
> +
> +	serial@70006200 {
> +		status = "disable";
> +	};
> +
> +	serial@70006300 {
> +		clock-frequency = <216000000>;
> +	};

Don't you also want to disable serial@70006400, or set a clock rate for
it?

-- 
nvpublic

^ permalink raw reply

* Xen 4.1.2 PVHVM guest with Linux 3.1.0 network problem, empty MAC address (all zeroes)
From: Pasi Kärkkäinen @ 2011-10-31 20:13 UTC (permalink / raw)
  To: xen-devel; +Cc: xen

[-- Attachment #1: Type: text/plain, Size: 4998 bytes --]

Hello,

While testing Fedora 16 Xen PVHVM guests I noticed the following problem:

When starting F16 PVHVM guest I can see the vifX.0 and tapX.0 interfaces appear on dom0, 
but after the guest kernel (Linux 3.1.0) starts and loads PVHVM drivers the 
vif/tap interfaces disappear from dom0.. 
so the bridge in dom0 doesn't have any vifs/taps connected to it anymore.

Has anyone seen that behaviour? 

I bet that's also the reason why eth0 inside the PVHVM guest 
has a MAC address with only zeroes in it: 00:00:00:00:00:00.

If I disable PVHVM with "xen_platform_pci=0" in the domain cfgfile
then network for the guest works OK using the qemu-dm emulated nic.

PVHVM guest cfgfile:

kernel = "hvmloader"
builder='hvm'
device_model = 'qemu-dm'
name = "f16pvhvm"
memory = 1024
vcpus=1
pae=1
acpi=1
apic=1
vif = [ 'type=ioemu, mac=00:16:5f:03:01:15, bridge=virbr0, model=e1000' ]
disk = [ 'phy:/dev/vg_f16/f16pvhvm,hda,w', 'file:/root/iso/Fedora-16-Final-RC2-x86_64-DVD.iso,hdc:cdrom,r' ]
boot='cd'
xen_platform_pci=1
on_poweroff = 'destroy'
on_reboot   = 'restart'
on_crash    = 'restart'
sdl=0
vnc=1
vncpasswd=''
stdvga=0
serial='pty'
tsc_mode=0
usb=1
usbdevice='tablet'
keymap='fi'

Some output from inside the PVHVM guest:

# ifconfig eth0
eth0      Link encap:Ethernet  HWaddr 00:00:00:00:00:00
          BROADCAST MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:0 (0.0 b)  TX bytes:0 (0.0 b)

# ethtool eth0
Settings for eth0:
        Link detected: no

# ethtool -i eth0
driver: vif
version:
firmware-version:
bus-info: vif-0
supports-statistics: yes
supports-test: no
supports-eeprom-access: no
supports-register-dump: no

Full PVHVM guest kernel (Linux 3.1.0) dmesg attached to this email.
Some parts of the guest dmesg here:

$ egrep -i 'xen|vif' xen-4.1.2-f16pvhvm-linux-3.1.0-dmesg.txt
[    0.000000] DMI: Xen HVM domU, BIOS 4.1.2 10/21/2011
[    0.000000] Hypervisor detected: Xen HVM
[    0.000000] Xen version 4.1.
[    0.000000] Xen Platform PCI: I/O protocol version 1
[    0.000000] Netfront and the Xen platform PCI driver have been compiled for this kernel: unplug emulated NICs.
[    0.000000] Blkfront and the Xen platform PCI driver have been compiled for this kernel: unplug emulated disks.
[    0.000000] ACPI: RSDP 00000000000ea020 00024 (v02    Xen)
[    0.000000] ACPI: XSDT 00000000fc0134b0 00034 (v01    Xen      HVM 00000000 HVML 00000000)
[    0.000000] ACPI: FACP 00000000fc0132d0 000F4 (v04    Xen      HVM 00000000 HVML 00000000)
[    0.000000] ACPI: DSDT 00000000fc003440 0FE05 (v02    Xen      HVM 00000000 INTL 20100528)
[    0.000000] ACPI: APIC 00000000fc0133d0 000D8 (v02    Xen      HVM 00000000 HVML 00000000)
[    0.000000] Booting paravirtualized kernel on Xen HVM
[    0.000000] Xen HVM callback vector for event delivery is enabled
[    0.167992] Xen: using vcpuop timer interface
[    0.167998] installing Xen timer for CPU 0
[    1.761867] xen/balloon: Initialising balloon driver.
[    1.763774] xen-balloon: Initialising balloon driver.
[    1.777781] Switching to clocksource xen
[    1.911620] xen: --> pirq=16 -> irq=8 (gsi=8)
[    1.911716] xen: --> pirq=17 -> irq=12 (gsi=12)
[    1.911786] xen: --> pirq=18 -> irq=1 (gsi=1)
[    1.911856] xen: --> pirq=19 -> irq=6 (gsi=6)
[    1.911934] xen: --> pirq=20 -> irq=4 (gsi=4)
[    1.912011] xen: --> pirq=21 -> irq=7 (gsi=7)
[    3.246196] xen: --> pirq=22 -> irq=28 (gsi=28)
[    3.246201] xen-platform-pci 0000:00:03.0: PCI INT A -> GSI 28 (level, low) -> IRQ 28
[    3.451348] xen: --> pirq=23 -> irq=23 (gsi=23)
[    4.273081] XENBUS: Device with no driver: device/vfb/0
[    4.286483] XENBUS: Device with no driver: device/vbd/768
[    4.302078] XENBUS: Device with no driver: device/vbd/5632
[    4.316760] XENBUS: Device with no driver: device/vif/0
[    4.331416] XENBUS: Device with no driver: device/console/0
[    5.296770] vbd vbd-5632: 19 xenbus_dev_probe on device/vbd/5632
[    9.747194] Initialising Xen virtual ethernet driver.
[    9.754392] vif vif-0: 2 parsing device/vif/0/mac


dom0 kernel (Linux 3.1.0 aswell) messages:

[ 1759.102852] device tap4.0 entered promiscuous mode
[ 1759.102914] virbr0: topology change detected, propagating
[ 1759.102920] virbr0: port 2(tap4.0) entering forwarding state
[ 1759.102931] virbr0: port 2(tap4.0) entering forwarding state
[ 1759.271512] virbr0: port 2(tap4.0) entering forwarding state
[ 1759.282639] virbr0: topology change detected, propagating
[ 1759.282647] virbr0: port 2(tap4.0) entering forwarding state
[ 1759.282654] virbr0: port 2(tap4.0) entering forwarding state
[ 1759.298054] device vif4.0 entered promiscuous mode
[ 1759.301103] ADDRCONF(NETDEV_UP): vif4.0: link is not ready
[ 1769.895245] tap4.0: no IPv6 routers present


"xm log" doesn't have any errors.
Any ideas how to fix this? Why do the vif/tap devices disappear from dom0?

Thanks,


-- Pasi


[-- Attachment #2: xen-4.1.2-f16pvhvm-linux-3.1.0-dmesg.txt --]
[-- Type: text/plain, Size: 36693 bytes --]

[    0.000000] Initializing cgroup subsys cpuset
[    0.000000] Initializing cgroup subsys cpu
[    0.000000] Linux version 3.1.0-5.fc16.x86_64 (mockbuild@x86-10.phx2.fedoraproject.org) (gcc version 4.6.1 20111003 (Red Hat 4.6.1-10) (GCC) ) #1 SMP Thu Oct 27 03:46:50 UTC 2011
[    0.000000] Command line: BOOT_IMAGE=/vmlinuz-3.1.0-5.fc16.x86_64 root=UUID=e8610da3-e470-45ab-9723-bbf51d177f64 ro rd.md=0 rd.lvm=0 rd.dm=0 SYSFONT=latarcyrheb-sun16 rhgb KEYTABLE=fi rd.luks=0 LANG=en_US.UTF-8 console=ttyS0,38400 console=tty0
[    0.000000] BIOS-provided physical RAM map:
[    0.000000]  BIOS-e820: 0000000000000000 - 000000000009e000 (usable)
[    0.000000]  BIOS-e820: 000000000009e000 - 00000000000a0000 (reserved)
[    0.000000]  BIOS-e820: 00000000000e0000 - 0000000000100000 (reserved)
[    0.000000]  BIOS-e820: 0000000000100000 - 0000000040000000 (usable)
[    0.000000]  BIOS-e820: 00000000fc000000 - 0000000100000000 (reserved)
[    0.000000] Using x86 segment limits to approximate NX protection
[    0.000000] DMI 2.4 present.
[    0.000000] DMI: Xen HVM domU, BIOS 4.1.2 10/21/2011
[    0.000000] Hypervisor detected: Xen HVM
[    0.000000] Xen version 4.1.
[    0.000000] Xen Platform PCI: I/O protocol version 1
[    0.000000] Netfront and the Xen platform PCI driver have been compiled for this kernel: unplug emulated NICs.
[    0.000000] Blkfront and the Xen platform PCI driver have been compiled for this kernel: unplug emulated disks.
[    0.000000] You might have to change the root device
[    0.000000] from /dev/hd[a-d] to /dev/xvd[a-d]
[    0.000000] in your root= kernel command line option
[    0.000000] HVMOP_pagetable_dying not supported
[    0.000000] e820 update range: 0000000000000000 - 0000000000010000 (usable) ==> (reserved)
[    0.000000] e820 remove range: 00000000000a0000 - 0000000000100000 (usable)
[    0.000000] No AGP bridge found
[    0.000000] last_pfn = 0x40000 max_arch_pfn = 0x400000000
[    0.000000] MTRR default type: write-back
[    0.000000] MTRR fixed ranges enabled:
[    0.000000]   00000-9FFFF write-back
[    0.000000]   A0000-BFFFF write-combining
[    0.000000]   C0000-FFFFF write-back
[    0.000000] MTRR variable ranges enabled:
[    0.000000]   0 base 0F0000000 mask FF8000000 uncachable
[    0.000000]   1 base 0F8000000 mask FFC000000 uncachable
[    0.000000]   2 disabled
[    0.000000]   3 disabled
[    0.000000]   4 disabled
[    0.000000]   5 disabled
[    0.000000]   6 disabled
[    0.000000]   7 disabled
[    0.000000] x86 PAT enabled: cpu 0, old 0x7040600070406, new 0x7010600070106
[    0.000000] found SMP MP-table at [ffff8800000fbc70] fbc70
[    0.000000] initial memory mapped : 0 - 20000000
[    0.000000] Base memory trampoline at [ffff880000099000] 99000 size 20480
[    0.000000] init_memory_mapping: 0000000000000000-0000000040000000
[    0.000000]  0000000000 - 0040000000 page 2M
[    0.000000] kernel direct mapping tables up to 40000000 @ 1fffe000-20000000
[    0.000000] RAMDISK: 3601e000 - 37007000
[    0.000000] ACPI: RSDP 00000000000ea020 00024 (v02    Xen)
[    0.000000] ACPI: XSDT 00000000fc0134b0 00034 (v01    Xen      HVM 00000000 HVML 00000000)
[    0.000000] ACPI: FACP 00000000fc0132d0 000F4 (v04    Xen      HVM 00000000 HVML 00000000)
[    0.000000] ACPI: DSDT 00000000fc003440 0FE05 (v02    Xen      HVM 00000000 INTL 20100528)
[    0.000000] ACPI: FACS 00000000fc003400 00040
[    0.000000] ACPI: APIC 00000000fc0133d0 000D8 (v02    Xen      HVM 00000000 HVML 00000000)
[    0.000000] ACPI: Local APIC address 0xfee00000
[    0.000000] No NUMA configuration found
[    0.000000] Faking a node at 0000000000000000-0000000040000000
[    0.000000] Initmem setup node 0 0000000000000000-0000000040000000
[    0.000000]   NODE_DATA [000000003ffec000 - 000000003fffffff]
[    0.000000]  [ffffea0000000000-ffffea0000ffffff] PMD -> [ffff88003e600000-ffff88003f5fffff] on node 0
[    0.000000] Zone PFN ranges:
[    0.000000]   DMA      0x00000010 -> 0x00001000
[    0.000000]   DMA32    0x00001000 -> 0x00100000
[    0.000000]   Normal   empty
[    0.000000] Movable zone start PFN for each node
[    0.000000] early_node_map[2] active PFN ranges
[    0.000000]     0: 0x00000010 -> 0x0000009e
[    0.000000]     0: 0x00000100 -> 0x00040000
[    0.000000] On node 0 totalpages: 262030
[    0.000000]   DMA zone: 64 pages used for memmap
[    0.000000]   DMA zone: 5 pages reserved
[    0.000000]   DMA zone: 3913 pages, LIFO batch:0
[    0.000000]   DMA32 zone: 4032 pages used for memmap
[    0.000000]   DMA32 zone: 254016 pages, LIFO batch:31
[    0.000000] ACPI: PM-Timer IO Port: 0xb008
[    0.000000] ACPI: Local APIC address 0xfee00000
[    0.000000] ACPI: LAPIC (acpi_id[0x00] lapic_id[0x00] enabled)
[    0.000000] ACPI: LAPIC (acpi_id[0x01] lapic_id[0x02] disabled)
[    0.000000] ACPI: LAPIC (acpi_id[0x02] lapic_id[0x04] disabled)
[    0.000000] ACPI: LAPIC (acpi_id[0x03] lapic_id[0x06] disabled)
[    0.000000] ACPI: LAPIC (acpi_id[0x04] lapic_id[0x08] disabled)
[    0.000000] ACPI: LAPIC (acpi_id[0x05] lapic_id[0x0a] disabled)
[    0.000000] ACPI: LAPIC (acpi_id[0x06] lapic_id[0x0c] disabled)
[    0.000000] ACPI: LAPIC (acpi_id[0x07] lapic_id[0x0e] disabled)
[    0.000000] ACPI: LAPIC (acpi_id[0x08] lapic_id[0x10] disabled)
[    0.000000] ACPI: LAPIC (acpi_id[0x09] lapic_id[0x12] disabled)
[    0.000000] ACPI: LAPIC (acpi_id[0x0a] lapic_id[0x14] disabled)
[    0.000000] ACPI: LAPIC (acpi_id[0x0b] lapic_id[0x16] disabled)
[    0.000000] ACPI: LAPIC (acpi_id[0x0c] lapic_id[0x18] disabled)
[    0.000000] ACPI: LAPIC (acpi_id[0x0d] lapic_id[0x1a] disabled)
[    0.000000] ACPI: LAPIC (acpi_id[0x0e] lapic_id[0x1c] disabled)
[    0.000000] ACPI: IOAPIC (id[0x01] address[0xfec00000] gsi_base[0])
[    0.000000] IOAPIC[0]: apic_id 1, version 17, address 0xfec00000, GSI 0-47
[    0.000000] ACPI: INT_SRC_OVR (bus 0 bus_irq 0 global_irq 2 dfl dfl)
[    0.000000] ACPI: INT_SRC_OVR (bus 0 bus_irq 5 global_irq 5 low level)
[    0.000000] ACPI: INT_SRC_OVR (bus 0 bus_irq 10 global_irq 10 low level)
[    0.000000] ACPI: INT_SRC_OVR (bus 0 bus_irq 11 global_irq 11 low level)
[    0.000000] ACPI: IRQ0 used by override.
[    0.000000] ACPI: IRQ2 used by override.
[    0.000000] ACPI: IRQ5 used by override.
[    0.000000] ACPI: IRQ9 used by override.
[    0.000000] ACPI: IRQ10 used by override.
[    0.000000] ACPI: IRQ11 used by override.
[    0.000000] Using ACPI (MADT) for SMP configuration information
[    0.000000] SMP: Allowing 15 CPUs, 14 hotplug CPUs
[    0.000000] nr_irqs_gsi: 64
[    0.000000] PM: Registered nosave memory: 000000000009e000 - 00000000000a0000
[    0.000000] PM: Registered nosave memory: 00000000000a0000 - 00000000000e0000
[    0.000000] PM: Registered nosave memory: 00000000000e0000 - 0000000000100000
[    0.000000] Allocating PCI resources starting at 40000000 (gap: 40000000:bc000000)
[    0.000000] Booting paravirtualized kernel on Xen HVM
[    0.000000] setup_percpu: NR_CPUS:256 nr_cpumask_bits:256 nr_cpu_ids:15 nr_node_ids:1
[    0.000000] PERCPU: Embedded 27 pages/cpu @ffff88003fc00000 s81024 r8192 d21376 u131072
[    0.000000] pcpu-alloc: s81024 r8192 d21376 u131072 alloc=1*2097152
[    0.000000] pcpu-alloc: [0] 00 01 02 03 04 05 06 07 08 09 10 11 12 13 14 -- 
[    0.000000] Built 1 zonelists in Node order, mobility grouping on.  Total pages: 257929
[    0.000000] Policy zone: DMA32
[    0.000000] Kernel command line: BOOT_IMAGE=/vmlinuz-3.1.0-5.fc16.x86_64 root=UUID=e8610da3-e470-45ab-9723-bbf51d177f64 ro rd.md=0 rd.lvm=0 rd.dm=0 SYSFONT=latarcyrheb-sun16 rhgb KEYTABLE=fi rd.luks=0 LANG=en_US.UTF-8 console=ttyS0,38400 console=tty0
[    0.000000] PID hash table entries: 4096 (order: 3, 32768 bytes)
[    0.000000] Checking aperture...
[    0.000000] No AGP bridge found
[    0.000000] Calgary: detecting Calgary via BIOS EBDA area
[    0.000000] Calgary: Unable to locate Rio Grande table in EBDA - bailing!
[    0.000000] Memory: 999440k/1048576k available (4867k kernel code, 456k absent, 48680k reserved, 6782k data, 940k init)
[    0.000000] SLUB: Genslabs=15, HWalign=64, Order=0-3, MinObjects=0, CPUs=15, Nodes=1
[    0.000000] Hierarchical RCU implementation.
[    0.000000] 	RCU dyntick-idle grace-period acceleration is enabled.
[    0.000000] NR_IRQS:16640 nr_irqs:1208 16
[    0.000000] Xen HVM callback vector for event delivery is enabled
[    0.000000] Console: colour VGA+ 80x25
[    0.000000] console [tty0] enabled
[    0.000000] console [ttyS0] enabled
[    0.000000] allocated 8388608 bytes of page_cgroup
[    0.000000] please try 'cgroup_disable=memory' option if you don't want memory cgroups
[    0.000000] Detected 2677.230 MHz processor.
[    0.004999] Calibrating delay loop (skipped), value calculated using timer frequency.. 5354.46 BogoMIPS (lpj=2677230)
[    0.012004] pid_max: default: 32768 minimum: 301
[    0.016041] Security Framework initialized
[    0.020011] SELinux:  Initializing.
[    0.023012] SELinux:  Starting in permissive mode
[    0.023180] Dentry cache hash table entries: 131072 (order: 8, 1048576 bytes)
[    0.029266] Inode-cache hash table entries: 65536 (order: 7, 524288 bytes)
[    0.034109] Mount-cache hash table entries: 256
[    0.038180] Initializing cgroup subsys cpuacct
[    0.042007] Initializing cgroup subsys memory
[    0.046014] Initializing cgroup subsys devices
[    0.049001] Initializing cgroup subsys freezer
[    0.053000] Initializing cgroup subsys net_cls
[    0.057000] Initializing cgroup subsys blkio
[    0.060005] Initializing cgroup subsys perf_event
[    0.064068] CPU: Physical Processor ID: 0
[    0.066998] CPU: Processor Core ID: 0
[    0.070000] mce: CPU supports 9 MCE banks
[    0.074147] SMP alternatives: switching to UP code
[    0.086589] ACPI: Core revision 20110623
[    0.100337] ftrace: allocating 25204 entries in 99 pages
[    0.136594] Not enabling x2apic, Intr-remapping init failed.
[    0.140991] Switched APIC routing to physical flat.
[    0.146264] ..TIMER: vector=0x30 apic1=0 pin1=2 apic2=0 pin2=0
[    0.161850] CPU0: Intel(R) Core(TM) i5 CPU       M 560  @ 2.67GHz stepping 05
[    0.167992] Xen: using vcpuop timer interface
[    0.167998] installing Xen timer for CPU 0
[    0.171043] Performance Events: unsupported p6 CPU model 37 no PMU driver, software events only.
[    0.177069] NMI watchdog disabled (cpu0): hardware events not enabled
[    0.178007] Brought up 1 CPUs
[    0.178991] Total of 1 processors activated (5354.46 BogoMIPS).
[    0.182998] devtmpfs: initialized
[    0.216074] atomic64 test passed for x86-64 platform with CX8 and with SSE
[    0.217015] RTC time: 19:57:16, date: 10/31/11
[    0.218028] NET: Registered protocol family 16
[    0.220073] ACPI: bus type pci registered
[    0.222984] PCI: Using configuration type 1 for base access
[    0.231053] bio: create slab <bio-0> at 0
[    0.232074] ACPI: Added _OSI(Module Device)
[    0.232985] ACPI: Added _OSI(Processor Device)
[    0.233993] ACPI: Added _OSI(3.0 _SCP Extensions)
[    0.234985] ACPI: Added _OSI(Processor Aggregator Device)
[    0.250047] ACPI: EC: Look up EC in DSDT
[    0.293982] ACPI: Interpreter enabled
[    0.294982] ACPI: (supports S0 S3 S4 S5)
[    0.299980] ACPI: Using IOAPIC for interrupt routing
[    0.579024] ACPI: No dock devices found.
[    0.579936] HEST: Table not found.
[    0.580937] PCI: Using host bridge windows from ACPI; if necessary, use "pci=nocrs" and report a bug
[    0.582000] ACPI: PCI Root Bridge [PCI0] (domain 0000 [bus 00-ff])
[    0.583939] pci_root PNP0A03:00: host bridge window [io  0x0000-0x0cf7]
[    0.584936] pci_root PNP0A03:00: host bridge window [io  0x0d00-0xffff]
[    0.585952] pci_root PNP0A03:00: host bridge window [mem 0x000a0000-0x000bffff]
[    0.586946] pci_root PNP0A03:00: host bridge window [mem 0xf0000000-0xfbffffff]
[    0.589078] pci 0000:00:00.0: [8086:1237] type 0 class 0x000600
[    0.609937] pci 0000:00:01.0: [8086:7000] type 0 class 0x000601
[    0.636013] pci 0000:00:01.1: [8086:7010] type 0 class 0x000101
[    0.653931] pci 0000:00:01.1: reg 20: [io  0xc160-0xc16f]
[    0.665927] pci 0000:00:01.2: [8086:7020] type 0 class 0x000c03
[    0.682062] pci 0000:00:01.2: reg 20: [io  0xc140-0xc15f]
[    0.691041] pci 0000:00:01.3: [8086:7113] type 0 class 0x000680
[    0.691922] * Found PM-Timer Bug on the chipset. Due to workarounds for a bug,
[    0.691924] * this clock source is slow. Consider trying other clock sources
[    0.716007] pci 0000:00:01.3: quirk: [io  0xb000-0xb03f] claimed by PIIX4 ACPI
[    0.724924] pci 0000:00:02.0: [1013:00b8] type 0 class 0x000300
[    0.728921] pci 0000:00:02.0: reg 10: [mem 0xf0000000-0xf1ffffff pref]
[    0.732920] pci 0000:00:02.0: reg 14: [mem 0xf3020000-0xf3020fff]
[    0.758041] pci 0000:00:03.0: [5853:0001] type 0 class 0x00ff80
[    0.763917] pci 0000:00:03.0: reg 10: [io  0xc000-0xc0ff]
[    0.767915] pci 0000:00:03.0: reg 14: [mem 0xf2000000-0xf2ffffff pref]
[    0.797014] ACPI: PCI Interrupt Routing Table [\_SB_.PCI0._PRT]
[    0.801991]  pci0000:00: Unable to request _OSC control (_OSC support mask: 0x1e)
[    1.737775] ACPI: PCI Interrupt Link [LNKA] (IRQs *5 10 11)
[    1.743959] ACPI: PCI Interrupt Link [LNKB] (IRQs 5 *10 11)
[    1.749915] ACPI: PCI Interrupt Link [LNKC] (IRQs 5 10 *11)
[    1.756024] ACPI: PCI Interrupt Link [LNKD] (IRQs *5 10 11)
[    1.761867] xen/balloon: Initialising balloon driver.
[    1.762757] last_pfn = 0x40000 max_arch_pfn = 0x400000000
[    1.763774] xen-balloon: Initialising balloon driver.
[    1.764889] vgaarb: device added: PCI:0000:00:02.0,decodes=io+mem,owns=io+mem,locks=none
[    1.765756] vgaarb: loaded
[    1.766755] vgaarb: bridge control possible 0000:00:02.0
[    1.767835] SCSI subsystem initialized
[    1.768816] libata version 3.00 loaded.
[    1.768869] usbcore: registered new interface driver usbfs
[    1.769774] usbcore: registered new interface driver hub
[    1.770781] usbcore: registered new device driver usb
[    1.771831] PCI: Using ACPI for IRQ routing
[    1.772754] PCI: pci_cache_line_size set to 64 bytes
[    1.773918] reserve RAM buffer: 000000000009e000 - 000000000009ffff 
[    1.774022] NetLabel: Initializing
[    1.774772] NetLabel:  domain hash size = 128
[    1.775760] NetLabel:  protocols = UNLABELED CIPSOv4
[    1.776798] NetLabel:  unlabeled traffic allowed by default
[    1.777781] Switching to clocksource xen
[    1.779061] Switched to NOHz mode on CPU #0
[    1.806153] pnp: PnP ACPI init
[    1.816380] ACPI: bus type pnp registered
[    1.833328] pnp 00:00: [mem 0x00000000-0x0009ffff]
[    1.833401] system 00:00: [mem 0x00000000-0x0009ffff] could not be reserved
[    1.857643] system 00:00: Plug and Play ACPI device, IDs PNP0c02 (active)
[    1.857765] pnp 00:01: [bus 00-ff]
[    1.857773] pnp 00:01: [io  0x0cf8-0x0cff]
[    1.857776] pnp 00:01: [io  0x0000-0x0cf7 window]
[    1.857779] pnp 00:01: [io  0x0d00-0xffff window]
[    1.857782] pnp 00:01: [mem 0x000a0000-0x000bffff window]
[    1.857785] pnp 00:01: [mem 0xf0000000-0xfbffffff window]
[    1.857835] pnp 00:01: Plug and Play ACPI device, IDs PNP0a03 (active)
[    1.857850] pnp 00:02: [io  0x10c0-0x1141]
[    1.857853] pnp 00:02: [io  0xb044-0xb047]
[    1.857896] system 00:02: [io  0x10c0-0x1141] has been reserved
[    1.866763] system 00:02: [io  0xb044-0xb047] has been reserved
[    1.879580] system 00:02: Plug and Play ACPI device, IDs PNP0c02 (active)
[    1.879646] pnp 00:03: [io  0x0010-0x001f]
[    1.879650] pnp 00:03: [io  0x0022-0x002d]
[    1.879654] pnp 00:03: [io  0x0030-0x003f]
[    1.879657] pnp 00:03: [io  0x0044-0x005f]
[    1.879660] pnp 00:03: [io  0x0062-0x0063]
[    1.879663] pnp 00:03: [io  0x0065-0x006f]
[    1.879667] pnp 00:03: [io  0x0072-0x007f]
[    1.879669] pnp 00:03: [io  0x0080]
[    1.879672] pnp 00:03: [io  0x0084-0x0086]
[    1.879674] pnp 00:03: [io  0x0088]
[    1.879676] pnp 00:03: [io  0x008c-0x008e]
[    1.879678] pnp 00:03: [io  0x0090-0x009f]
[    1.879680] pnp 00:03: [io  0x00a2-0x00bd]
[    1.879682] pnp 00:03: [io  0x00e0-0x00ef]
[    1.879684] pnp 00:03: [io  0x08a0-0x08a3]
[    1.879686] pnp 00:03: [io  0x0cc0-0x0ccf]
[    1.879689] pnp 00:03: [io  0x04d0-0x04d1]
[    1.879740] system 00:03: [io  0x08a0-0x08a3] has been reserved
[    1.892361] system 00:03: [io  0x0cc0-0x0ccf] has been reserved
[    1.906307] system 00:03: [io  0x04d0-0x04d1] has been reserved
[    1.911503] system 00:03: Plug and Play ACPI device, IDs PNP0c02 (active)
[    1.911534] pnp 00:04: [dma 4]
[    1.911537] pnp 00:04: [io  0x0000-0x000f]
[    1.911539] pnp 00:04: [io  0x0081-0x0083]
[    1.911540] pnp 00:04: [io  0x0087]
[    1.911542] pnp 00:04: [io  0x0089-0x008b]
[    1.911544] pnp 00:04: [io  0x008f]
[    1.911546] pnp 00:04: [io  0x00c0-0x00df]
[    1.911547] pnp 00:04: [io  0x0480-0x048f]
[    1.911593] pnp 00:04: Plug and Play ACPI device, IDs PNP0200 (active)
[    1.911605] pnp 00:05: [io  0x0070-0x0071]
[    1.911620] xen: --> pirq=16 -> irq=8 (gsi=8)
[    1.911630] pnp 00:05: [irq 8]
[    1.911654] pnp 00:05: Plug and Play ACPI device, IDs PNP0b00 (active)
[    1.911663] pnp 00:06: [io  0x0061]
[    1.911683] pnp 00:06: Plug and Play ACPI device, IDs PNP0800 (active)
[    1.911716] xen: --> pirq=17 -> irq=12 (gsi=12)
[    1.911719] pnp 00:07: [irq 12]
[    1.911746] pnp 00:07: Plug and Play ACPI device, IDs PNP0f13 (active)
[    1.911770] pnp 00:08: [io  0x0060]
[    1.911773] pnp 00:08: [io  0x0064]
[    1.911786] xen: --> pirq=18 -> irq=1 (gsi=1)
[    1.911789] pnp 00:08: [irq 1]
[    1.911821] pnp 00:08: Plug and Play ACPI device, IDs PNP0303 PNP030b (active)
[    1.911843] pnp 00:09: [io  0x03f0-0x03f5]
[    1.911846] pnp 00:09: [io  0x03f7]
[    1.911856] xen: --> pirq=19 -> irq=6 (gsi=6)
[    1.911858] pnp 00:09: [irq 6]
[    1.911860] pnp 00:09: [dma 2]
[    1.911888] pnp 00:09: Plug and Play ACPI device, IDs PNP0700 (active)
[    1.911923] pnp 00:0a: [io  0x03f8-0x03ff]
[    1.911934] xen: --> pirq=20 -> irq=4 (gsi=4)
[    1.911936] pnp 00:0a: [irq 4]
[    1.911967] pnp 00:0a: Plug and Play ACPI device, IDs PNP0501 (active)
[    1.912001] pnp 00:0b: [io  0x0378-0x037f]
[    1.912011] xen: --> pirq=21 -> irq=7 (gsi=7)
[    1.912013] pnp 00:0b: [irq 7]
[    1.912036] pnp 00:0b: Plug and Play ACPI device, IDs PNP0400 (active)
[    1.971036] pnp: PnP ACPI: found 12 devices
[    1.980681] ACPI: ACPI bus type pnp unregistered
[    2.003011] PCI: max bus depth: 0 pci_try_num: 1
[    2.003023] pci_bus 0000:00: resource 4 [io  0x0000-0x0cf7]
[    2.003027] pci_bus 0000:00: resource 5 [io  0x0d00-0xffff]
[    2.003031] pci_bus 0000:00: resource 6 [mem 0x000a0000-0x000bffff]
[    2.003035] pci_bus 0000:00: resource 7 [mem 0xf0000000-0xfbffffff]
[    2.003109] NET: Registered protocol family 2
[    2.013194] IP route cache hash table entries: 32768 (order: 6, 262144 bytes)
[    2.035442] TCP established hash table entries: 131072 (order: 9, 2097152 bytes)
[    2.059486] TCP bind hash table entries: 65536 (order: 8, 1048576 bytes)
[    2.091850] TCP: Hash tables configured (established 131072 bind 65536)
[    2.130990] TCP reno registered
[    2.138597] UDP hash table entries: 512 (order: 2, 16384 bytes)
[    2.152240] UDP-Lite hash table entries: 512 (order: 2, 16384 bytes)
[    2.174421] NET: Registered protocol family 1
[    2.187797] pci 0000:00:00.0: Limiting direct PCI/PCI transfers
[    2.201151] pci 0000:00:01.0: PIIX3: Enabling Passive Release
[    2.224757] pci 0000:00:01.0: Activating ISA DMA hang workarounds
[    2.242034] pci 0000:00:02.0: Boot video device
[    2.242185] PCI: CLS 0 bytes, default 64
[    2.242263] Unpacking initramfs...
[    2.632193] Freeing initrd memory: 16292k freed
[    2.643653] alg: No test for __gcm-aes-aesni (__driver-gcm-aes-aesni)
[    2.649498] audit: initializing netlink socket (disabled)
[    2.654485] type=2000 audit(1320091039.982:1): initialized
[    2.686580] HugeTLB registered 2 MB page size, pre-allocated 0 pages
[    2.698196] VFS: Disk quotas dquot_6.5.2
[    2.702807] Dquot-cache hash table entries: 512 (order 0, 4096 bytes)
[    2.708719] msgmni has been set to 1983
[    2.712769] SELinux:  Registering netfilter hooks
[    2.713094] alg: No test for stdrng (krng)
[    2.716950] NET: Registered protocol family 38
[    2.720927] Block layer SCSI generic (bsg) driver version 0.4 loaded (major 253)
[    2.728691] io scheduler noop registered
[    2.732789] io scheduler deadline registered
[    2.741702] io scheduler cfq registered (default)
[    2.750846] pci_hotplug: PCI Hot Plug PCI Core version: 0.5
[    2.760782] pciehp: PCI Express Hot Plug Controller Driver version: 0.4
[    2.778915] acpiphp: ACPI Hot Plug PCI Controller Driver version: 0.5
[    2.786455] acpiphp: Slot [0] registered
[    2.792549] acpiphp: Slot [1] registered
[    2.797038] acpiphp: Slot [2] registered
[    2.801808] acpiphp: Slot [3] registered
[    2.814981] acpiphp: Slot [4] registered
[    2.823436] acpiphp: Slot [5] registered
[    2.830502] acpiphp: Slot [6] registered
[    2.834640] acpiphp: Slot [7] registered
[    2.843245] acpiphp: Slot [8] registered
[    2.853112] acpiphp: Slot [9] registered
[    2.863684] acpiphp: Slot [10] registered
[    2.875365] acpiphp: Slot [11] registered
[    2.885784] acpiphp: Slot [12] registered
[    2.908943] acpiphp: Slot [13] registered
[    2.914907] acpiphp: Slot [14] registered
[    2.921928] acpiphp: Slot [15] registered
[    2.936438] acpiphp: Slot [16] registered
[    2.947506] acpiphp: Slot [17] registered
[    2.956915] acpiphp: Slot [18] registered
[    2.967609] acpiphp: Slot [19] registered
[    2.980614] acpiphp: Slot [20] registered
[    2.991370] acpiphp: Slot [21] registered
[    3.004133] acpiphp: Slot [22] registered
[    3.013303] acpiphp: Slot [23] registered
[    3.021929] acpiphp: Slot [24] registered
[    3.030514] acpiphp: Slot [25] registered
[    3.075333] acpiphp: Slot [26] registered
[    3.083485] acpiphp: Slot [27] registered
[    3.098816] acpiphp: Slot [28] registered
[    3.106733] acpiphp: Slot [29] registered
[    3.116309] acpiphp: Slot [30] registered
[    3.121277] acpiphp: Slot [31] registered
[    3.131143] input: Power Button as /devices/LNXSYSTM:00/LNXPWRBN:00/input/input0
[    3.149752] ACPI: Power Button [PWRF]
[    3.161293] input: Sleep Button as /devices/LNXSYSTM:00/LNXSLPBN:00/input/input1
[    3.173829] ACPI: Sleep Button [SLPF]
[    3.183401] ACPI: acpi_idle registered with cpuidle
[    3.236995] ERST: Table is not found!
[    3.241554] GHES: HEST is not enabled!
[    3.246196] xen: --> pirq=22 -> irq=28 (gsi=28)
[    3.246201] xen-platform-pci 0000:00:03.0: PCI INT A -> GSI 28 (level, low) -> IRQ 28
[    3.252697] Grant table initialized
[    3.258001] Serial: 8250/16550 driver, 4 ports, IRQ sharing enabled
[    3.292942] serial8250: ttyS0 at I/O 0x3f8 (irq = 4) is a 16550A
[    3.326971] 00:0a: ttyS0 at I/O 0x3f8 (irq = 4) is a 16550A
[    3.337803] Non-volatile memory driver v1.3
[    3.344953] Linux agpgart interface v0.103
[    3.355911] loop: module loaded
[    3.365092] ata_piix 0000:00:01.1: version 2.13
[    3.365547] ata_piix 0000:00:01.1: setting latency timer to 64
[    3.366625] scsi0 : ata_piix
[    3.376611] scsi1 : ata_piix
[    3.387452] ata1: PATA max MWDMA2 cmd 0x1f0 ctl 0x3f6 bmdma 0xc160 irq 14
[    3.401531] ata2: PATA max MWDMA2 cmd 0x170 ctl 0x376 bmdma 0xc168 irq 15
[    3.414597] Fixed MDIO Bus: probed
[    3.422798] ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
[    3.436535] ohci_hcd: USB 1.1 'Open' Host Controller (OHCI) Driver
[    3.445072] uhci_hcd: USB Universal Host Controller Interface driver
[    3.451348] xen: --> pirq=23 -> irq=23 (gsi=23)
[    3.451353] uhci_hcd 0000:00:01.2: PCI INT D -> GSI 23 (level, low) -> IRQ 23
[    3.459628] uhci_hcd 0000:00:01.2: setting latency timer to 64
[    3.459692] uhci_hcd 0000:00:01.2: UHCI Host Controller
[    3.465519] uhci_hcd 0000:00:01.2: new USB bus registered, assigned bus number 1
[    3.476074] uhci_hcd 0000:00:01.2: irq 23, io base 0x0000c140
[    3.486730] usb usb1: New USB device found, idVendor=1d6b, idProduct=0001
[    3.509164] usb usb1: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[    3.520909] usb usb1: Product: UHCI Host Controller
[    3.530508] usb usb1: Manufacturer: Linux 3.1.0-5.fc16.x86_64 uhci_hcd
[    3.542154] usb usb1: SerialNumber: 0000:00:01.2
[    3.561811] hub 1-0:1.0: USB hub found
[    3.566227] hub 1-0:1.0: 2 ports detected
[    3.579602] usbcore: registered new interface driver usbserial
[    3.593543] USB Serial support registered for generic
[    3.604863] usbcore: registered new interface driver usbserial_generic
[    3.619204] usbserial: USB Serial Driver core
[    3.631171] i8042: PNP: PS/2 Controller [PNP0303:PS2K,PNP0f13:PS2M] at 0x60,0x64 irq 1,12
[    3.679417] Refined TSC clocksource calibration: 2677.181 MHz.
[    3.770388] ata2.01: NODEV after polling detection
[    3.772700] ata2.00: ATAPI: QEMU DVD-ROM, 0.10.2, max UDMA/100
[    3.789762] ata2.00: configured for MWDMA2
[    3.807715] scsi 1:0:0:0: CD-ROM            QEMU     QEMU DVD-ROM     0.10 PQ: 0 ANSI: 5
[    3.828843] sr0: scsi3-mmc drive: 4x/4x xa/form2 tray
[    3.852566] cdrom: Uniform CD-ROM driver Revision: 3.20
[    3.867454] sr 1:0:0:0: Attached scsi CD-ROM sr0
[    3.868290] sr 1:0:0:0: Attached scsi generic sg0 type 5
[    3.891197] serio: i8042 KBD port at 0x60,0x64 irq 1
[    3.906432] serio: i8042 AUX port at 0x60,0x64 irq 12
[    3.922387] usb 1-2: new full speed USB device number 2 using uhci_hcd
[    3.943534] mousedev: PS/2 mouse device common for all mice
[    3.964416] input: AT Translated Set 2 keyboard as /devices/platform/i8042/serio0/input/input2
[    3.988006] rtc_cmos 00:05: rtc core: registered rtc_cmos as rtc0
[    4.008027] rtc0: alarms up to one day, 114 bytes nvram
[    4.022991] device-mapper: uevent: version 1.0.3
[    4.041867] device-mapper: ioctl: 4.21.0-ioctl (2011-07-06) initialised: dm-devel@redhat.com
[    4.063353] cpuidle: using governor ladder
[    4.076212] cpuidle: using governor menu
[    4.090637] EFI Variables Facility v0.08 2004-May-17
[    4.102466] usbcore: registered new interface driver usbhid
[    4.117406] usbhid: USB HID core driver
[    4.131249] ip_tables: (C) 2000-2006 Netfilter Core Team
[    4.146190] TCP cubic registered
[    4.154333] Initializing XFRM netlink socket
[    4.170722] NET: Registered protocol family 10
[    4.204569] Mobile IPv6
[    4.209599] NET: Registered protocol family 17
[    4.223318] Registering the dns_resolver key type
[    4.241447] PM: Hibernation image not present or could not be loaded.
[    4.241464] registered taskstats version 1
[    4.254797] IMA: No TPM chip found, activating TPM-bypass!
[    4.273081] XENBUS: Device with no driver: device/vfb/0
[    4.286483] XENBUS: Device with no driver: device/vbd/768
[    4.302078] XENBUS: Device with no driver: device/vbd/5632
[    4.316760] XENBUS: Device with no driver: device/vif/0
[    4.331416] XENBUS: Device with no driver: device/console/0
[    4.343728]   Magic number: 15:812:1002
[    4.352675] pnp 00:04: hash matches
[    4.369900] rtc_cmos 00:05: setting system clock to 2011-10-31 19:57:19 UTC (1320091039)
[    4.383267] Initializing network drop monitor service
[    4.389082] Freeing unused kernel memory: 940k freed
[    4.397902] Write protecting the kernel read-only data: 10240k
[    4.414605] Freeing unused kernel memory: 1260k freed
[    4.433881] Freeing unused kernel memory: 1584k freed
[    4.439341] usb 1-2: New USB device found, idVendor=0627, idProduct=0001
[    4.448574] usb 1-2: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[    4.457047] usb 1-2: Product: QEMU USB Tablet
[    4.462381] usb 1-2: Manufacturer: QEMU 0.10.2
[    4.468609] usb 1-2: SerialNumber: 1
[    4.570035] input: QEMU 0.10.2 QEMU USB Tablet as /devices/pci0000:00/0000:00:01.2/usb1/1-2/1-2:1.0/input/input3
[    4.603262] generic-usb 0003:0627:0001.0001: input,hidraw0: USB HID v0.01 Pointer [QEMU 0.10.2 QEMU USB Tablet] on usb-0000:00:01.2-2/input0
[    4.684868] dracut: dracut-013-16.fc16
[    4.710357] input: ImExPS/2 Generic Explorer Mouse as /devices/platform/i8042/serio1/input/input4
[    4.739708] dracut: rd.luks=0: removing cryptoluks activation
[    4.760635] dracut: rd.lvm=0: removing LVM activation
[    4.787177] udevd[113]: starting version 173
[    4.973560] dracut: Starting plymouth daemon
[    5.139514] dracut: rd.dm=0: removing DM RAID activation
[    5.150693] dracut: rd.md=0: removing MD RAID activation
[    5.296770] vbd vbd-5632: 19 xenbus_dev_probe on device/vbd/5632
[    5.313220] blkfront: xvda: flush diskcache: enabled
[    5.367292]  xvda: xvda1 xvda2 xvda3
[    5.736847] EXT4-fs (xvda3): mounting ext3 file system using the ext4 subsystem
[    5.772700] EXT4-fs (xvda3): mounted filesystem with ordered data mode. Opts: (null)
[    5.854374] dracut: Checking ext3: /dev/disk/by-uuid/e8610da3-e470-45ab-9723-bbf51d177f64
[    5.863328] dracut: issuing e2fsck -a  /dev/disk/by-uuid/e8610da3-e470-45ab-9723-bbf51d177f64
[    6.041808] dracut: /dev/disk/by-uuid/e8610da3-e470-45ab-9723-bbf51d177f64: clean, 159953/1672800 files, 1052813/6687488 blocks
[    6.055883] dracut: Remounting /dev/disk/by-uuid/e8610da3-e470-45ab-9723-bbf51d177f64 with -o ro
[    6.113981] EXT4-fs (xvda3): mounting ext3 file system using the ext4 subsystem
[    6.139322] EXT4-fs (xvda3): mounted filesystem with ordered data mode. Opts: (null)
[    6.171511] dracut: Mounted root filesystem /dev/xvda3
[    6.396172] dracut: Switching root
[    6.858748] type=1404 audit(1320091041.987:2): enforcing=1 old_enforcing=0 auid=4294967295 ses=4294967295
[    6.992286] SELinux: 2048 avtab hash slots, 96028 rules.
[    7.016755] SELinux: 2048 avtab hash slots, 96028 rules.
[    7.027392] SELinux:  9 users, 13 roles, 3892 types, 204 bools, 1 sens, 1024 cats
[    7.027396] SELinux:  82 classes, 96028 rules
[    7.034757] SELinux:  Completing initialization.
[    7.034760] SELinux:  Setting up existing superblocks.
[    7.034768] SELinux: initialized (dev sysfs, type sysfs), uses genfs_contexts
[    7.034775] SELinux: initialized (dev rootfs, type rootfs), uses genfs_contexts
[    7.034998] SELinux: initialized (dev bdev, type bdev), uses genfs_contexts
[    7.035004] SELinux: initialized (dev proc, type proc), uses genfs_contexts
[    7.035014] SELinux: initialized (dev tmpfs, type tmpfs), uses transition SIDs
[    7.035032] SELinux: initialized (dev devtmpfs, type devtmpfs), uses transition SIDs
[    7.035563] SELinux: initialized (dev sockfs, type sockfs), uses task SIDs
[    7.035568] SELinux: initialized (dev debugfs, type debugfs), uses genfs_contexts
[    7.036186] SELinux: initialized (dev pipefs, type pipefs), uses task SIDs
[    7.036194] SELinux: initialized (dev anon_inodefs, type anon_inodefs), uses genfs_contexts
[    7.036198] SELinux: initialized (dev devpts, type devpts), uses transition SIDs
[    7.036221] SELinux: initialized (dev hugetlbfs, type hugetlbfs), uses transition SIDs
[    7.036232] SELinux: initialized (dev mqueue, type mqueue), uses transition SIDs
[    7.036242] SELinux: initialized (dev selinuxfs, type selinuxfs), uses genfs_contexts
[    7.036255] SELinux: initialized (dev usbfs, type usbfs), uses genfs_contexts
[    7.036260] SELinux: initialized (dev securityfs, type securityfs), uses genfs_contexts
[    7.036266] SELinux: initialized (dev sysfs, type sysfs), uses genfs_contexts
[    7.036429] SELinux: initialized (dev tmpfs, type tmpfs), uses transition SIDs
[    7.036436] SELinux: initialized (dev tmpfs, type tmpfs), uses transition SIDs
[    7.038855] SELinux: initialized (dev xvda3, type ext3), uses xattr
[    7.040874] type=1403 audit(1320091042.170:3): policy loaded auid=4294967295 ses=4294967295
[    7.077798] systemd[1]: Successfully loaded SELinux policy in 241ms 687us.
[    7.148407] systemd[1]: Successfully loaded SELinux database in 63ms 468us, size on heap is 475K.
[    7.216208] systemd[1]: RTC configured in localtime, applying delta of 120 minutes to system time.
[    7.244979] SELinux: initialized (dev tmpfs, type tmpfs), uses transition SIDs
[    7.245534] SELinux: initialized (dev cgroup, type cgroup), uses genfs_contexts
[    7.308179] systemd[1]: Relabelled /dev and /run in 62ms 537us.
[    7.334360] SELinux: initialized (dev cgroup, type cgroup), uses genfs_contexts
[    7.334740] SELinux: initialized (dev cgroup, type cgroup), uses genfs_contexts
[    7.335202] SELinux: initialized (dev cgroup, type cgroup), uses genfs_contexts
[    7.335521] SELinux: initialized (dev cgroup, type cgroup), uses genfs_contexts
[    7.335841] SELinux: initialized (dev cgroup, type cgroup), uses genfs_contexts
[    7.336204] SELinux: initialized (dev cgroup, type cgroup), uses genfs_contexts
[    7.336522] SELinux: initialized (dev cgroup, type cgroup), uses genfs_contexts
[    7.336876] SELinux: initialized (dev cgroup, type cgroup), uses genfs_contexts
[    7.336949] systemd[1]: systemd 36 running in system mode. (+PAM +LIBWRAP +AUDIT +SELINUX +SYSVINIT +LIBCRYPTSETUP; fedora)
[    7.412224] systemd[1]: Set hostname to <f16pvhvm.localdomain>.
[    7.993759] SELinux: initialized (dev autofs, type autofs), uses genfs_contexts
[    8.005589] systemd-readahead-collect[342]: Disabling readahead collector due to execution in virtualized environment.
[    8.396907] SELinux: initialized (dev tmpfs, type tmpfs), uses transition SIDs
[    8.398990] SELinux: initialized (dev hugetlbfs, type hugetlbfs), uses transition SIDs
[    8.466028] udevd[353]: starting version 173
[    8.663435] EXT4-fs (xvda3): re-mounted. Opts: (null)
[    9.023732] RPC: Registered named UNIX socket transport module.
[    9.028669] RPC: Registered udp transport module.
[    9.032761] RPC: Registered tcp transport module.
[    9.036844] RPC: Registered tcp NFSv4.1 backchannel transport module.
[    9.042689] SELinux: initialized (dev rpc_pipefs, type rpc_pipefs), uses genfs_contexts
[    9.620449] microcode: CPU0 sig=0x20655, pf=0x10, revision=0x2
[    9.747194] Initialising Xen virtual ethernet driver.
[    9.754392] vif vif-0: 2 parsing device/vif/0/mac
[    9.819979] parport_pc 00:0b: reported by Plug and Play ACPI
[    9.839457] microcode: Microcode Update Driver: v2.00 <tigran@aivazian.fsnet.co.uk>, Peter Oruba
[    9.881675] parport0: PC-style at 0x378, irq 7 [PCSPP,TRISTATE]
[    9.911287] piix4_smbus 0000:00:01.3: SMBus base address uninitialized - upgrade BIOS or use force_addr=0xaddr
[   10.043357] ppdev: user-space parallel port driver
[   12.779048] rmmod[555]: ERROR: Module scsi_wait_scan does not exist in /proc/modules
[   12.916160] Adding 4194300k swap on /dev/xvda2.  Priority:0 extents:1 across:4194300k SS
[   13.351526] systemd-fsck[553]: /dev/xvda1: clean, 220/128016 files, 51750/512000 blocks
[   13.430399] fedora-storage-init[562]: Setting up Logical Volume Management:   No volume groups found
[   13.444132] fedora-storage-init[562]: [  OK  ]
[   13.486948] EXT4-fs (xvda1): mounting ext3 file system using the ext4 subsystem
[   13.519504] EXT4-fs (xvda1): mounted filesystem with ordered data mode. Opts: (null)
[   13.528823] SELinux: initialized (dev xvda1, type ext3), uses xattr
[   13.538195] fedora-storage-init[576]: Setting up Logical Volume Management:   No volume groups found
[   13.576099] fedora-storage-init[576]: [  OK  ]
[   13.599234] lvm[585]: No volume groups found
[   13.775816] systemd-tmpfiles[590]: Successfully loaded SELinux database in 22ms 952us, size on heap is 476K.
[   14.357797] auditd[597]: Started dispatcher: /sbin/audispd pid: 620
[   14.618654] acpid[632]: starting up with netlink and the input layer
[   14.647711] auditd[597]: Init complete, auditd 2.1.3 listening for events (startup state enable)
[   14.670604] acpid[632]: skipping incomplete file /etc/acpi/events/videoconf
[   14.680422] acpid[632]: 1 rule loaded
[   14.687840] acpid[632]: waiting for events: event logging is off
[   14.745262] audispd[620]: priority_boost_parser called with: 4
[   14.745270] audispd[620]: max_restarts_parser called with: 10
[   14.745276] audispd[620]: No plugins found, exiting
[   15.512880] ip6_tables: (C) 2000-2006 Netfilter Core Team
[   15.539447] nf_conntrack version 0.5.0 (7964 buckets, 31856 max)
[   19.378230] mtrr: no MTRR for f0000000,100000 found
[   35.518822] fuse init (API version 7.17)
[   35.533551] SELinux: initialized (dev fuse, type fuse), uses genfs_contexts
[   35.555273] SELinux: initialized (dev fusectl, type fusectl), uses genfs_contexts
[   40.042754] ISO 9660 Extensions: Microsoft Joliet Level 3
[   40.192307] ISO 9660 Extensions: RRIP_1991A
[   40.192420] SELinux: initialized (dev sr0, type iso9660), uses genfs_contexts
[   46.184291] TCP lp registered

[-- Attachment #3: Type: text/plain, Size: 138 bytes --]

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xensource.com
http://lists.xensource.com/xen-devel

^ permalink raw reply

* In regard of commit "gudev: Use strtoul to parse unsigned 64-bit
From: Rafał Mużyło @ 2011-10-31 20:13 UTC (permalink / raw)
  To: linux-hotplug

Perhaps I'm simply misreading something, but won't going from strtoll to
strtoul break things for 32bit case ?

I do understand, that 32bit is becoming less and less supported every
day (given i.e. "daemon.c:1351:33: warning: cast to pointer from integer
of different size" warning during udisks 1.0.4 build - bug 24983), but
should it be broken on purpose ?


^ permalink raw reply

* [PATCH 1/3] ARM: tegra: paz00: add support for wakeup gpio key
From: Stephen Warren @ 2011-10-31 20:13 UTC (permalink / raw)
  To: linux-arm-kernel
In-Reply-To: <36b0283d86591d2bc64fe454676ae214732cdb54.1320088857.git.marvin24@gmx.de>

Marc Dietrich wrote at Monday, October 31, 2011 1:59 PM:
> This adds support for a wakeup gpio which is connected to the
> embedded controller. This will be used later on for wakeup from suspend.
> 
> Signed-off-by: Marc Dietrich <marvin24@gmx.de>

Acked-by: Stephen Warren <swarren@nvidia.com>

(Feel free to include that tag in any future postings unless there are
significant changes that would merit my reviewing it again)

-- 
nvpublic

^ permalink raw reply

* RE: [PATCH 1/3] ARM: tegra: paz00: add support for wakeup gpio key
From: Stephen Warren @ 2011-10-31 20:13 UTC (permalink / raw)
  To: Marc Dietrich,
	linux-tegra-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
  Cc: Olof Johansson, Colin Cross, linux-arm-kernel
In-Reply-To: <36b0283d86591d2bc64fe454676ae214732cdb54.1320088857.git.marvin24-Mmb7MZpHnFY@public.gmane.org>

Marc Dietrich wrote at Monday, October 31, 2011 1:59 PM:
> This adds support for a wakeup gpio which is connected to the
> embedded controller. This will be used later on for wakeup from suspend.
> 
> Signed-off-by: Marc Dietrich <marvin24-Mmb7MZpHnFY@public.gmane.org>

Acked-by: Stephen Warren <swarren-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>

(Feel free to include that tag in any future postings unless there are
significant changes that would merit my reviewing it again)

-- 
nvpublic

^ permalink raw reply

* Re: [PATCH 04/14] KVM: PPC: e500: MMU API
From: Scott Wood @ 2011-10-31 20:12 UTC (permalink / raw)
  To: Avi Kivity; +Cc: Alexander Graf, kvm-ppc, kvm list, Marcelo Tosatti
In-Reply-To: <4EAEA184.4050807@redhat.com>

On 10/31/2011 08:24 AM, Avi Kivity wrote:
> On 10/31/2011 09:53 AM, Alexander Graf wrote:
>> From: Scott Wood <scottwood@freescale.com>
>>
>> This implements a shared-memory API for giving host userspace access to
>> the guest's TLB.
>>
>>
>> diff --git a/Documentation/virtual/kvm/api.txt b/Documentation/virtual/kvm/api.txt
>> index 7945b0b..ab1136f 100644
>> --- a/Documentation/virtual/kvm/api.txt
>> +++ b/Documentation/virtual/kvm/api.txt
>> @@ -1383,6 +1383,38 @@ The following flags are defined:
>>  If datamatch flag is set, the event will be signaled only if the written value
>>  to the registered address is equal to datamatch in struct kvm_ioeventfd.
>>  
>> +4.59 KVM_DIRTY_TLB
>> +
>> +Capability: KVM_CAP_SW_TLB
>> +Architectures: ppc
>> +Type: vcpu ioctl
>> +Parameters: struct kvm_dirty_tlb (in)
>> +Returns: 0 on success, -1 on error
>> +
>> +struct kvm_dirty_tlb {
>> +	__u64 bitmap;
>> +	__u32 num_dirty;
>> +};
> 
> This is not 32/64 bit safe.  e500 is 32-bit only, yes?

e5500 is 64-bit -- we don't support it with KVM yet, but it's planned.

> but what if someone wants to emulate an e500 on a ppc64?  maybe it's better to add
> padding here.

What is unsafe about it?  Are you picturing TLBs with more than 4
billion entries?

There shouldn't be any alignment issues.

> Another alternative is to drop the num_dirty field (and let the kernel
> compute it instead, shouldn't take long?), and have the third argument
> to ioctl() reference the bitmap directly.

The idea was to make it possible for the kernel to apply a threshold
above which it would be better to ignore the bitmap entirely and flush
everything:

http://www.spinics.net/lists/kvm/msg50079.html

Currently we always just flush everything, and QEMU always says
everything is dirty when it makes a change, but the API is there if needed.

>>  4.62 KVM_CREATE_SPAPR_TCE
>>  
>>  Capability: KVM_CAP_SPAPR_TCE
>> @@ -1700,3 +1732,45 @@ HTAB address part of SDR1 contains an HVA instead of a GPA, as PAPR keeps the
>>  HTAB invisible to the guest.
>>  
>>  When this capability is enabled, KVM_EXIT_PAPR_HCALL can occur.
>> +
>> +6.3 KVM_CAP_SW_TLB
>> +
>> +Architectures: ppc
>> +Parameters: args[0] is the address of a struct kvm_config_tlb
>> +Returns: 0 on success; -1 on error
>> +
>> +struct kvm_config_tlb {
>> +	__u64 params;
>> +	__u64 array;
>> +	__u32 mmu_type;
>> +	__u32 array_len;
>> +};
> 
> Would it not be simpler to use args[0-3] for this, instead of yet
> another indirection?

I suppose so.  Its existence as a struct dates from when it was its own
ioctl rather than an argument to KVM_ENABLE_CAP.

>> +Configures the virtual CPU's TLB array, establishing a shared memory area
>> +between userspace and KVM.  The "params" and "array" fields are userspace
>> +addresses of mmu-type-specific data structures.  The "array_len" field is an
>> +safety mechanism, and should be set to the size in bytes of the memory that
>> +userspace has reserved for the array.  It must be at least the size dictated
>> +by "mmu_type" and "params".
>> +
>> +While KVM_RUN is active, the shared region is under control of KVM.  Its
>> +contents are undefined, and any modification by userspace results in
>> +boundedly undefined behavior.
>> +
>> +On return from KVM_RUN, the shared region will reflect the current state of
>> +the guest's TLB.  If userspace makes any changes, it must call KVM_DIRTY_TLB
>> +to tell KVM which entries have been changed, prior to calling KVM_RUN again
>> +on this vcpu.
> 
> We already have another mechanism for such shared memory,
> mmap(vcpu_fd).  x86 uses it for the coalesced mmio region as well as the
> traditional kvm_run area.  Please consider using it.

What does it buy us, other than needing a separate codepath in QEMU to
allocate the memory differently based on whether KVM (and this feature)
are being used, since QEMU uses this for its own MMU representation?

This API has been discussed extensively, and the code using it is
already in mainline QEMU.  This aspect of it hasn't changed since the
discussion back in February:

http://www.spinics.net/lists/kvm/msg50102.html

I'd prefer to avoid another round of major overhaul without a really
good reason.

>> +For mmu types KVM_MMU_FSL_BOOKE_NOHV and KVM_MMU_FSL_BOOKE_HV:
>> + - The "params" field is of type "struct kvm_book3e_206_tlb_params".
>> + - The "array" field points to an array of type "struct
>> +   kvm_book3e_206_tlb_entry".
>> + - The array consists of all entries in the first TLB, followed by all
>> +   entries in the second TLB.
>> + - Within a TLB, entries are ordered first by increasing set number.  Within a
>> +   set, entries are ordered by way (increasing ESEL).
>> + - The hash for determining set number in TLB0 is: (MAS2 >> 12) & (num_sets - 1)
>> +   where "num_sets" is the tlb_sizes[] value divided by the tlb_ways[] value.
>> + - The tsize field of mas1 shall be set to 4K on TLB0, even though the
>> +   hardware ignores this value for TLB0.
> 
> Holy shit.

You were the one that first suggested we use shared data:
http://www.spinics.net/lists/kvm/msg49802.html

These are the assumptions needed to make such an interface well-defined.

>> @@ -95,6 +90,9 @@ struct kvmppc_vcpu_e500 {
>>  	u32 tlb1cfg;
>>  	u64 mcar;
>>  
>> +	struct page **shared_tlb_pages;
>> +	int num_shared_tlb_pages;
>> +
> 
> I missed the requirement that things be page aligned.

They don't need to be, we'll ignore the data before and after the shared
area.

> If you use mmap(vcpu_fd) this becomes simpler; you can use
> get_free_pages() and have a single pointer.  You can also use vmap() on
> this array (but get_free_pages() is faster).

We do use vmap().  This is just the bookkeeping so we know what pages to
free later.

-Scott

^ permalink raw reply

* Re: [PATCH 04/14] KVM: PPC: e500: MMU API
From: Scott Wood @ 2011-10-31 20:12 UTC (permalink / raw)
  To: Avi Kivity; +Cc: Alexander Graf, kvm-ppc, kvm list, Marcelo Tosatti
In-Reply-To: <4EAEA184.4050807@redhat.com>

On 10/31/2011 08:24 AM, Avi Kivity wrote:
> On 10/31/2011 09:53 AM, Alexander Graf wrote:
>> From: Scott Wood <scottwood@freescale.com>
>>
>> This implements a shared-memory API for giving host userspace access to
>> the guest's TLB.
>>
>>
>> diff --git a/Documentation/virtual/kvm/api.txt b/Documentation/virtual/kvm/api.txt
>> index 7945b0b..ab1136f 100644
>> --- a/Documentation/virtual/kvm/api.txt
>> +++ b/Documentation/virtual/kvm/api.txt
>> @@ -1383,6 +1383,38 @@ The following flags are defined:
>>  If datamatch flag is set, the event will be signaled only if the written value
>>  to the registered address is equal to datamatch in struct kvm_ioeventfd.
>>  
>> +4.59 KVM_DIRTY_TLB
>> +
>> +Capability: KVM_CAP_SW_TLB
>> +Architectures: ppc
>> +Type: vcpu ioctl
>> +Parameters: struct kvm_dirty_tlb (in)
>> +Returns: 0 on success, -1 on error
>> +
>> +struct kvm_dirty_tlb {
>> +	__u64 bitmap;
>> +	__u32 num_dirty;
>> +};
> 
> This is not 32/64 bit safe.  e500 is 32-bit only, yes?

e5500 is 64-bit -- we don't support it with KVM yet, but it's planned.

> but what if someone wants to emulate an e500 on a ppc64?  maybe it's better to add
> padding here.

What is unsafe about it?  Are you picturing TLBs with more than 4
billion entries?

There shouldn't be any alignment issues.

> Another alternative is to drop the num_dirty field (and let the kernel
> compute it instead, shouldn't take long?), and have the third argument
> to ioctl() reference the bitmap directly.

The idea was to make it possible for the kernel to apply a threshold
above which it would be better to ignore the bitmap entirely and flush
everything:

http://www.spinics.net/lists/kvm/msg50079.html

Currently we always just flush everything, and QEMU always says
everything is dirty when it makes a change, but the API is there if needed.

>>  4.62 KVM_CREATE_SPAPR_TCE
>>  
>>  Capability: KVM_CAP_SPAPR_TCE
>> @@ -1700,3 +1732,45 @@ HTAB address part of SDR1 contains an HVA instead of a GPA, as PAPR keeps the
>>  HTAB invisible to the guest.
>>  
>>  When this capability is enabled, KVM_EXIT_PAPR_HCALL can occur.
>> +
>> +6.3 KVM_CAP_SW_TLB
>> +
>> +Architectures: ppc
>> +Parameters: args[0] is the address of a struct kvm_config_tlb
>> +Returns: 0 on success; -1 on error
>> +
>> +struct kvm_config_tlb {
>> +	__u64 params;
>> +	__u64 array;
>> +	__u32 mmu_type;
>> +	__u32 array_len;
>> +};
> 
> Would it not be simpler to use args[0-3] for this, instead of yet
> another indirection?

I suppose so.  Its existence as a struct dates from when it was its own
ioctl rather than an argument to KVM_ENABLE_CAP.

>> +Configures the virtual CPU's TLB array, establishing a shared memory area
>> +between userspace and KVM.  The "params" and "array" fields are userspace
>> +addresses of mmu-type-specific data structures.  The "array_len" field is an
>> +safety mechanism, and should be set to the size in bytes of the memory that
>> +userspace has reserved for the array.  It must be at least the size dictated
>> +by "mmu_type" and "params".
>> +
>> +While KVM_RUN is active, the shared region is under control of KVM.  Its
>> +contents are undefined, and any modification by userspace results in
>> +boundedly undefined behavior.
>> +
>> +On return from KVM_RUN, the shared region will reflect the current state of
>> +the guest's TLB.  If userspace makes any changes, it must call KVM_DIRTY_TLB
>> +to tell KVM which entries have been changed, prior to calling KVM_RUN again
>> +on this vcpu.
> 
> We already have another mechanism for such shared memory,
> mmap(vcpu_fd).  x86 uses it for the coalesced mmio region as well as the
> traditional kvm_run area.  Please consider using it.

What does it buy us, other than needing a separate codepath in QEMU to
allocate the memory differently based on whether KVM (and this feature)
are being used, since QEMU uses this for its own MMU representation?

This API has been discussed extensively, and the code using it is
already in mainline QEMU.  This aspect of it hasn't changed since the
discussion back in February:

http://www.spinics.net/lists/kvm/msg50102.html

I'd prefer to avoid another round of major overhaul without a really
good reason.

>> +For mmu types KVM_MMU_FSL_BOOKE_NOHV and KVM_MMU_FSL_BOOKE_HV:
>> + - The "params" field is of type "struct kvm_book3e_206_tlb_params".
>> + - The "array" field points to an array of type "struct
>> +   kvm_book3e_206_tlb_entry".
>> + - The array consists of all entries in the first TLB, followed by all
>> +   entries in the second TLB.
>> + - Within a TLB, entries are ordered first by increasing set number.  Within a
>> +   set, entries are ordered by way (increasing ESEL).
>> + - The hash for determining set number in TLB0 is: (MAS2 >> 12) & (num_sets - 1)
>> +   where "num_sets" is the tlb_sizes[] value divided by the tlb_ways[] value.
>> + - The tsize field of mas1 shall be set to 4K on TLB0, even though the
>> +   hardware ignores this value for TLB0.
> 
> Holy shit.

You were the one that first suggested we use shared data:
http://www.spinics.net/lists/kvm/msg49802.html

These are the assumptions needed to make such an interface well-defined.

>> @@ -95,6 +90,9 @@ struct kvmppc_vcpu_e500 {
>>  	u32 tlb1cfg;
>>  	u64 mcar;
>>  
>> +	struct page **shared_tlb_pages;
>> +	int num_shared_tlb_pages;
>> +
> 
> I missed the requirement that things be page aligned.

They don't need to be, we'll ignore the data before and after the shared
area.

> If you use mmap(vcpu_fd) this becomes simpler; you can use
> get_free_pages() and have a single pointer.  You can also use vmap() on
> this array (but get_free_pages() is faster).

We do use vmap().  This is just the bookkeeping so we know what pages to
free later.

-Scott


^ permalink raw reply

* Re: [PATCH 1/2] vmscan: promote shared file mapped pages
From: Andrew Morton @ 2011-10-31 20:12 UTC (permalink / raw)
  To: Konstantin Khlebnikov
  Cc: linux-mm, linux-kernel, Wu Fengguang, KAMEZAWA Hiroyuki,
	Johannes Weiner
In-Reply-To: <20110808110658.31053.55013.stgit@localhost6>

On Mon, 8 Aug 2011 15:06:58 +0400
Konstantin Khlebnikov <khlebnikov@openvz.org> wrote:

> Commit v2.6.33-5448-g6457474 (vmscan: detect mapped file pages used only once)
> greatly decreases lifetime of single-used mapped file pages.
> Unfortunately it also decreases life time of all shared mapped file pages.
> Because after commit v2.6.28-6130-gbf3f3bc (mm: don't mark_page_accessed in fault path)
> page-fault handler does not mark page active or even referenced.
> 
> Thus page_check_references() activates file page only if it was used twice while
> it stays in inactive list, meanwhile it activates anon pages after first access.
> Inactive list can be small enough, this way reclaimer can accidentally
> throw away any widely used page if it wasn't used twice in short period.
> 
> After this patch page_check_references() also activate file mapped page at first
> inactive list scan if this page is already used multiple times via several ptes.

We have quite a few acks on these two patches, but everyone wants to
see detailed performance testing.  That hasn't happened, and caution
dictates that I hold these patches out of linux-3.2, pending that
testing.

Of course, you're not the only person who can undertake that testing (hint).

--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org.  For more info on Linux MM,
see: http://www.linux-mm.org/ .
Fight unfair telecom internet charges in Canada: sign http://stopthemeter.ca/
Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>

^ permalink raw reply

* Re: [PATCH 1/2] vmscan: promote shared file mapped pages
From: Andrew Morton @ 2011-10-31 20:12 UTC (permalink / raw)
  To: Konstantin Khlebnikov
  Cc: linux-mm, linux-kernel, Wu Fengguang, KAMEZAWA Hiroyuki,
	Johannes Weiner
In-Reply-To: <20110808110658.31053.55013.stgit@localhost6>

On Mon, 8 Aug 2011 15:06:58 +0400
Konstantin Khlebnikov <khlebnikov@openvz.org> wrote:

> Commit v2.6.33-5448-g6457474 (vmscan: detect mapped file pages used only once)
> greatly decreases lifetime of single-used mapped file pages.
> Unfortunately it also decreases life time of all shared mapped file pages.
> Because after commit v2.6.28-6130-gbf3f3bc (mm: don't mark_page_accessed in fault path)
> page-fault handler does not mark page active or even referenced.
> 
> Thus page_check_references() activates file page only if it was used twice while
> it stays in inactive list, meanwhile it activates anon pages after first access.
> Inactive list can be small enough, this way reclaimer can accidentally
> throw away any widely used page if it wasn't used twice in short period.
> 
> After this patch page_check_references() also activate file mapped page at first
> inactive list scan if this page is already used multiple times via several ptes.

We have quite a few acks on these two patches, but everyone wants to
see detailed performance testing.  That hasn't happened, and caution
dictates that I hold these patches out of linux-3.2, pending that
testing.

Of course, you're not the only person who can undertake that testing (hint).


^ permalink raw reply

* Re: [PATCH] opensm: Add the precreation of multicast groups
From: Ira Weiny @ 2011-10-31 20:12 UTC (permalink / raw)
  To: Hal Rosenstock
  Cc: Alex Netes, linux-rdma-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
In-Reply-To: <4EA9B401.5030101-LDSdmyG8hGV8YrgS2mwiifqBs+8SCbDb@public.gmane.org>

On Thu, 27 Oct 2011 12:41:53 -0700
Hal Rosenstock <hal-LDSdmyG8hGV8YrgS2mwiifqBs+8SCbDb@public.gmane.org> wrote:

> On 10/6/2011 8:13 PM, Ira Weiny wrote:
> >
> > Allow for the pre-creation of these groups on a partition by partition basis.
> 
> This looks good to me and has been needed for some time now; Thanks for
> doing this!
> 
> Just some minor comments below from scanning through the patch. I
> haven't tried it yet...
> 
> > P_Key is taken from the partition specification.  Q_Key, TClass, rate, and mtu
> > can be specified.
> 
> If TClass is added, should FlowLabel also be added ?

Yes, added in next version.  Also added Q_Key, tclass, and FlowLabel to BC
group config which uses common parsing code.

> 
> > For IP groups, rate and mtu are verified to match the broadcast groups
> > parameters.  P_Key can be specified in the mgid itself and is verified to match
> > the P_Key of the partition if != 0x0000.  If pkey == 0x0000 then the P_Key is
> > taken from the partition specification.
> 
> Do you mean the pkey in the IPoIB MGID here by "partition specification" ?

Yes, if the MGID has 0x0000 in the P_Key bits the partition manager fills in
those bits with the P_Key specified for that partition.

For example:

Default=0x7fff,ipoib:
       mgid=ff12:401b::0707,sl=1 # random IPv4 group
       ALL=full;

results in an MGID of ff12:401b:ffff::0707

Default=0x7fff,ipoib:
       mgid=ff12:401b:f123::0707,sl=1 # random IPv4 group
       ALL=full;

results in an error 0xf123 != 0xffff

> 
> > The syntax extends the existing syntax by allowing MC groups to be specified
> > one per line, intermixed with the port specifications.
> >
> > Signed-off-by: Ira Weiny <weiny2-i2BcT+NCU+M@public.gmane.org>
> > ---
> >  include/opensm/osm_base.h      |    5 +
> >  include/opensm/osm_partition.h |   12 +-
> >  man/opensm.8.in                |  121 +++++++++++------
> 
> Similar changes should be made to doc/partition-config.txt which is
> where this part of the man page came from originally.

Alex, would you accept a patch which removes that file?  It seems the man page
is more appropriate for this documentation.  Even having a separate referenced
man page for partitions would be better.

For now I have modified doc/partition-config.txt to match the man page in the
patch.

> 
> >  opensm/osm_prtn.c              |  111 ++++++++++++----
> >  opensm/osm_prtn_config.c       |  278 ++++++++++++++++++++++++++++++++++++----
> >  opensm/osm_qos_policy.c        |   48 ++++----
> >  opensm/osm_subnet.c            |    2 +-
> >  7 files changed, 454 insertions(+), 123 deletions(-)
> >
> > diff --git a/include/opensm/osm_base.h b/include/opensm/osm_base.h
> > index e558c55..869ba9c 100644
> > --- a/include/opensm/osm_base.h
> > +++ b/include/opensm/osm_base.h
> > @@ -53,6 +53,7 @@
> >  #endif
> >
> >  #include <complib/cl_types.h>
> > +#include <iba/ib_types.h>
> >
> >  #ifdef __cplusplus
> >  #  define BEGIN_C_DECLS extern "C" {
> > @@ -954,6 +955,10 @@ typedef enum _osm_sm_signal {
> >  #define OSM_VENDOR_ID_HP4           0x00237D
> >  #define OSM_VENDOR_ID_OPENIB        0x001405
> >
> > +/* IPoIB Broadcast Defaults */
> > +#define OSM_IPOIB_BROADCAST_MGRP_QKEY 0x0b1b
> > +extern const ib_gid_t osm_ipoib_broadcast_mgid;
> > +
> >  /**********/
> >
> >  END_C_DECLS
> > diff --git a/include/opensm/osm_partition.h b/include/opensm/osm_partition.h
> > index fdb34b9..7277eac 100644
> > --- a/include/opensm/osm_partition.h
> > +++ b/include/opensm/osm_partition.h
> > @@ -94,10 +94,11 @@ typedef struct osm_prtn {
> >       cl_map_item_t map_item;
> >       ib_net16_t pkey;
> >       uint8_t sl;
> > -     osm_mgrp_t *mgrp;
> >       cl_map_t full_guid_tbl;
> >       cl_map_t part_guid_tbl;
> >       char name[32];
> > +     osm_mgrp_t **mgrps;
> > +     int nmgrps;
> >  } osm_prtn_t;
> >  /*
> >  * FIELDS
> > @@ -110,9 +111,10 @@ typedef struct osm_prtn {
> >  *    sl
> >  *            The Service Level (SL) associated with this Partiton.
> >  *
> > -*    mgrp
> > -*            The pointer to the well known Multicast Group
> > -*            that was created for this partition (when configured).
> > +*       mgrps
> > +*            List of well known Multicast Groups
> > +*            that were created for this partition (when configured).
> > +*            This includes the IPoIB broadcast group.
> >  *
> >  *    full_guid_tbl
> >  *            Container of pointers to all Port objects in the Partition
> > @@ -139,7 +141,7 @@ typedef struct osm_prtn {
> >  *
> >  * SYNOPSIS
> >  */
> > -void osm_prtn_delete(IN OUT osm_prtn_t ** pp_prtn);
> > +void osm_prtn_delete(IN OUT osm_prtn_t ** pp_prtn, osm_subn_t * p_subn);
> 
> IN osm_subn_t * p_subn
> 
> Also, reverse the parameters to be consistent with the coding convention.

done

> 
> >  /*
> >  * PARAMETERS
> >  *    pp_prtn
> > diff --git a/man/opensm.8.in b/man/opensm.8.in
> > index 042bee3..da0c247 100644
> > --- a/man/opensm.8.in
> > +++ b/man/opensm.8.in
> > @@ -523,45 +523,76 @@ parser.
> >
> >  General file format:
> >
> > -<Partition Definition>:<PortGUIDs list> ;
> > -
> > -Partition Definition:
> > -
> > -[PartitionName][=PKey][,flag[=value]][,defmember=full|limited]
> > -
> > - PartitionName - string, will be used with logging. When omitted
> > -                 empty string will be used.
> > - PKey          - P_Key value for this partition. Only low 15 bits will
> > -                 be used. When omitted will be autogenerated.
> > - flag          - used to indicate IPoIB capability of this partition.
> > - defmember=full|limited - specifies default membership for port guid
> > -                 list. Default is limited.
> > -
> > -Currently recognized flags are:
> > -
> > - ipoib       - indicates that this partition may be used for IPoIB, as
> > -               result IPoIB capable MC group will be created.
> > - rate=<val>  - specifies rate for this IPoIB MC group
> > -               (default is 3 (10GBps))
> > - mtu=<val>   - specifies MTU for this IPoIB MC group
> > -               (default is 4 (2048))
> > - sl=<val>    - specifies SL for this IPoIB MC group
> > -               (default is 0)
> > - scope=<val> - specifies scope for this IPoIB MC group
> > -               (default is 2 (link local)).  Multiple scope settings
> > -               are permitted for a partition.
> > -
> > -Note that values for rate, mtu, and scope should be specified as
> > -defined in the IBTA specification (for example, mtu=4 for 2048).
> > -
> > -PortGUIDs list:
> > -
> > - PortGUID         - GUID of partition member EndPort. Hexadecimal
> > -                    numbers should start from 0x, decimal numbers
> > -                    are accepted too.
> > - full or limited  - indicates full or limited membership for this
> > -                    port.  When omitted (or unrecognized) limited
> > -                    membership is assumed.
> > +<Partition Definition>:[<newline>]<Partition Properties>;
> > +
> > +     Partition Definition:
> > +       [PartitionName][=PKey][,part_flag[=value]][,defmember=full|limited]
> > +
> > +        PartitionName - string, will be used with logging. When omitted
> > +                        empty string will be used.
> > +        PKey          - P_Key value for this partition. Only low 15 bits will
> > +                        be used. When omitted will be autogenerated.
> > +        part_flags    - used to indicate/specify IPoIB capability of this partition.
> > +        defmember=full|limited - specifies default membership for port guid
> > +                        list. Default is limited.
> > +
> > +     part_flag:
> > +        ipoib       - indicates that this partition may be used for IPoIB, as
> > +                      result IPoIB capable MC group will be created.
> > +        rate=<val>  - specifies rate for this IPoIB MC group
> > +                      (default is 3 (10GBps))
> > +        mtu=<val>   - specifies MTU for this IPoIB MC group
> > +                      (default is 4 (2048))
> > +        sl=<val>    - specifies SL for this IPoIB MC group
> > +                      (default is 0)
> > +        scope=<val> - specifies scope for this IPoIB MC group
> > +                      (default is 2 (link local)).  Multiple scope settings
> > +                      are permitted for a partition.
> > +
> > +     Partition Properties:
> > +       [<Port list>|<MCast Group>]* | <Port list>
> > +
> > +     Port list:
> > +        <Port Specifier>[,<Port Specifier>]
> > +
> > +     Port Specifier:
> > +        <PortGUID>[=[full|limited]]
> > +
> > +        PortGUID         - GUID of partition member EndPort. Hexadecimal
> > +                           numbers should start from 0x, decimal numbers
> > +                           are accepted too.
> > +        full or limited  - indicates full or limited membership for this
> > +                           port.  When omitted (or unrecognized) limited
> > +                           membership is assumed.
> > +
> > +     MCast Group:
> > +        mgid=gid[,mgroup_flag=val]*<newline>
> > +
> > +     mgroup_flag:
> > +        rate=<val>  - specifies rate for this MC group
> > +                      (default is 3 (10GBps))
> > +        mtu=<val>   - specifies MTU for this MC group
> > +                      (default is 4 (2048))
> > +        sl=<val>    - specifies SL for this MC group
> > +                      (default is 0)
> > +        scope=<val> - specifies scope for this MC group
> > +                      (default is 2 (link local)).  Multiple scope settings
> > +                      are permitted for a partition.
> > +                   NOTE: This overwrites the scope nibble of the specified
> > +                         mgid.  Furthermore specifying multiple scope
> > +                         settings will result in multiple MC groups
> > +                         being created.
> > +        qkey=<val>    - specifies the Q_Key for this MC group
> > +                      (default: 0x0b1b for IP groups, 0 for other groups)
> > +        tclass=<val>    - specifies tclass for this MC group
> > +                      (default is 0)
> > +
> > +     newline: '\n'
> > +
> > +
> > +Note that values for rate, mtu, and scope, for both partitions and multicast
> > +groups, should be specified as defined in the IBTA specification (for example,
> > +mtu=4 for 2048).
> >
> >  There are several useful keywords for PortGUID definition:
> >
> > @@ -577,9 +608,6 @@ Notes:
> >
> >  White space is permitted between delimiters ('=', ',',':',';').
> >
> > -The line can be wrapped after ':' followed after Partition Definition and
> > -between.
> > -
> >  PartitionName does not need to be unique, PKey does need to be unique.
> >  If PKey is repeated then those partition configurations will be merged
> >  and first PartitionName will be used (see also next note).
> > @@ -606,6 +634,15 @@ Examples:
> >   ShareIO = 0x80 , defmember=full : 0x123459, 0x12345a;
> >   ShareIO = 0x80 , defmember=full : 0x12345b, 0x12345c=limited, 0x12345d;
> >
> > + # multicast groups added to default
> > + Default=0x7fff,ipoib:
> > +        mgid=ff12:401b::0707,sl=1 # random IPv4 group
> > +        mgid=ff12:601b::16    # MLDv2-capable routers
> > +        mgid=ff12:401b::16    # IGMP
> > +        mgid=ff12:601b::2     # All routers
> > +        mgid=ff12::1,sl=1,Q_Key=0xDEADBEEF,rate=3,mtu=2 # random group
> > +        ALL=full;
> > +
> >
> >  Note:
> >
> > diff --git a/opensm/osm_prtn.c b/opensm/osm_prtn.c
> > index 3fd4fc0..2e2837a 100644
> > --- a/opensm/osm_prtn.c
> > +++ b/opensm/osm_prtn.c
> > @@ -53,6 +53,8 @@
> >  #include <opensm/osm_node.h>
> >  #include <opensm/osm_sa.h>
> >  #include <opensm/osm_multicast.h>
> > +#include <arpa/inet.h>
> > +#include <errno.h>
> >
> >  extern int osm_prtn_config_parse_file(osm_log_t * p_log, osm_subn_t * p_subn,
> >                                     const char *file_name);
> > @@ -68,6 +70,8 @@ osm_prtn_t *osm_prtn_new(IN const char *name, IN uint16_t pkey)
> >       memset(p, 0, sizeof(*p));
> >       p->pkey = pkey;
> >       p->sl = OSM_DEFAULT_SL;
> > +     p->mgrps = NULL;
> > +     p->nmgrps = 0;
> >       cl_map_construct(&p->full_guid_tbl);
> >       cl_map_init(&p->full_guid_tbl, 32);
> >       cl_map_construct(&p->part_guid_tbl);
> > @@ -81,14 +85,34 @@ osm_prtn_t *osm_prtn_new(IN const char *name, IN uint16_t pkey)
> >       return p;
> >  }
> >
> > -void osm_prtn_delete(IN OUT osm_prtn_t ** pp_prtn)
> > +void osm_prtn_delete(IN OUT osm_prtn_t ** pp_prtn, osm_subn_t * p_subn)
> >  {
> > +     char gid_str[INET6_ADDRSTRLEN];
> > +     int i = 0;
> >       osm_prtn_t *p = *pp_prtn;
> >
> >       cl_map_remove_all(&p->full_guid_tbl);
> >       cl_map_destroy(&p->full_guid_tbl);
> >       cl_map_remove_all(&p->part_guid_tbl);
> >       cl_map_destroy(&p->part_guid_tbl);
> > +
> > +     if (p->mgrps) {
> > +             /* Clean up mgrps */
> > +             for (i = 0; i < p->nmgrps; i++) {
> > +                     /* osm_mgrp_cleanup will not delete
> > +                      * "well_known" groups */
> > +                     p->mgrps[i]->well_known = FALSE;
> > +                     osm_mgrp_cleanup(p_subn, p->mgrps[i]);
> > +                     OSM_LOG(&p_subn->p_osm->log, OSM_LOG_ERROR,
> 
> Should this some other log level like VERBOSE or DEBUG ?

Ooops, yep, DEBUG, that was left over from debugging.  ;-)

Also cleaned up indent of the parameters.

> 
> > +                     "removing mgroup %s from partition (0x%x)\n",
> > +                     inet_ntop(AF_INET6, p->mgrps[i]->mcmember_rec.mgid.raw,
> > +                                     gid_str, sizeof gid_str),
> > +                             cl_hton16(p->pkey));
> > +             }
> > +
> > +             free(p->mgrps);
> > +     }
> > +
> >       free(p);
> >       *pp_prtn = NULL;
> >  }
> > @@ -156,21 +180,47 @@ _err:
> >       return status;
> >  }
> >
> > -static const ib_gid_t osm_ipoib_mgid = {
> > -     {
> > -      0xff,                  /*  multicast field */
> > -      0x12,                  /*  non-permanent bit, link local scope */
> > -      0x40, 0x1b,            /*  IPv4 signature */
> > -      0xff, 0xff,            /*  16 bits of P_Key (to be filled in) */
> > -      0x00, 0x00, 0x00, 0x00, 0x00, 0x00,    /*  48 bits of zeros */
> > -      0xff, 0xff, 0xff, 0xff,        /*  32 bit IPv4 broadcast address */
> > -      },
> > -};
> > +static ib_api_status_t
> > +track_mgrp_w_partition(osm_log_t *p_log, osm_prtn_t *p, osm_mgrp_t *mgrp,
> > +                     osm_subn_t *p_subn, const ib_gid_t *mgid,
> > +                     ib_net16_t pkey)
> > +{
> > +     char gid_str[INET6_ADDRSTRLEN];
> > +     osm_mgrp_t **tmp;
> > +     int i = 0;
> > +
> > +     /* check if we are already tracking this group */
> > +     for (i = 0; i< p->nmgrps; i++)
> > +             if (p->mgrps[i] == mgrp)
> > +                     return (IB_SUCCESS);
> > +
> > +     /* otherwise add it to our list */
> > +     tmp = realloc(p->mgrps, (p->nmgrps +1) * sizeof(*p->mgrps));
> > +     if (tmp) {
> > +             p->mgrps = tmp;
> > +             p->mgrps[p->nmgrps] = mgrp;
> > +             p->nmgrps++;
> > +     } else {
> > +             OSM_LOG(p_log, OSM_LOG_ERROR,
> > +                     "ERR: realloc error to create MC group (%s) in "
> 
> Other similar errors in this file don't have the "ERR: " part. There are
> also other instances below but I snipped the rest.

Do you feel "ERR:" should be removed?  Or the other messages have "ERR:"
added?

I just followed the convention with "ERR:" printed but did not have any
numbers to follow...

Alex, your call.

Ira

> 
> -- Hal
> 
> <snip...>


-- 
Ira Weiny
Math Programmer/Computer Scientist
Lawrence Livermore National Lab
925-423-8008
weiny2-i2BcT+NCU+M@public.gmane.org
--
To unsubscribe from this list: send the line "unsubscribe linux-rdma" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

^ permalink raw reply

* [Qemu-devel] [Bug 884401] [NEW] PCI Passthrough for Digium TCE400P Codec Card Not working
From: Ray Seals @ 2011-10-31 20:04 UTC (permalink / raw)
  To: qemu-devel
In-Reply-To: <20111031200405.19472.43985.malonedeb@soybean.canonical.com>

Public bug reported:

trying to use a Digium TCE400P Codec card on a Virtual instance using
the following information:

lspci <enter>

02:08.0 Ethernet controller: Digium, Inc. Wildcard TCE400P transcoder
base card (rev 11)

lspci -n <enter>

02:08.0 0200: d161:8004 (rev 11)

virsh nodedev-list | grep pci

pci_0000_02_08_0

printf %x 02
2

printf %x 08
8

printf %x 0
0

bus='0x02'
slot='0x08'
function='0x0'

# virsh edit vmanager
<hostdev mode='subsystem' type='pci' managed='yes'>
  <source>
      <address domain='0x0000' bus='0x02' slot='0x08' function='0x0'/>
  </source>
</hostdev>

I have SELINUX disabled at this time.

virsh start vmanager I get the following error message:

[root@twins qemu]# virsh start vmanager
error: Failed to start domain vmanager
error: internal error Process exited while reading console log output: char device redirected to /dev/pts/2
Unable to assign device: PCI region 1 at address 0xdf1fe000 has size 0x400,  which is not a multiple of 4K
qemu-kvm: -device pci-assign,host=02:08.0,id=hostdev0,configfd=23,bus=pci.0,addr=0x6: Device 'pci-assign' could not be initialized


Version Numbers:

[root@twins qemu]# yum list | grep qemu
gpxe-roms-qemu.noarch                  0.9.7-6.3.el6_0.1                @updates
qemu-img.x86_64                        2:0.12.1.2-2.113.el6_0.8         @updates
qemu-kvm.x86_64                        2:0.12.1.2-2.113.el6_0.8         @updates
qemu-kvm-tools.x86_64                  2:0.12.1.2-2.113.el6_0.8         updates

** Affects: qemu
     Importance: Undecided
         Status: New

-- 
You received this bug notification because you are a member of qemu-
devel-ml, which is subscribed to QEMU.
https://bugs.launchpad.net/bugs/884401

Title:
  PCI Passthrough for Digium TCE400P Codec Card Not working

Status in QEMU:
  New

Bug description:
  trying to use a Digium TCE400P Codec card on a Virtual instance using
  the following information:

  lspci <enter>

  02:08.0 Ethernet controller: Digium, Inc. Wildcard TCE400P transcoder
  base card (rev 11)

  lspci -n <enter>

  02:08.0 0200: d161:8004 (rev 11)

  virsh nodedev-list | grep pci

  pci_0000_02_08_0

  printf %x 02
  2

  printf %x 08
  8

  printf %x 0
  0

  bus='0x02'
  slot='0x08'
  function='0x0'

  # virsh edit vmanager
  <hostdev mode='subsystem' type='pci' managed='yes'>
    <source>
        <address domain='0x0000' bus='0x02' slot='0x08' function='0x0'/>
    </source>
  </hostdev>

  I have SELINUX disabled at this time.

  virsh start vmanager I get the following error message:

  [root@twins qemu]# virsh start vmanager
  error: Failed to start domain vmanager
  error: internal error Process exited while reading console log output: char device redirected to /dev/pts/2
  Unable to assign device: PCI region 1 at address 0xdf1fe000 has size 0x400,  which is not a multiple of 4K
  qemu-kvm: -device pci-assign,host=02:08.0,id=hostdev0,configfd=23,bus=pci.0,addr=0x6: Device 'pci-assign' could not be initialized


  Version Numbers:

  [root@twins qemu]# yum list | grep qemu
  gpxe-roms-qemu.noarch                  0.9.7-6.3.el6_0.1                @updates
  qemu-img.x86_64                        2:0.12.1.2-2.113.el6_0.8         @updates
  qemu-kvm.x86_64                        2:0.12.1.2-2.113.el6_0.8         @updates
  qemu-kvm-tools.x86_64                  2:0.12.1.2-2.113.el6_0.8         updates

To manage notifications about this bug go to:
https://bugs.launchpad.net/qemu/+bug/884401/+subscriptions

^ permalink raw reply

* [PATCH 0/6 V2] Avoid soft lockup message when KVM is stopped by host
From: Eric B Munson @ 2011-10-31 20:07 UTC (permalink / raw)
  To: avi
  Cc: mingo, x86, hpa, arnd, linux-kernel, kvm, linux-arch, ryanh,
	aliguori, Eric B Munson

Changes from V1:
(Thanks Marcelo)
Host code has all been moved to arch/x86/kvm/x86.c
KVM_PAUSE_GUEST was renamed to KVM_GUEST_PAUSED

When a guest kernel is stopped by the host hypervisor it can look like a soft
lockup to the guest kernel.  This false warning can mask later soft lockup
warnings which may be real.  This patch series adds a method for a host
hypervisor to communicate to a guest kernel that it is being stopped.  The
final patch in the series has the watchdog check this flag when it goes to
issue a soft lockup warning and skip the warning if the guest knows it was
stopped.

It was attempted to solve this in Qemu, but the side effects of saving and
restoring the clock and tsc for each vcpu put the wall clock of the guest behind
by the amount of time of the pause.  This forces a guest to have ntp running
in order to keep the wall clock accurate.



Eric B Munson (6):
  Add flag to indicate that a vm was stopped by the host
  Add functions to check if the host has stopped the vm
  Add ioctl for KVM_GUEST_STOPPED
  Add generic stubs for kvm stop check functions
  Add check for suspended vm in softlockup detector
  Add age out of guest paused flag

 arch/x86/include/asm/pvclock-abi.h |    1 +
 arch/x86/include/asm/pvclock.h     |    7 +++++
 arch/x86/kernel/kvmclock.c         |   19 ++++++++++++++
 arch/x86/kvm/x86.c                 |   48 ++++++++++++++++++++++++++++++++++++
 include/asm-generic/pvclock.h      |   19 ++++++++++++++
 include/linux/kvm.h                |    4 +++
 include/linux/kvm_host.h           |    2 +
 kernel/watchdog.c                  |    9 ++++++
 8 files changed, 109 insertions(+), 0 deletions(-)
 create mode 100644 include/asm-generic/pvclock.h

-- 
1.7.5.4

^ permalink raw reply

* [PATCH 6/6 V2] Add age out of guest paused flag
From: Eric B Munson @ 2011-10-31 20:07 UTC (permalink / raw)
  To: avi
  Cc: mingo, x86, hpa, arnd, linux-kernel, kvm, linux-arch, ryanh,
	aliguori, Eric B Munson
In-Reply-To: <1320091650-24682-1-git-send-email-emunson@mgebm.net>

The KVM_GUEST_PAUSED flag will prevent a guest from compaining about a soft
lockup but it can mask real soft lockups if the flag isn't cleared when it is
no longer relevant.  This patch adds a kvm ioctl that the hypervisor will use
when it resumes a guest to start a timer for aging out the flag.  The time out
will be specified by the hypervisor in the ioctl call.

Signed-off-by: Eric B Munson <emunson@mgebm.net>
---
Cahnges from V1:
 Add host functions for flag management to arch/x86/kvm/x86.c instead of
kvmclock.c

 arch/x86/include/asm/pvclock.h |    2 ++
 arch/x86/kvm/x86.c             |   32 ++++++++++++++++++++++++++++++++
 include/linux/kvm.h            |    2 ++
 include/linux/kvm_host.h       |    2 ++
 4 files changed, 38 insertions(+), 0 deletions(-)

diff --git a/arch/x86/include/asm/pvclock.h b/arch/x86/include/asm/pvclock.h
index 9312814..e8460b9 100644
--- a/arch/x86/include/asm/pvclock.h
+++ b/arch/x86/include/asm/pvclock.h
@@ -18,6 +18,8 @@ void kvm_set_host_stopped(struct kvm_vcpu *vcpu);
 
 bool kvm_check_and_clear_host_stopped(int cpu);
 
+void kvm_clear_guest_paused(struct kvm_vcpu *vcpu, unsigned int length);
+
 /*
  * Scale a 64-bit delta by scaling and multiplying by a 32-bit fraction,
  * yielding a 64-bit result.
diff --git a/arch/x86/kvm/x86.c b/arch/x86/kvm/x86.c
index 592ac3b..fb0132a 100644
--- a/arch/x86/kvm/x86.c
+++ b/arch/x86/kvm/x86.c
@@ -46,6 +46,7 @@
 #include <linux/hash.h>
 #include <linux/pci.h>
 #include <trace/events/kvm.h>
+#include <linux/timer.h>
 
 #define CREATE_TRACE_POINTS
 #include "trace.h"
@@ -3300,6 +3301,15 @@ long kvm_arch_vcpu_ioctl(struct file *filp,
 		kvm_set_host_stopped(vcpu);
 		break;
 	}
+	case KVM_CLEAR_GUEST_PAUSED: {
+		unsigned int length;
+		r = -EFAULT;
+		if (copy_from_user(&length, argp, sizeof length))
+			goto out;
+		r = 0;
+		kvm_clear_guest_paused(vcpu, length);
+		break;
+	}
 	default:
 		r = -EINVAL;
 	}
@@ -6133,6 +6143,28 @@ void kvm_set_host_stopped(struct kvm_vcpu *vcpu)
 }
 EXPORT_SYMBOL_GPL(kvm_set_host_stopped);
 
+static void kvm_timer_clear_guest_paused(unsigned long vcpu_addr)
+{
+	struct kvm_vcpu *vcpu = (struct kvm_vcpu *)vcpu_addr;
+	struct pvclock_vcpu_time_info *src = &vcpu->arch.hv_clock;
+	src->flags = src->flags & (~PVCLOCK_GUEST_STOPPED);
+}
+
+/*
+ * Host has resumed the guest, we need to clear the guest paused flag so we
+ * don't mask any real soft lockups.
+ */
+void kvm_clear_guest_paused(struct kvm_vcpu *vcpu, unsigned int length)
+{
+	if (!timer_pending(&vcpu->flag_timer))
+		setup_timer(&vcpu->flag_timer,
+			    kvm_timer_clear_guest_paused,
+			    (unsigned long)vcpu);
+	mod_timer(&vcpu->flag_timer,
+		  jiffies + (length * HZ));
+}
+EXPORT_SYMBOL_GPL(kvm_clear_guest_paused);
+
 int kvm_arch_vcpu_ioctl_set_sregs(struct kvm_vcpu *vcpu,
 				  struct kvm_sregs *sregs)
 {
diff --git a/include/linux/kvm.h b/include/linux/kvm.h
index 87cab0d..bd9724c 100644
--- a/include/linux/kvm.h
+++ b/include/linux/kvm.h
@@ -765,6 +765,8 @@ struct kvm_clock_data {
 #define KVM_ALLOCATE_RMA	  _IOR(KVMIO,  0xa9, struct kvm_allocate_rma)
 /* VM is being stopped by host */
 #define KVM_GUEST_PAUSED	  _IO(KVMIO,   0xaa)
+/* Start the timer to clear the paused flag */
+#define KVM_CLEAR_GUEST_PAUSED	  _IO(KVMIO,   0xab)
 
 #define KVM_DEV_ASSIGN_ENABLE_IOMMU	(1 << 0)
 
diff --git a/include/linux/kvm_host.h b/include/linux/kvm_host.h
index d526231..043af4d 100644
--- a/include/linux/kvm_host.h
+++ b/include/linux/kvm_host.h
@@ -19,6 +19,7 @@
 #include <linux/slab.h>
 #include <linux/rcupdate.h>
 #include <linux/ratelimit.h>
+#include <linux/timer.h>
 #include <asm/signal.h>
 
 #include <linux/kvm.h>
@@ -154,6 +155,7 @@ struct kvm_vcpu {
 #endif
 
 	struct kvm_vcpu_arch arch;
+	struct timer_list flag_timer;
 };
 
 static inline int kvm_vcpu_exiting_guest_mode(struct kvm_vcpu *vcpu)
-- 
1.7.5.4


^ permalink raw reply related

* [PATCH 5/6 V2] Add check for suspended vm in softlockup detector
From: Eric B Munson @ 2011-10-31 20:07 UTC (permalink / raw)
  To: avi
  Cc: mingo, x86, hpa, arnd, linux-kernel, kvm, linux-arch, ryanh,
	aliguori, Eric B Munson
In-Reply-To: <1320091650-24682-1-git-send-email-emunson@mgebm.net>

A suspended VM can cause spurious soft lockup warnings.  To avoid these, the
watchdog now checks if the kernel knows it was stopped by the host and skips
the warning if so.

Signed-off-by: Eric B Munson <emunson@mgebm.net>
---
 kernel/watchdog.c |    9 +++++++++
 1 files changed, 9 insertions(+), 0 deletions(-)

diff --git a/kernel/watchdog.c b/kernel/watchdog.c
index d680381..ff86cae 100644
--- a/kernel/watchdog.c
+++ b/kernel/watchdog.c
@@ -25,6 +25,7 @@
 #include <linux/sysctl.h>
 
 #include <asm/irq_regs.h>
+#include <asm/pvclock.h>
 #include <linux/perf_event.h>
 
 int watchdog_enabled = 1;
@@ -292,6 +293,14 @@ static enum hrtimer_restart watchdog_timer_fn(struct hrtimer *hrtimer)
 	 */
 	duration = is_softlockup(touch_ts);
 	if (unlikely(duration)) {
+		/*
+		 * If a virtual machine is stopped by the host it can look to
+		 * the watchdog like a soft lockup, check to see if the host
+		 * stopped the vm before we issue the warning
+		 */
+		if (kvm_check_and_clear_host_stopped(smp_processor_id()))
+			return HRTIMER_RESTART;
+
 		/* only warn once */
 		if (__this_cpu_read(soft_watchdog_warn) == true)
 			return HRTIMER_RESTART;
-- 
1.7.5.4

^ permalink raw reply related

* [PATCH 4/6 V2] Add generic stubs for kvm stop check functions
From: Eric B Munson @ 2011-10-31 20:07 UTC (permalink / raw)
  To: avi
  Cc: mingo, x86, hpa, arnd, linux-kernel, kvm, linux-arch, ryanh,
	aliguori, Eric B Munson
In-Reply-To: <1320091650-24682-1-git-send-email-emunson@mgebm.net>

Signed-off-by: Eric B Munson <emunson@mgebm.net>
---
 include/asm-generic/pvclock.h |   19 +++++++++++++++++++
 1 files changed, 19 insertions(+), 0 deletions(-)
 create mode 100644 include/asm-generic/pvclock.h

diff --git a/include/asm-generic/pvclock.h b/include/asm-generic/pvclock.h
new file mode 100644
index 0000000..b42a8eb
--- /dev/null
+++ b/include/asm-generic/pvclock.h
@@ -0,0 +1,19 @@
+#ifndef _ASM_GENERIC_PVCLOCK_H
+#define _ASM_GENERIC_PVCLOCK_H
+
+
+/*
+ * These functions are used by architectures that support kvm to avoid issuing
+ * false soft lockup messages.
+ */
+static inline bool kvm_check_and_clear_host_stopped(int cpu)
+{
+	return false;
+}
+
+static inline void kvm_clear_guest_paused(struct kvm_vcpu *vcpu)
+{
+	return;
+}
+
+#endif
-- 
1.7.5.4

^ permalink raw reply related


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.