Linux virtualization list
 help / color / mirror / Atom feed
* Re: [SeaBIOS] IO APIC emulation failure with qemu-kvm
From: Avi Kivity @ 2011-02-07  9:54 UTC (permalink / raw)
  To: Ravi Kumar Kulkarni; +Cc: Jan Kiszka, seabios, qemu-devel, kvm, virtualization
In-Reply-To: <AANLkTi=p1R63Oaw9BkZ_YLVB54Yi7mQkFt5L6W5Um1ph@mail.gmail.com>

On 02/07/2011 11:47 AM, Ravi Kumar Kulkarni wrote:
> >
> >  That is not the same address.  And the code you posted doesn't make any
> >  sense.
> >
>   sorry for the mistake. here's the correct one
>
>
> (qemu) xp /20iw 0x1e2f3f7b
>                        0x000000001e2f3f7b:  (bad)
>                        0x000000001e2f3f7c:  std
>                        0x000000001e2f3f7d:  (bad)
>                        0x000000001e2f3f7e:  (bad)

That looks like garbage.  Are you sure you're disassembling the right code?

-- 
error compiling committee.c: too many arguments to function

^ permalink raw reply

* Re: [SeaBIOS] IO APIC emulation failure with qemu-kvm
From: Ravi Kumar Kulkarni @ 2011-02-07  9:47 UTC (permalink / raw)
  To: Avi Kivity; +Cc: Jan Kiszka, seabios, qemu-devel, kvm, virtualization
In-Reply-To: <4D4FBB83.4030103@redhat.com>

On Mon, Feb 7, 2011 at 2:59 PM, Avi Kivity <avi@redhat.com> wrote:
> On 02/07/2011 11:24 AM, Ravi Kumar Kulkarni wrote:
>>
>> On Mon, Feb 7, 2011 at 2:19 PM, Avi Kivity<avi@redhat.com>  wrote:
>> >  On 02/07/2011 10:33 AM, Ravi Kumar Kulkarni wrote:
>> >>
>> >>  On Sun, Feb 6, 2011 at 10:50 PM, Avi Kivity<avi@redhat.com>    wrote:
>> >>>
>> >>>  >    On 02/04/2011 03:58 PM, Jan Kiszka wrote:
>> >>>>
>> >>>>  >>
>> >>>>>
>> >>>>>  >>    >       when i run my kernel image with qemu-kvm it gives
>> >>>>> emulation
>> >>>>>  >>  error
>> >>>>>  >>    >    failure
>> >>>>>  >>    >      trying to execute the code outside ROM or RAM at
>> >>>>> fec00000(IO
>> >>>>>  >>  APIC base
>> >>>>>  >>    >    address)
>> >>>>>  >>    >      but the same code runs fine with qemu. can anyone
>> >>>>> please point
>> >>>>>  >>  me
>> >>>>>  >>    >      where might be the problem or how to find out this
>> >>>>> one?
>> >>>
>> >>>  >
>> >>>  >    Please post the error message.
>> >>
>> >>     Im attachin the error message in kvm.txt file  with  above mail.
>> >>     KVM internal error. Suberror: 1
>> >>
>> >> rax
>> >>  000000000000000d rbx 000000001e2db2a6 rcx 00000000fa4bec19 rdx
>> >>  0000000000000088
>> >>                             rsi 000000001f4de1ea rdi 0000000000000000
>> >> rsp
>> >>  00000000000c0004 rbp 000000001f464fbb
>> >>
>> >>                                      r8  0000000000000000 r9
>> >>  0000000000000000
>> >>  r10 0000000000000000 r11 0000000000000000
>> >>
>> >>  r12
>> >>  0000000000000000 r13 0000000000000000 r14 0000000000000000 r15
>> >>  0000000000000000
>> >>                            rip 000000001e2f3f7b rflags 00010097
>> >>                                                                cs 0008
>> >>  (00000000/ffffffff p 1 dpl 0 db 1 s 1 type b l 0 g
>> >
>> >  What's the guest code at rip 0x1e2f3f7b ?
>>
>>  please find the code below.
>>
>>  (qemu) xp /20iw 0x1e2f3f83
>
> That is not the same address.  And the code you posted doesn't make any
> sense.
>
 sorry for the mistake. here's the correct one


(qemu) xp /20iw 0x1e2f3f7b
                      0x000000001e2f3f7b:  (bad)
                      0x000000001e2f3f7c:  std
                      0x000000001e2f3f7d:  (bad)
                      0x000000001e2f3f7e:  (bad)
                      0x000000001e2f3f7f:  decl   0x28000000
                      0x000000001e2f3f85:  loope  0x1e2f3f87
                      0x000000001e2f3f87:  add    %cl,0x81e2f4c(%edi)
                      0x000000001e2f3f8d:  add    %al,(%eax)
                      0x000000001e2f3f8f:  add    %al,(%edi)
                      0x000000001e2f3f91:  add    %al,(%ecx)
                      0x000000001e2f3f93:  add    %ch,(%edx)
                      0x000000001e2f3f95:  loope  0x1e2f3fe4
                      0x000000001e2f3f97:  pop    %ds
                      0x000000001e2f3f98:  mov    %cl,%ah
                      0x000000001e2f3f9a:  dec    %ebp
                      0x000000001e2f3f9b:  pop    %ds
                      0x000000001e2f3f9c:  or     $0xb41f4de0,%eax
                      0x000000001e2f3fa1:  aas
                      0x000000001e2f3fa2:  das
                      0x000000001e2f3fa3:  push   %ds



Warm regards,
Ravi Kulkarni.

^ permalink raw reply

* Re: [SeaBIOS] IO APIC emulation failure with qemu-kvm
From: Avi Kivity @ 2011-02-07  9:29 UTC (permalink / raw)
  To: Ravi Kumar Kulkarni; +Cc: Jan Kiszka, seabios, qemu-devel, kvm, virtualization
In-Reply-To: <AANLkTik_vm3anS7V6uPr-+9Duz2SUDvoJT=MPsuA-Rv2@mail.gmail.com>

On 02/07/2011 11:24 AM, Ravi Kumar Kulkarni wrote:
> On Mon, Feb 7, 2011 at 2:19 PM, Avi Kivity<avi@redhat.com>  wrote:
> >  On 02/07/2011 10:33 AM, Ravi Kumar Kulkarni wrote:
> >>
> >>  On Sun, Feb 6, 2011 at 10:50 PM, Avi Kivity<avi@redhat.com>    wrote:
> >>>
> >>>  >    On 02/04/2011 03:58 PM, Jan Kiszka wrote:
> >>>>
> >>>>  >>
> >>>>>
> >>>>>  >>    >       when i run my kernel image with qemu-kvm it gives emulation
> >>>>>  >>  error
> >>>>>  >>    >    failure
> >>>>>  >>    >      trying to execute the code outside ROM or RAM at fec00000(IO
> >>>>>  >>  APIC base
> >>>>>  >>    >    address)
> >>>>>  >>    >      but the same code runs fine with qemu. can anyone please point
> >>>>>  >>  me
> >>>>>  >>    >      where might be the problem or how to find out this one?
> >>>
> >>>  >
> >>>  >    Please post the error message.
> >>
> >>     Im attachin the error message in kvm.txt file  with  above mail.
> >>     KVM internal error. Suberror: 1
> >>                                                                       rax
> >>  000000000000000d rbx 000000001e2db2a6 rcx 00000000fa4bec19 rdx
> >>  0000000000000088
> >>                             rsi 000000001f4de1ea rdi 0000000000000000 rsp
> >>  00000000000c0004 rbp 000000001f464fbb
> >>
> >>                                      r8  0000000000000000 r9  0000000000000000
> >>  r10 0000000000000000 r11 0000000000000000
> >>                                                                      r12
> >>  0000000000000000 r13 0000000000000000 r14 0000000000000000 r15
> >>  0000000000000000
> >>                            rip 000000001e2f3f7b rflags 00010097
> >>                                                                cs 0008
> >>  (00000000/ffffffff p 1 dpl 0 db 1 s 1 type b l 0 g
> >
> >  What's the guest code at rip 0x1e2f3f7b ?
>
>   please find the code below.
>
>   (qemu) xp /20iw 0x1e2f3f83

That is not the same address.  And the code you posted doesn't make any 
sense.

-- 
error compiling committee.c: too many arguments to function

^ permalink raw reply

* Re: [SeaBIOS] IO APIC emulation failure with qemu-kvm
From: Ravi Kumar Kulkarni @ 2011-02-07  9:24 UTC (permalink / raw)
  To: Avi Kivity; +Cc: Jan Kiszka, seabios, qemu-devel, kvm, virtualization
In-Reply-To: <4D4FB231.1050107@redhat.com>

On Mon, Feb 7, 2011 at 2:19 PM, Avi Kivity <avi@redhat.com> wrote:
> On 02/07/2011 10:33 AM, Ravi Kumar Kulkarni wrote:
>>
>> On Sun, Feb 6, 2011 at 10:50 PM, Avi Kivity<avi@redhat.com>  wrote:
>>>
>>> >  On 02/04/2011 03:58 PM, Jan Kiszka wrote:
>>>>
>>>> >>
>>>>>
>>>>> >>  >     when i run my kernel image with qemu-kvm it gives emulation
>>>>> >> error
>>>>> >>  >  failure
>>>>> >>  >    trying to execute the code outside ROM or RAM at fec00000(IO
>>>>> >> APIC base
>>>>> >>  >  address)
>>>>> >>  >    but the same code runs fine with qemu. can anyone please point
>>>>> >> me
>>>>> >>  >    where might be the problem or how to find out this one?
>>>
>>> >
>>> >  Please post the error message.
>>
>>   Im attachin the error message in kvm.txt file  with  above mail.
>>   KVM internal error. Suberror: 1
>>                                                                     rax
>> 000000000000000d rbx 000000001e2db2a6 rcx 00000000fa4bec19 rdx
>> 0000000000000088
>>                           rsi 000000001f4de1ea rdi 0000000000000000 rsp
>> 00000000000c0004 rbp 000000001f464fbb
>>
>>                                    r8  0000000000000000 r9  0000000000000000
>> r10 0000000000000000 r11 0000000000000000
>>                                                                    r12
>> 0000000000000000 r13 0000000000000000 r14 0000000000000000 r15
>> 0000000000000000
>>                          rip 000000001e2f3f7b rflags 00010097
>>                                                              cs 0008
>> (00000000/ffffffff p 1 dpl 0 db 1 s 1 type b l 0 g
>
> What's the guest code at rip 0x1e2f3f7b ?

 please find the code below.

 (qemu) xp /20iw 0x1e2f3f83

                                            0x000000001e2f3f83:  pop    %ds

                                            0x000000001e2f3f84:  jae
 0x1e2f3f66

                                            0x000000001e2f3f86:  dec    %ebp

                                            0x000000001e2f3f87:  pop    %ds

                                            0x000000001e2f3f88:  pushf

                                            0x000000001e2f3f89:  aas

                                            0x000000001e2f3f8a:  das

                                            0x000000001e2f3f8b:  push
 %ds

0x000000001e2f3f8c:  iret

                                            0x000000001e2f3f8d:  test
 $0x1e2e,%eax

                                            0x000000001e2f3f92:  add
 %al,(%eax)

0x000000001e2f3f94:  add    %al,(%eax)

                                            0x000000001e2f3f96:  add
 %al,(%eax)

                                            0x000000001e2f3f98:  or
 $0x0,%eax

                                            0x000000001e2f3f9d:  add
 %al,(%eax)

0x000000001e2f3f9f:  add    %cl,0x81e2f4c(%esi)

                                            0x000000001e2f3fa5:  add
 %al,(%eax)

                                            0x000000001e2f3fa7:  add
 %al,(%edx)

0x000000001e2f3fa9:  add    %al,(%ecx)

                                            0x000000001e2f3fab:  add
 %cl,-0x1f(%edx)
Thanks,
Ravi Kulkarni.


>
> --

>
>

^ permalink raw reply

* Re: [SeaBIOS] IO APIC emulation failure with qemu-kvm
From: Avi Kivity @ 2011-02-07  8:49 UTC (permalink / raw)
  To: Ravi Kumar Kulkarni; +Cc: Jan Kiszka, seabios, qemu-devel, kvm, virtualization
In-Reply-To: <AANLkTimMQ5hcbtBaYae8p1YBv60GbCYitYRiCZ=P-tKv@mail.gmail.com>

On 02/07/2011 10:33 AM, Ravi Kumar Kulkarni wrote:
> On Sun, Feb 6, 2011 at 10:50 PM, Avi Kivity<avi@redhat.com>  wrote:
>> >  On 02/04/2011 03:58 PM, Jan Kiszka wrote:
>>> >>
>>>> >>  >     when i run my kernel image with qemu-kvm it gives emulation error
>>>> >>  >  failure
>>>> >>  >    trying to execute the code outside ROM or RAM at fec00000(IO APIC base
>>>> >>  >  address)
>>>> >>  >    but the same code runs fine with qemu. can anyone please point me
>>>> >>  >    where might be the problem or how to find out this one?
>> >
>> >  Please post the error message.
>    Im attachin the error message in kvm.txt file  with  above mail.
>    KVM internal error. Suberror: 1
>                                                                      rax 000000000000000d rbx 000000001e2db2a6 rcx 00000000fa4bec19 rdx 0000000000000088
>                            rsi 000000001f4de1ea rdi 0000000000000000 rsp 00000000000c0004 rbp 000000001f464fbb
>                                                                                                               r8  0000000000000000 r9  0000000000000000 r10 0000000000000000 r11 0000000000000000
>                                                                     r12 0000000000000000 r13 0000000000000000 r14 0000000000000000 r15 0000000000000000
>                           rip 000000001e2f3f7b rflags 00010097
>                                                               cs 0008 (00000000/ffffffff p 1 dpl 0 db 1 s 1 type b l 0 g

What's the guest code at rip 0x1e2f3f7b ?

-- 
error compiling committee.c: too many arguments to function

^ permalink raw reply

* Re: [SeaBIOS] IO APIC emulation failure with qemu-kvm
From: Ravi Kumar Kulkarni @ 2011-02-07  8:33 UTC (permalink / raw)
  To: Avi Kivity; +Cc: Jan Kiszka, seabios, qemu-devel, kvm, virtualization
In-Reply-To: <4D4ED860.2060109@redhat.com>

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

On Sun, Feb 6, 2011 at 10:50 PM, Avi Kivity <avi@redhat.com> wrote:
> On 02/04/2011 03:58 PM, Jan Kiszka wrote:
>>
>> >   when i run my kernel image with qemu-kvm it gives emulation error
>> > failure
>> >  trying to execute the code outside ROM or RAM at fec00000(IO APIC base
>> > address)
>> >  but the same code runs fine with qemu. can anyone please point me
>> >  where might be the problem or how to find out this one?
>
> Please post the error message.
  Im attachin the error message in kvm.txt file  with  above mail.
>
>> Start with capturing the activity of you guest via ftrace, enabling all
>> kvm:* events. You may also try to attach gdb to qemu and analyze the
>> different code path in both versions (specifically if you have debugging
>> symbols for your guest).
>
> The easy way to do that is trace-cmd (http://lwn.net/Articles/341902/):
>
> $ trace-cmd record -e kvm -b 20000
> ...
> ^C
> $ trace-cmd report

please give me some time to set up the trace-cmd utility for capture.
i also want to run with the latest kernel and qemu-kvm once. i will
post the results soon.


the kernel version im using is 2.6.33 and qemu-kvm version is 0.12.3
and qemu version is 0.13. also im not doing any fancy relocations with
the IO APIC.
>
> --
> error compiling committee.c: too many arguments to function

[-- Attachment #2: kvm.txt --]
[-- Type: text/plain, Size: 1999 bytes --]

  KVM internal error. Suberror: 1
                                                                    rax 000000000000000d rbx 000000001e2db2a6 rcx 00000000fa4bec19 rdx 0000000000000088
                          rsi 000000001f4de1ea rdi 0000000000000000 rsp 00000000000c0004 rbp 000000001f464fbb
                                                                                                             r8  0000000000000000 r9  0000000000000000 r10 0000000000000000 r11 0000000000000000
                                                                   r12 0000000000000000 r13 0000000000000000 r14 0000000000000000 r15 0000000000000000
                         rip 000000001e2f3f7b rflags 00010097
                                                             cs 0008 (00000000/ffffffff p 1 dpl 0 db 1 s 1 type b l 0 g 1 avl 0)
   ds 0000 (00000000/ffffffff p 0 dpl 0 db 0 s 0 type 0 l 0 g 0 avl 0)
                                                                      es 0040 (00000000/ffffffff p 1 dpl 3 db 1 s 1 type 3 l 0 g 1 avl 0)
            ss 0010 (00000000/ffffffff p 1 dpl 0 db 1 s 1 type 3 l 0 g 1 avl 0)
                                                                               fs 0040 (00000000/ffffffff p 1 dpl 3 db 1 s 1 type 3 l 0 g 1 avl 0)
                     gs 0040 (00000000/ffffffff p 1 dpl 3 db 1 s 1 type 3 l 0 g 1 avl 0)
                                                                                        tr 004b (1f522206/00000067 p 1 dpl 3 db 0 s 0 type b l 0 g 0 avl 1)
                              ldt 0000 (00000000/0000ffff p 1 dpl 0 db 0 s 0 type 2 l 0 g 0 avl 0)
                                                                                                  gdt 1f522006/7f
                                                                                                                 idt 1f9af000/7ff
    cr0 11 cr2 0 cr3 0 cr4 0 cr8 0 efer 0
                                         emulation failure, check dmesg for details

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

_______________________________________________
Virtualization mailing list
Virtualization@lists.linux-foundation.org
https://lists.linux-foundation.org/mailman/listinfo/virtualization

^ permalink raw reply

* Re: [PATCH] sched: provide scheduler_ipi() callback in response to smp_send_reschedule()
From: Benjamin Herrenschmidt @ 2011-02-06 23:26 UTC (permalink / raw)
  To: Peter Zijlstra
  Cc: linux-m32r-ja-rQhvJZKUsGBRYuoOT4C5/9i2O/JbrIOy,
	linux-mips-6z/3iImG2C8G8FEW9MqTrA,
	linux-m32r-rQhvJZKUsGBRYuoOT4C5/9i2O/JbrIOy,
	linux-ia64-u79uwXL29TY76Z2rM5mHXA,
	linux-sh-u79uwXL29TY76Z2rM5mHXA, Heiko Carstens, Howells,
	Paul Mackerras, H. Peter Anvin, sparclinux-u79uwXL29TY76Z2rM5mHXA,
	Linux-Arch, linux-s390-u79uwXL29TY76Z2rM5mHXA, Jesper Nilsson,
	Mikael-ZG0+EudsQA8dtHy/vicBwGD2FQJk+8+b, Russell King, Takata,
	x86-DgEjT+Ai2ygdnm+yROfE0A, James E.J. Bottomley,
	virtualization-qjLDD68F18O7TbgM5vRIOg, Ingo Molnar,
	xen-devel-GuqFBffKawuULHF6PoxzQEEOCMrvLtNR,
	Chris-ZG0+EudsQA8dtHy/vicBwGD2FQJk+8+b, Matt Turner,
	uclinux-dist-devel-ZG0+EudsQA8dtHy/vicBwGD2FQJk+8+b, Fen
In-Reply-To: <1295262433.30950.53.camel@laptop>

On Mon, 2011-01-17 at 12:07 +0100, Peter Zijlstra wrote:
> diff --git a/arch/powerpc/kernel/smp.c b/arch/powerpc/kernel/smp.c
> index 68034bb..7ee0fc3 100644
> --- a/arch/powerpc/kernel/smp.c
> +++ b/arch/powerpc/kernel/smp.c
> @@ -128,6 +128,7 @@ static irqreturn_t call_function_action(int irq, void *data)
>  static irqreturn_t reschedule_action(int irq, void *data)
>  {
>         /* we just need the return path side effect of checking need_resched */
> +       scheduler_ipi();
>         return IRQ_HANDLED;
>  }
>   

You missed:

diff --git a/arch/powerpc/kernel/smp.c b/arch/powerpc/kernel/smp.c
index 9813605..467d122 100644
--- a/arch/powerpc/kernel/smp.c
+++ b/arch/powerpc/kernel/smp.c
@@ -98,6 +98,7 @@ void smp_message_recv(int msg)
                break;
        case PPC_MSG_RESCHEDULE:
                /* we notice need_resched on exit */
+               scheduler_ipi();
                break;
        case PPC_MSG_CALL_FUNC_SINGLE:
                generic_smp_call_function_single_interrupt();

Fold that in and add:

Acked-by: Benjamin Herrenschmidt <benh-XVmvHMARGAS8U2dJNN8I7kB+6BGkLq7r@public.gmane.org>

(We have two variants of the IPIs)

Cheers,
Ben.

^ permalink raw reply related

* Re: [SeaBIOS] IO APIC emulation failure with qemu-kvm
From: Avi Kivity @ 2011-02-06 17:20 UTC (permalink / raw)
  To: Jan Kiszka, Ravi Kumar Kulkarni; +Cc: seabios, qemu-devel, kvm, virtualization
In-Reply-To: <4D4C0613.9050309@siemens.com>

On 02/04/2011 03:58 PM, Jan Kiszka wrote:
> >   when i run my kernel image with qemu-kvm it gives emulation error failure
> >  trying to execute the code outside ROM or RAM at fec00000(IO APIC base address)
> >  but the same code runs fine with qemu. can anyone please point me
> >  where might be the problem or how to find out this one?

Please post the error message.

> Start with capturing the activity of you guest via ftrace, enabling all
> kvm:* events. You may also try to attach gdb to qemu and analyze the
> different code path in both versions (specifically if you have debugging
> symbols for your guest).

The easy way to do that is trace-cmd (http://lwn.net/Articles/341902/):

$ trace-cmd record -e kvm -b 20000
...
^C
$ trace-cmd report

-- 
error compiling committee.c: too many arguments to function

^ permalink raw reply

* Re: IO APIC emulation failure with qemu-kvm
From: Jan Kiszka @ 2011-02-04 13:58 UTC (permalink / raw)
  To: Ravi Kumar Kulkarni; +Cc: seabios, qemu-devel, kvm, virtualization
In-Reply-To: <AANLkTi=pA0aBsOZn9D+EUZ4SyC7wNAYAHQXN9=1PcGNT@mail.gmail.com>

On 2011-02-04 14:35, Ravi Kumar Kulkarni wrote:
> Hi all,
>  I'm Initializing the Local and IO APIC for a propeitary operating
> system running in Virtualized Environment  .
>  Im facing some problem with qemu-kvm  but the code runs fine with qemu.

Does it also run fine with qemu-kvm and -no-kvm-irqchip? What versions
of the kernel and qemu-kvm are you using? If not the latest git, does
updating change the picture?

>  when i run my kernel image with qemu-kvm it gives emulation error failure
> trying to execute the code outside ROM or RAM at fec00000(IO APIC base address)
> but the same code runs fine with qemu. can anyone please point me
> where might be the problem or how to find out this one?

Start with capturing the activity of you guest via ftrace, enabling all
kvm:* events. You may also try to attach gdb to qemu and analyze the
different code path in both versions (specifically if you have debugging
symbols for your guest).

BTW, is your OS doing any fancy [IO]APIC relocations?

Jan

-- 
Siemens AG, Corporate Technology, CT T DE IT 1
Corporate Competence Center Embedded Linux

^ permalink raw reply

* IO APIC emulation failure with qemu-kvm
From: Ravi Kumar Kulkarni @ 2011-02-04 13:35 UTC (permalink / raw)
  To: seabios; +Cc: qemu-devel, kvm, virtualization

Hi all,
 I'm Initializing the Local and IO APIC for a propeitary operating
system running in Virtualized Environment  .
 Im facing some problem with qemu-kvm  but the code runs fine with qemu.
 when i run my kernel image with qemu-kvm it gives emulation error failure
trying to execute the code outside ROM or RAM at fec00000(IO APIC base address)
but the same code runs fine with qemu. can anyone please point me
where might be the problem or how to find out this one?
Warm Regards,
Ravi Kulkarni.

^ permalink raw reply

* [PATCH] staging: hv: Enable sending GARP packet after live migration
From: Haiyang Zhang @ 2011-02-02 21:42 UTC (permalink / raw)
  To: haiyangz, hjanssen, gregkh, linux-kernel, devel, virtualization; +Cc: stable

The hv_netvsc gets RNDIS_STATUS_MEDIA_CONNECT event after the VM
is live migrated. Adding call to netif_notify_peers() for this event
to send GARP (Gratuitous ARP) to notify network peers. Otherwise,
the VM's network connection may stop after a live migration.

This patch should also be applied to stable kernel 2.6.32 and later.

Signed-off-by: Haiyang Zhang <haiyangz@microsoft.com>
Signed-off-by: Hank Janssen <hjanssen@microsoft.com>
Cc: stable <stable@kernel.org>
---
 drivers/staging/hv/netvsc_drv.c |    1 +
 1 files changed, 1 insertions(+), 0 deletions(-)

diff --git a/drivers/staging/hv/netvsc_drv.c b/drivers/staging/hv/netvsc_drv.c
index 54706a1..b41c964 100644
--- a/drivers/staging/hv/netvsc_drv.c
+++ b/drivers/staging/hv/netvsc_drv.c
@@ -236,6 +236,7 @@ static void netvsc_linkstatus_callback(struct hv_device *device_obj,
 	if (status == 1) {
 		netif_carrier_on(net);
 		netif_wake_queue(net);
+		netif_notify_peers(net);
 	} else {
 		netif_carrier_off(net);
 		netif_stop_queue(net);
-- 
1.5.5.6

^ permalink raw reply related

* Re: [PULL] vhost-net: 2.6.38 - warning fix
From: David Miller @ 2011-02-01 20:58 UTC (permalink / raw)
  To: mst; +Cc: kvm, virtualization, netdev, linux-kernel
In-Reply-To: <20110201154440.GA22819@redhat.com>

From: "Michael S. Tsirkin" <mst@redhat.com>
Date: Tue, 1 Feb 2011 17:44:40 +0200

> git://git.kernel.org/pub/scm/linux/kernel/git/mst/vhost.git vhost-net

Pulled, thanks Michael.

^ permalink raw reply

* Re: [PATCH] virtio_blk: allow re-reading config space at runtime
From: Christoph Hellwig @ 2011-02-01 17:33 UTC (permalink / raw)
  To: Michael S. Tsirkin
  Cc: Christoph Hellwig, Rusty Russell, linux-kernel, virtualization,
	kvm
In-Reply-To: <20110127153220.GB4898@redhat.com>

On Thu, Jan 27, 2011 at 05:32:21PM +0200, Michael S. Tsirkin wrote:
> This needs to be flushed on device removal, I think,
> otherwise the vdev pointer will go stale.

Indeed.

> 
> > +}
> > +
> > +
> 
> Two empty lines :)


I'll fix it up.

^ permalink raw reply

* [PULL] vhost-net: 2.6.38 - warning fix
From: Michael S. Tsirkin @ 2011-02-01 15:44 UTC (permalink / raw)
  To: David Miller; +Cc: kvm, virtualization, netdev, linux-kernel

Please merge for 2.6.38. Not the most elegant fix,
but it does fix the noise in dmesg that interferes with
kvm debugging, and probably the best we can do for 2.6.38.

The following changes since commit fca540ab5f4718c6133f71f7be1793066008bf89:

  enc28j60: Fix reading of transmit status vector (2011-01-31 20:56:54 -0800)

are available in the git repository at:
  git://git.kernel.org/pub/scm/linux/kernel/git/mst/vhost.git vhost-net

Michael S. Tsirkin (1):
      vhost: rcu annotation fixup

 drivers/vhost/net.c   |    9 +++++----
 drivers/vhost/vhost.h |    6 +++---
 2 files changed, 8 insertions(+), 7 deletions(-)

^ permalink raw reply

* Re: [PATCH] virtio: console: Move file back to drivers/char/
From: Arnd Bergmann @ 2011-02-01 12:40 UTC (permalink / raw)
  To: Amit Shah; +Cc: Greg KH, linux-kernel, Virtualization List
In-Reply-To: <bd7e7969221007e205ef0d2bf144d2f3109036da.1296532834.git.amit.shah@redhat.com>

On Tuesday 01 February 2011, Amit Shah wrote:
> Commit 728674a7e466628df2aeec6d11a2ae1ef968fb67 moved virtio_console.c
> to drivers/tty/hvc/ under the perception of this being an hvc driver.
> It was such once, but these days it has generic communication
> capabilities as well, so move it to drivers/char/.
> 
> In the future, the hvc part from this file can be split off and moved
> under drivers/tty/hvc/.
> 
> CC: Rusty Russell <rusty@rustcorp.com.au>
> CC: Greg KH <greg@kroah.com>
> CC: Arnd Bergmann <arnd@arndb.de>
> Signed-off-by: Amit Shah <amit.shah@redhat.com>

Acked-by: Arnd Bergmann <arnd@arndb.de>

^ permalink raw reply

* [PATCH] virtio: console: Move file back to drivers/char/
From: Amit Shah @ 2011-02-01  4:01 UTC (permalink / raw)
  To: Virtualization List; +Cc: Amit Shah, Greg KH, linux-kernel, Arnd Bergmann
In-Reply-To: <20110131221454.GA14884@kroah.com>

Commit 728674a7e466628df2aeec6d11a2ae1ef968fb67 moved virtio_console.c
to drivers/tty/hvc/ under the perception of this being an hvc driver.
It was such once, but these days it has generic communication
capabilities as well, so move it to drivers/char/.

In the future, the hvc part from this file can be split off and moved
under drivers/tty/hvc/.

CC: Rusty Russell <rusty@rustcorp.com.au>
CC: Greg KH <greg@kroah.com>
CC: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: Amit Shah <amit.shah@redhat.com>
---
 drivers/char/Makefile                      |    1 +
 drivers/{tty/hvc => char}/virtio_console.c |    2 +-
 drivers/tty/hvc/Makefile                   |    1 -
 3 files changed, 2 insertions(+), 2 deletions(-)
 rename drivers/{tty/hvc => char}/virtio_console.c (99%)

diff --git a/drivers/char/Makefile b/drivers/char/Makefile
index 5bc765d..8238f89 100644
--- a/drivers/char/Makefile
+++ b/drivers/char/Makefile
@@ -30,6 +30,7 @@ obj-$(CONFIG_SYNCLINK_GT)	+= synclink_gt.o
 obj-$(CONFIG_AMIGA_BUILTIN_SERIAL) += amiserial.o
 obj-$(CONFIG_SX)		+= sx.o generic_serial.o
 obj-$(CONFIG_RIO)		+= rio/ generic_serial.o
+obj-$(CONFIG_VIRTIO_CONSOLE)	+= virtio_console.o
 obj-$(CONFIG_RAW_DRIVER)	+= raw.o
 obj-$(CONFIG_SGI_SNSC)		+= snsc.o snsc_event.o
 obj-$(CONFIG_MSPEC)		+= mspec.o
diff --git a/drivers/tty/hvc/virtio_console.c b/drivers/char/virtio_console.c
similarity index 99%
rename from drivers/tty/hvc/virtio_console.c
rename to drivers/char/virtio_console.c
index 896a2ce..5feadee 100644
--- a/drivers/tty/hvc/virtio_console.c
+++ b/drivers/char/virtio_console.c
@@ -31,7 +31,7 @@
 #include <linux/virtio_console.h>
 #include <linux/wait.h>
 #include <linux/workqueue.h>
-#include "hvc_console.h"
+#include "../tty/hvc/hvc_console.h"
 
 /*
  * This is a global struct for storing common data for all the devices
diff --git a/drivers/tty/hvc/Makefile b/drivers/tty/hvc/Makefile
index e6bed5f..d79e7e9 100644
--- a/drivers/tty/hvc/Makefile
+++ b/drivers/tty/hvc/Makefile
@@ -10,4 +10,3 @@ obj-$(CONFIG_HVC_XEN)		+= hvc_xen.o
 obj-$(CONFIG_HVC_IUCV)		+= hvc_iucv.o
 obj-$(CONFIG_HVC_UDBG)		+= hvc_udbg.o
 obj-$(CONFIG_HVCS)		+= hvcs.o
-obj-$(CONFIG_VIRTIO_CONSOLE)	+= virtio_console.o
-- 
1.7.3.5

^ permalink raw reply related

* Re: [PATCH] virtio: update MAINTAINERS
From: Rusty Russell @ 2011-02-01  3:07 UTC (permalink / raw)
  To: Linus Torvalds; +Cc: Michael S. Tsirkin, linux-kernel, virtualization
In-Reply-To: <AANLkTi=m5AFmRPRESfbXUFqUv3Pom5x4X2LKX8DD0x=3@mail.gmail.com>

On Tue, 1 Feb 2011 08:41:44 am Linus Torvalds wrote:
> On Mon, Jan 31, 2011 at 4:16 PM, Rusty Russell <rusty@rustcorp.com.au> wrote:
> > Patches should keep coming through Rusty but it
> > helps if I'm Cc'd as well.
> 
> This commit log makes no sense as being yours. It's clearly frm
> Michael, but you're missing that vital piece of information, ie the
> "From: Michael S Tsirkin .." line at the top.
> 
> Please don't drop patch authorship attributions.

Sorry, my mistake.  He sent it pasted to the bottom of another mail, and
I over-cleaned the headers.

Thanks for fixing,
Rusty.

^ permalink raw reply

* Re: [PATCH] virtio: update MAINTAINERS
From: Linus Torvalds @ 2011-01-31 22:11 UTC (permalink / raw)
  To: Rusty Russell; +Cc: Michael S. Tsirkin, linux-kernel, virtualization
In-Reply-To: <201101311646.20873.rusty@rustcorp.com.au>

On Mon, Jan 31, 2011 at 4:16 PM, Rusty Russell <rusty@rustcorp.com.au> wrote:
> Patches should keep coming through Rusty but it
> helps if I'm Cc'd as well.

This commit log makes no sense as being yours. It's clearly frm
Michael, but you're missing that vital piece of information, ie the
"From: Michael S Tsirkin .." line at the top.

Please don't drop patch authorship attributions.

Tssk.

                     Linus

^ permalink raw reply

* Re: [PATCH 1/2] virtio: console: Wake up outvq on host notifications
From: Rusty Russell @ 2011-01-31 10:29 UTC (permalink / raw)
  To: Amit Shah; +Cc: Hans de Goede, Virtualization List
In-Reply-To: <201101312033.15623.rusty@rustcorp.com.au>

On Mon, 31 Jan 2011 08:33:15 pm Rusty Russell wrote:
> On Mon, 31 Jan 2011 06:06:36 pm Amit Shah wrote:
> > The outvq needs to be woken up on host notifications so that buffers
> > consumed by the host can be reclaimed, outvq freed, and application
> > writes may proceed again.
> > 
> > The need for this is now finally noticed when I have qemu patches ready
> > to use nonblocking IO and flow control.
> 
> What about -stable?

Sorry, I missed the CC...

Thanks,
Rusty.

^ permalink raw reply

* Re: [PATCH 1/2] virtio: console: Wake up outvq on host notifications
From: Amit Shah @ 2011-01-31 10:28 UTC (permalink / raw)
  To: Rusty Russell; +Cc: Hans de Goede, stable, Virtualization List
In-Reply-To: <201101312033.15623.rusty@rustcorp.com.au>

On (Mon) Jan 31 2011 [20:33:15], Rusty Russell wrote:
> On Mon, 31 Jan 2011 06:06:36 pm Amit Shah wrote:
> > The outvq needs to be woken up on host notifications so that buffers
> > consumed by the host can be reclaimed, outvq freed, and application
> > writes may proceed again.
> > 
> > The need for this is now finally noticed when I have qemu patches ready
> > to use nonblocking IO and flow control.
> 
> What about -stable?

Yes, it's needed (I added the CC: stable@kernel.org tag -- that should
be enough, right?)

Thanks,
		Amit

^ permalink raw reply

* Re: [PATCH 1/2] virtio: console: Wake up outvq on host notifications
From: Rusty Russell @ 2011-01-31 10:03 UTC (permalink / raw)
  To: Amit Shah; +Cc: Hans de Goede, stable, Virtualization List
In-Reply-To: <eb504880dbb2b70d51c62a63012b69408b80d070.1296459389.git.amit.shah@redhat.com>

On Mon, 31 Jan 2011 06:06:36 pm Amit Shah wrote:
> The outvq needs to be woken up on host notifications so that buffers
> consumed by the host can be reclaimed, outvq freed, and application
> writes may proceed again.
> 
> The need for this is now finally noticed when I have qemu patches ready
> to use nonblocking IO and flow control.

What about -stable?

Thanks,
Rusty.

^ permalink raw reply

* Re: [PATCH 1/2] virtio: console: Wake up outvq on host notifications
From: Hans de Goede @ 2011-01-31  8:53 UTC (permalink / raw)
  To: Amit Shah; +Cc: stable, Virtualization List
In-Reply-To: <eb504880dbb2b70d51c62a63012b69408b80d070.1296459389.git.amit.shah@redhat.com>

Acked-by: Hans de Goede <hdegoede@redhat.com>

On 01/31/2011 08:36 AM, Amit Shah wrote:
> The outvq needs to be woken up on host notifications so that buffers
> consumed by the host can be reclaimed, outvq freed, and application
> writes may proceed again.
>
> The need for this is now finally noticed when I have qemu patches ready
> to use nonblocking IO and flow control.
>
> CC: Hans de Goede<hdegoede@redhat.com>
> CC: stable@kernel.org
> Signed-off-by: Amit Shah<amit.shah@redhat.com>
> ---
>   drivers/tty/hvc/virtio_console.c |   15 +++++++++++++--
>   1 files changed, 13 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/tty/hvc/virtio_console.c b/drivers/tty/hvc/virtio_console.c
> index c4b0255..1068095 100644
> --- a/drivers/tty/hvc/virtio_console.c
> +++ b/drivers/tty/hvc/virtio_console.c
> @@ -1473,6 +1473,17 @@ static void control_work_handler(struct work_struct *work)
>   	spin_unlock(&portdev->cvq_lock);
>   }
>
> +static void out_intr(struct virtqueue *vq)
> +{
> +	struct port *port;
> +
> +	port = find_port_by_vq(vq->vdev->priv, vq);
> +	if (!port)
> +		return;
> +
> +	wake_up_interruptible(&port->waitqueue);
> +}
> +
>   static void in_intr(struct virtqueue *vq)
>   {
>   	struct port *port;
> @@ -1577,7 +1588,7 @@ static int init_vqs(struct ports_device *portdev)
>   	 */
>   	j = 0;
>   	io_callbacks[j] = in_intr;
> -	io_callbacks[j + 1] = NULL;
> +	io_callbacks[j + 1] = out_intr;
>   	io_names[j] = "input";
>   	io_names[j + 1] = "output";
>   	j += 2;
> @@ -1591,7 +1602,7 @@ static int init_vqs(struct ports_device *portdev)
>   		for (i = 1; i<  nr_ports; i++) {
>   			j += 2;
>   			io_callbacks[j] = in_intr;
> -			io_callbacks[j + 1] = NULL;
> +			io_callbacks[j + 1] = out_intr;
>   			io_names[j] = "input";
>   			io_names[j + 1] = "output";
>   		}

^ permalink raw reply

* [PATCH 2/2] virtio: console: Update Copyright
From: Amit Shah @ 2011-01-31  7:36 UTC (permalink / raw)
  To: Rusty Russell; +Cc: Amit Shah, Virtualization List
In-Reply-To: <eb504880dbb2b70d51c62a63012b69408b80d070.1296459389.git.amit.shah@redhat.com>

Signed-off-by: Amit Shah <amit.shah@redhat.com>
---
 drivers/tty/hvc/virtio_console.c |    3 ++-
 include/linux/virtio_console.h   |    3 ++-
 2 files changed, 4 insertions(+), 2 deletions(-)

diff --git a/drivers/tty/hvc/virtio_console.c b/drivers/tty/hvc/virtio_console.c
index 1068095..f03338f 100644
--- a/drivers/tty/hvc/virtio_console.c
+++ b/drivers/tty/hvc/virtio_console.c
@@ -1,6 +1,7 @@
 /*
  * Copyright (C) 2006, 2007, 2009 Rusty Russell, IBM Corporation
- * Copyright (C) 2009, 2010 Red Hat, Inc.
+ * Copyright (C) 2009, 2010, 2011 Red Hat, Inc.
+ * Copyright (C) 2009, 2010, 2011 Amit Shah <amit.shah@redhat.com>
  *
  * This program is free software; you can redistribute it and/or modify
  * it under the terms of the GNU General Public License as published by
diff --git a/include/linux/virtio_console.h b/include/linux/virtio_console.h
index a85064d..e4d3335 100644
--- a/include/linux/virtio_console.h
+++ b/include/linux/virtio_console.h
@@ -7,7 +7,8 @@
  * This header, excluding the #ifdef __KERNEL__ part, is BSD licensed so
  * anyone can use the definitions to implement compatible drivers/servers.
  *
- * Copyright (C) Red Hat, Inc., 2009, 2010
+ * Copyright (C) Red Hat, Inc., 2009, 2010, 2011
+ * Copyright (C) Amit Shah <amit.shah@redhat.com>, 2009, 2010, 2011
  */
 
 /* Feature bits */
-- 
1.7.3.5

^ permalink raw reply related

* [PATCH 1/2] virtio: console: Wake up outvq on host notifications
From: Amit Shah @ 2011-01-31  7:36 UTC (permalink / raw)
  To: Rusty Russell; +Cc: Amit Shah, Hans de Goede, stable, Virtualization List

The outvq needs to be woken up on host notifications so that buffers
consumed by the host can be reclaimed, outvq freed, and application
writes may proceed again.

The need for this is now finally noticed when I have qemu patches ready
to use nonblocking IO and flow control.

CC: Hans de Goede <hdegoede@redhat.com>
CC: stable@kernel.org
Signed-off-by: Amit Shah <amit.shah@redhat.com>
---
 drivers/tty/hvc/virtio_console.c |   15 +++++++++++++--
 1 files changed, 13 insertions(+), 2 deletions(-)

diff --git a/drivers/tty/hvc/virtio_console.c b/drivers/tty/hvc/virtio_console.c
index c4b0255..1068095 100644
--- a/drivers/tty/hvc/virtio_console.c
+++ b/drivers/tty/hvc/virtio_console.c
@@ -1473,6 +1473,17 @@ static void control_work_handler(struct work_struct *work)
 	spin_unlock(&portdev->cvq_lock);
 }
 
+static void out_intr(struct virtqueue *vq)
+{
+	struct port *port;
+
+	port = find_port_by_vq(vq->vdev->priv, vq);
+	if (!port)
+		return;
+
+	wake_up_interruptible(&port->waitqueue);
+}
+
 static void in_intr(struct virtqueue *vq)
 {
 	struct port *port;
@@ -1577,7 +1588,7 @@ static int init_vqs(struct ports_device *portdev)
 	 */
 	j = 0;
 	io_callbacks[j] = in_intr;
-	io_callbacks[j + 1] = NULL;
+	io_callbacks[j + 1] = out_intr;
 	io_names[j] = "input";
 	io_names[j + 1] = "output";
 	j += 2;
@@ -1591,7 +1602,7 @@ static int init_vqs(struct ports_device *portdev)
 		for (i = 1; i < nr_ports; i++) {
 			j += 2;
 			io_callbacks[j] = in_intr;
-			io_callbacks[j + 1] = NULL;
+			io_callbacks[j + 1] = out_intr;
 			io_names[j] = "input";
 			io_names[j + 1] = "output";
 		}
-- 
1.7.3.5

^ permalink raw reply related

* [PATCH] virtio: update MAINTAINERS
From: Rusty Russell @ 2011-01-31  6:16 UTC (permalink / raw)
  To: Linus Torvalds; +Cc: Michael S. Tsirkin, linux-kernel, virtualization

Patches should keep coming through Rusty but it
helps if I'm Cc'd as well.

Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
---
 MAINTAINERS |   10 ++++++++++
 1 file changed, 10 insertions(+)

diff --git a/MAINTAINERS b/MAINTAINERS
index 23d0436..7de75ad 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -6439,6 +6439,16 @@ S:	Maintained
 F:	drivers/char/virtio_console.c
 F:	include/linux/virtio_console.h
 
+VIRTIO CORE, NET AND BLOCK DRIVERS
+M:	Rusty Russell <rusty@rustcorp.com.au>
+M:	"Michael S. Tsirkin" <mst@redhat.com>
+L:	virtualization@lists.linux-foundation.org
+S:	Maintained
+F:	drivers/virtio/
+F:	drivers/net/virtio_net.c
+F:	drivers/block/virtio_blk.c
+F:	include/linux/virtio_*.h
+
 VIRTIO HOST (VHOST)
 M:	"Michael S. Tsirkin" <mst@redhat.com>
 L:	kvm@vger.kernel.org

^ permalink raw reply related


This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox