RE: [PATCH V1 02/16] xen/ioreq: Make x86's IOREQ feature common

2020-10-01 Thread Paul Durrant
;Ian Jackson' > ; 'Stefano Stabellini' > ; 'Wei Liu' ; 'Roger Pau Monné' > ; 'Jun > Nakajima' ; 'Kevin Tian' ; 'Tim > Deegan' ; > 'Julien Grall' > Subject: Re: [PATCH V1 02/16] xen/ioreq: Make x86&#x

Re: [PATCH V1 02/16] xen/ioreq: Make x86's IOREQ feature common

2020-10-01 Thread Jan Beulich
On 30.09.2020 19:47, Julien Grall wrote: > Regarding the fix itself, I am not sure what sort of synchronization we > can do. Are you suggesting to wait for the I/O to complete? If so, how > do we handle the case the IOREQ server died? In simple cases retrying the entire request may be an option.

RE: [PATCH V1 02/16] xen/ioreq: Make x86's IOREQ feature common

2020-10-01 Thread Paul Durrant
n' > ; 'Jan Beulich' ; 'Stefano > Stabellini' > ; 'Wei Liu' ; 'Roger Pau Monné' > ; 'Jun > Nakajima' ; 'Kevin Tian' ; 'Tim > Deegan' ; > 'Julien Grall' > Subject: Re: [PATCH

Re: [PATCH V1 02/16] xen/ioreq: Make x86's IOREQ feature common

2020-09-30 Thread Julien Grall
Jackson ; Jan Beulich ; Stefano Stabellini ; Wei Liu ; Roger Pau Monné ; Paul Durrant ; Jun Nakajima ; Kevin Tian ; Tim Deegan ; Julien Grall Subject: Re: [PATCH V1 02/16] xen/ioreq: Make x86's IOREQ feature common On 10/09/2020 21:21, Oleksandr Tyshchenko wrote: +static

Re: [PATCH V1 02/16] xen/ioreq: Make x86's IOREQ feature common

2020-09-30 Thread Oleksandr
; Wei Liu ; Roger Pau Monné ; Paul Durrant ; Jun Nakajima ; Kevin Tian ; Tim Deegan ; Julien Grall Subject: Re: [PATCH V1 02/16] xen/ioreq: Make x86's IOREQ feature common On 10/09/2020 21:21, Oleksandr Tyshchenko wrote: +static bool hvm_wait_for_io(struct hvm_ioreq_vcpu *sv, ioreq

RE: [PATCH V1 02/16] xen/ioreq: Make x86's IOREQ feature common

2020-09-25 Thread Paul Durrant
Liu > ; Roger Pau > Monné ; Paul Durrant ; Jun Nakajima > ; > Kevin Tian ; Tim Deegan ; Julien Grall > > Subject: Re: [PATCH V1 02/16] xen/ioreq: Make x86's IOREQ feature common > > > > On 10/09/2020 21:21, Oleksandr Tyshchenko wrote: > >

Re: [PATCH V1 02/16] xen/ioreq: Make x86's IOREQ feature common

2020-09-24 Thread Julien Grall
On 10/09/2020 21:21, Oleksandr Tyshchenko wrote: +static bool hvm_wait_for_io(struct hvm_ioreq_vcpu *sv, ioreq_t *p) +{ +unsigned int prev_state = STATE_IOREQ_NONE; +unsigned int state = p->state; +uint64_t data = ~0; + +smp_rmb(); + +/* + * The only reason we should se

Re: [PATCH V1 02/16] xen/ioreq: Make x86's IOREQ feature common

2020-09-24 Thread Jan Beulich
On 24.09.2020 17:38, Oleksandr wrote: > On 24.09.20 13:58, Jan Beulich wrote: >> On 23.09.2020 14:28, Oleksandr wrote: >>> On 22.09.20 18:52, Jan Beulich wrote: On 22.09.2020 17:05, Oleksandr wrote: > @@ -247,7 +247,7 @@ static gfn_t hvm_alloc_legacy_ioreq_gfn(struct > hvm_ioreq_server

Re: [PATCH V1 02/16] xen/ioreq: Make x86's IOREQ feature common

2020-09-24 Thread Oleksandr
On 24.09.20 13:58, Jan Beulich wrote: Hi Jan On 23.09.2020 14:28, Oleksandr wrote: On 22.09.20 18:52, Jan Beulich wrote: On 22.09.2020 17:05, Oleksandr wrote: 3. *arch.hvm.hvm_io*: We could also use the following:    #define ioreq_get_io_completion(v) ((v)->arch.hvm.hvm_io.io_completio

Re: [PATCH V1 02/16] xen/ioreq: Make x86's IOREQ feature common

2020-09-24 Thread Jan Beulich
On 23.09.2020 14:28, Oleksandr wrote: > On 22.09.20 18:52, Jan Beulich wrote: >> On 22.09.2020 17:05, Oleksandr wrote: >>> 3. *arch.hvm.hvm_io*: We could also use the following: >>> >>>    #define ioreq_get_io_completion(v) ((v)->arch.hvm.hvm_io.io_completion) >>>    #define ioreq_get_io_req(v)

Re: [PATCH V1 02/16] xen/ioreq: Make x86's IOREQ feature common

2020-09-23 Thread Oleksandr
On 22.09.20 18:52, Jan Beulich wrote: Hi Jan On 22.09.2020 17:05, Oleksandr wrote: 2. *arch.hvm.params*: Two functions that use it (hvm_alloc_legacy_ioreq_gfn/hvm_free_legacy_ioreq_gfn) either go into arch code completely or     specific macro is used in common code:    #define ioreq_ge

Re: [PATCH V1 02/16] xen/ioreq: Make x86's IOREQ feature common

2020-09-22 Thread Jan Beulich
On 22.09.2020 17:05, Oleksandr wrote: > 2. *arch.hvm.params*: Two functions that use it > (hvm_alloc_legacy_ioreq_gfn/hvm_free_legacy_ioreq_gfn) either go into > arch code completely or >     specific macro is used in common code: > >    #define ioreq_get_params(d, i) ((d)->arch.hvm.params[i])

Re: [PATCH V1 02/16] xen/ioreq: Make x86's IOREQ feature common

2020-09-22 Thread Oleksandr
On 22.09.20 13:54, Jan Beulich wrote: Hi Jan On 22.09.2020 11:58, Oleksandr wrote: On 22.09.20 09:33, Jan Beulich wrote: On 21.09.2020 21:02, Oleksandr wrote: On 14.09.20 17:17, Jan Beulich wrote: On 10.09.2020 22:21, Oleksandr Tyshchenko wrote: +#define GET_IOREQ_SERVER(d, id) \ +(d

Re: [PATCH V1 02/16] xen/ioreq: Make x86's IOREQ feature common

2020-09-22 Thread Jan Beulich
On 22.09.2020 11:58, Oleksandr wrote: > On 22.09.20 09:33, Jan Beulich wrote: >> On 21.09.2020 21:02, Oleksandr wrote: >>> On 14.09.20 17:17, Jan Beulich wrote: On 10.09.2020 22:21, Oleksandr Tyshchenko wrote: > +#define GET_IOREQ_SERVER(d, id) \ > +(d)->arch.hvm.ioreq_server.serve

Re: [PATCH V1 02/16] xen/ioreq: Make x86's IOREQ feature common

2020-09-22 Thread Oleksandr
On 22.09.20 09:33, Jan Beulich wrote: Hi Jan On 21.09.2020 21:02, Oleksandr wrote: On 14.09.20 17:17, Jan Beulich wrote: On 10.09.2020 22:21, Oleksandr Tyshchenko wrote: --- /dev/null +++ b/xen/include/xen/ioreq.h @@ -0,0 +1,82 @@ +/* + * ioreq.h: Hardware virtual machine assist interface

Re: [PATCH V1 02/16] xen/ioreq: Make x86's IOREQ feature common

2020-09-21 Thread Jan Beulich
On 21.09.2020 21:02, Oleksandr wrote: > On 14.09.20 17:17, Jan Beulich wrote: >> On 10.09.2020 22:21, Oleksandr Tyshchenko wrote: >>> --- /dev/null >>> +++ b/xen/include/xen/ioreq.h >>> @@ -0,0 +1,82 @@ >>> +/* >>> + * ioreq.h: Hardware virtual machine assist interface definitions. >>> + * >>> + *

Re: [PATCH V1 02/16] xen/ioreq: Make x86's IOREQ feature common

2020-09-21 Thread Oleksandr
On 14.09.20 17:17, Jan Beulich wrote: Hi Jan On 10.09.2020 22:21, Oleksandr Tyshchenko wrote: --- MAINTAINERS |8 +- xen/arch/x86/Kconfig|1 + xen/arch/x86/hvm/dm.c |2 +- xen/arch/x86/hvm/emulate.c |2 +- xen/arch/x86/hvm/

Re: [PATCH V1 02/16] xen/ioreq: Make x86's IOREQ feature common

2020-09-14 Thread Jan Beulich
On 10.09.2020 22:21, Oleksandr Tyshchenko wrote: > --- > MAINTAINERS |8 +- > xen/arch/x86/Kconfig|1 + > xen/arch/x86/hvm/dm.c |2 +- > xen/arch/x86/hvm/emulate.c |2 +- > xen/arch/x86/hvm/hvm.c |2 +- > xen/arch/x86/hvm/