diff mbox

[v7,13/13] xen: introduce a Kconfig option to enable the pvcalls frontend

Message ID 1509045112-9807-13-git-send-email-sstabellini@kernel.org (mailing list archive)
State New, archived
Headers show

Commit Message

Stefano Stabellini Oct. 26, 2017, 7:11 p.m. UTC
Also add pvcalls-front to the Makefile.

Signed-off-by: Stefano Stabellini <stefano@aporeto.com>
CC: boris.ostrovsky@oracle.com
CC: jgross@suse.com
---
 drivers/xen/Kconfig  | 11 +++++++++++
 drivers/xen/Makefile |  1 +
 2 files changed, 12 insertions(+)

Comments

Boris Ostrovsky Oct. 26, 2017, 7:52 p.m. UTC | #1
On 10/26/2017 03:11 PM, Stefano Stabellini wrote:
> Also add pvcalls-front to the Makefile.
>
> Signed-off-by: Stefano Stabellini <stefano@aporeto.com>
> CC: boris.ostrovsky@oracle.com
> CC: jgross@suse.com

Reviewed-by: Boris Ostrovsky <boris.ostrovsky@oracle.com>
Stefano Stabellini Oct. 26, 2017, 8:16 p.m. UTC | #2
On Thu, 26 Oct 2017, Boris Ostrovsky wrote:
> On 10/26/2017 03:11 PM, Stefano Stabellini wrote:
> > Also add pvcalls-front to the Makefile.
> >
> > Signed-off-by: Stefano Stabellini <stefano@aporeto.com>
> > CC: boris.ostrovsky@oracle.com
> > CC: jgross@suse.com
> 
> Reviewed-by: Boris Ostrovsky <boris.ostrovsky@oracle.com>

Thank you!!

The series is fully acked now. I guess it could be added to xentip?
Maybe for v4.15?
Boris Ostrovsky Oct. 26, 2017, 8:45 p.m. UTC | #3
On 10/26/2017 04:16 PM, Stefano Stabellini wrote:
> On Thu, 26 Oct 2017, Boris Ostrovsky wrote:
>> On 10/26/2017 03:11 PM, Stefano Stabellini wrote:
>>> Also add pvcalls-front to the Makefile.
>>>
>>> Signed-off-by: Stefano Stabellini <stefano@aporeto.com>
>>> CC: boris.ostrovsky@oracle.com
>>> CC: jgross@suse.com
>> Reviewed-by: Boris Ostrovsky <boris.ostrovsky@oracle.com>
> Thank you!!
>
> The series is fully acked now. I guess it could be added to xentip?
> Maybe for v4.15?


Yes, that's the plan unless other reviews come in. I will probably
create the branch on Monday (assuming rc7 will be the last rc for 4.14).
It's later than usual but we haven't had anything for 4.15.

-boris
Stefano Stabellini Oct. 26, 2017, 8:49 p.m. UTC | #4
On Thu, 26 Oct 2017, Boris Ostrovsky wrote:
> On 10/26/2017 04:16 PM, Stefano Stabellini wrote:
> > On Thu, 26 Oct 2017, Boris Ostrovsky wrote:
> >> On 10/26/2017 03:11 PM, Stefano Stabellini wrote:
> >>> Also add pvcalls-front to the Makefile.
> >>>
> >>> Signed-off-by: Stefano Stabellini <stefano@aporeto.com>
> >>> CC: boris.ostrovsky@oracle.com
> >>> CC: jgross@suse.com
> >> Reviewed-by: Boris Ostrovsky <boris.ostrovsky@oracle.com>
> > Thank you!!
> >
> > The series is fully acked now. I guess it could be added to xentip?
> > Maybe for v4.15?
> 
> 
> Yes, that's the plan unless other reviews come in. I will probably
> create the branch on Monday (assuming rc7 will be the last rc for 4.14).
> It's later than usual but we haven't had anything for 4.15.

Great, if you are going to do that, then please also add:

https://marc.info/?l=linux-kernel&m=150723352018341&w=2

and don't forget to update the linux-next branch :)
Boris Ostrovsky Oct. 26, 2017, 8:56 p.m. UTC | #5
On 10/26/2017 04:49 PM, Stefano Stabellini wrote:
> On Thu, 26 Oct 2017, Boris Ostrovsky wrote:
>> On 10/26/2017 04:16 PM, Stefano Stabellini wrote:
>>> On Thu, 26 Oct 2017, Boris Ostrovsky wrote:
>>>> On 10/26/2017 03:11 PM, Stefano Stabellini wrote:
>>>>> Also add pvcalls-front to the Makefile.
>>>>>
>>>>> Signed-off-by: Stefano Stabellini <stefano@aporeto.com>
>>>>> CC: boris.ostrovsky@oracle.com
>>>>> CC: jgross@suse.com
>>>> Reviewed-by: Boris Ostrovsky <boris.ostrovsky@oracle.com>
>>> Thank you!!
>>>
>>> The series is fully acked now. I guess it could be added to xentip?
>>> Maybe for v4.15?
>>
>> Yes, that's the plan unless other reviews come in. I will probably
>> create the branch on Monday (assuming rc7 will be the last rc for 4.14).
>> It's later than usual but we haven't had anything for 4.15.
> Great, if you are going to do that, then please also add:
>
> https://marc.info/?l=linux-kernel&m=150723352018341&w=2
>
> and don't forget to update the linux-next branch :)


This one we can take in for 4.14 --- there are a couple of patches
targeted at rc7 that I will commit tomorrow once they pass the tests but
since I can't test this one anyway (except for building) I can add it too.

-boris
Boris Ostrovsky Oct. 30, 2017, 3:22 p.m. UTC | #6
On 10/26/2017 04:45 PM, Boris Ostrovsky wrote:
> On 10/26/2017 04:16 PM, Stefano Stabellini wrote:
>> On Thu, 26 Oct 2017, Boris Ostrovsky wrote:
>>> On 10/26/2017 03:11 PM, Stefano Stabellini wrote:
>>>> Also add pvcalls-front to the Makefile.
>>>>
>>>> Signed-off-by: Stefano Stabellini <stefano@aporeto.com>
>>>> CC: boris.ostrovsky@oracle.com
>>>> CC: jgross@suse.com
>>> Reviewed-by: Boris Ostrovsky <boris.ostrovsky@oracle.com>
>> Thank you!!
>>
>> The series is fully acked now. I guess it could be added to xentip?
>> Maybe for v4.15?
>
> Yes, that's the plan unless other reviews come in. I will probably
> create the branch on Monday (assuming rc7 will be the last rc for 4.14).
> It's later than usual but we haven't had anything for 4.15.
>
> -boris

Build warnings (gcc (GCC) 6.3.1 20161221 (Red Hat 6.3.1-1))

/data/upstream/linux-xen/drivers/xen/pvcalls-front.c: In function
‘__write_ring’:
/data/upstream/linux-xen/drivers/xen/pvcalls-front.c:459:3: warning:
ignoring return value of ‘copy_from_iter’, declared with attribute
warn_unused_result [-Wunused-result]
   copy_from_iter(data->out + masked_prod, len, msg_iter);
   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/data/upstream/linux-xen/drivers/xen/pvcalls-front.c:462:4: warning:
ignoring return value of ‘copy_from_iter’, declared with attribute
warn_unused_result [-Wunused-result]
    copy_from_iter(data->out + masked_prod,
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
            array_size - masked_prod, msg_iter);
            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/data/upstream/linux-xen/drivers/xen/pvcalls-front.c:464:4: warning:
ignoring return value of ‘copy_from_iter’, declared with attribute
warn_unused_result [-Wunused-result]
    copy_from_iter(data->out,
    ^~~~~~~~~~~~~~~~~~~~~~~~~
            len - (array_size - masked_prod),
            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
            msg_iter);
            ~~~~~~~~~
/data/upstream/linux-xen/drivers/xen/pvcalls-front.c:468:4: warning:
ignoring return value of ‘copy_from_iter’, declared with attribute
warn_unused_result [-Wunused-result]
    copy_from_iter(data->out + masked_prod, len, msg_iter);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/data/upstream/linux-xen/drivers/xen/pvcalls-front.c: In function
‘__read_ring’:
/data/upstream/linux-xen/drivers/xen/pvcalls-front.c:560:3: warning:
ignoring return value of ‘copy_to_iter’, declared with attribute
warn_unused_result [-Wunused-result]
   copy_to_iter(data->in + masked_cons, len, msg_iter);
   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/data/upstream/linux-xen/drivers/xen/pvcalls-front.c:563:4: warning:
ignoring return value of ‘copy_to_iter’, declared with attribute
warn_unused_result [-Wunused-result]
    copy_to_iter(data->in + masked_cons,
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
          array_size - masked_cons, msg_iter);
          ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/data/upstream/linux-xen/drivers/xen/pvcalls-front.c:565:4: warning:
ignoring return value of ‘copy_to_iter’, declared with attribute
warn_unused_result [-Wunused-result]
    copy_to_iter(data->in,
    ^~~~~~~~~~~~~~~~~~~~~~
          len - (array_size - masked_cons),
          ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
          msg_iter);
          ~~~~~~~~~
/data/upstream/linux-xen/drivers/xen/pvcalls-front.c:569:4: warning:
ignoring return value of ‘copy_to_iter’, declared with attribute
warn_unused_result [-Wunused-result]
    copy_to_iter(data->in + masked_cons, len, msg_iter);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~




Slightly different on 32 bit:

/data/upstream/linux-xen/drivers/xen/pvcalls-front.c: In function
‘pvcalls_front_event_handler’:
/data/upstream/linux-xen/drivers/xen/pvcalls-front.c:160:31: warning:
cast to pointer from integer of different size [-Wint-to-pointer-cast]
    struct sock_mapping *map = (struct sock_mapping *)
                               ^
/data/upstream/linux-xen/drivers/xen/pvcalls-front.c: In function
‘pvcalls_front_socket’:
/data/upstream/linux-xen/drivers/xen/pvcalls-front.c:283:21: warning:
cast from pointer to integer of different size [-Wpointer-to-int-cast]
  req->u.socket.id = (uint64_t) map;
                     ^
/data/upstream/linux-xen/drivers/xen/pvcalls-front.c: In function
‘pvcalls_front_connect’:
/data/upstream/linux-xen/drivers/xen/pvcalls-front.c:405:22: warning:
cast from pointer to integer of different size [-Wpointer-to-int-cast]
  req->u.connect.id = (uint64_t)map;
                      ^
/data/upstream/linux-xen/drivers/xen/pvcalls-front.c: In function
‘pvcalls_front_bind’:
/data/upstream/linux-xen/drivers/xen/pvcalls-front.c:660:19: warning:
cast from pointer to integer of different size [-Wpointer-to-int-cast]
  req->u.bind.id = (uint64_t)map;
                   ^
/data/upstream/linux-xen/drivers/xen/pvcalls-front.c: In function
‘pvcalls_front_listen’:
/data/upstream/linux-xen/drivers/xen/pvcalls-front.c:722:21: warning:
cast from pointer to integer of different size [-Wpointer-to-int-cast]
  req->u.listen.id = (uint64_t) map;
                     ^
/data/upstream/linux-xen/drivers/xen/pvcalls-front.c: In function
‘pvcalls_front_accept’:
/data/upstream/linux-xen/drivers/xen/pvcalls-front.c:826:21: warning:
cast from pointer to integer of different size [-Wpointer-to-int-cast]
  req->u.accept.id = (uint64_t) map;
                     ^
/data/upstream/linux-xen/drivers/xen/pvcalls-front.c:828:25: warning:
cast from pointer to integer of different size [-Wpointer-to-int-cast]
  req->u.accept.id_new = (uint64_t) map2;
                         ^
/data/upstream/linux-xen/drivers/xen/pvcalls-front.c: In function
‘pvcalls_front_poll_passive’:
/data/upstream/linux-xen/drivers/xen/pvcalls-front.c:922:19: warning:
cast from pointer to integer of different size [-Wpointer-to-int-cast]
  req->u.poll.id = (uint64_t) map;
                   ^
/data/upstream/linux-xen/drivers/xen/pvcalls-front.c: In function
‘pvcalls_front_release’:
/data/upstream/linux-xen/drivers/xen/pvcalls-front.c:1020:22: warning:
cast from pointer to integer of different size [-Wpointer-to-int-cast]
  req->u.release.id = (uint64_t)map;
                      ^
/data/upstream/linux-xen/drivers/xen/pvcalls-front.c: In function
‘__write_ring’:
/data/upstream/linux-xen/drivers/xen/pvcalls-front.c:459:3: warning:
ignoring return value of ‘copy_from_iter’, declared with attribute
warn_unused_result [-Wunused-result]
   copy_from_iter(data->out + masked_prod, len, msg_iter);
   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/data/upstream/linux-xen/drivers/xen/pvcalls-front.c:462:4: warning:
ignoring return value of ‘copy_from_iter’, declared with attribute
warn_unused_result [-Wunused-result]
    copy_from_iter(data->out + masked_prod,
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
            array_size - masked_prod, msg_iter);
            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/data/upstream/linux-xen/drivers/xen/pvcalls-front.c:464:4: warning:
ignoring return value of ‘copy_from_iter’, declared with attribute
warn_unused_result [-Wunused-result]
    copy_from_iter(data->out,
    ^~~~~~~~~~~~~~~~~~~~~~~~~
            len - (array_size - masked_prod),
            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
            msg_iter);
            ~~~~~~~~~
/data/upstream/linux-xen/drivers/xen/pvcalls-front.c:468:4: warning:
ignoring return value of ‘copy_from_iter’, declared with attribute
warn_unused_result [-Wunused-result]
    copy_from_iter(data->out + masked_prod, len, msg_iter);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/data/upstream/linux-xen/drivers/xen/pvcalls-front.c: In function
‘__read_ring’:
/data/upstream/linux-xen/drivers/xen/pvcalls-front.c:560:3: warning:
ignoring return value of ‘copy_to_iter’, declared with attribute
warn_unused_result [-Wunused-result]
   copy_to_iter(data->in + masked_cons, len, msg_iter);
   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/data/upstream/linux-xen/drivers/xen/pvcalls-front.c:563:4: warning:
ignoring return value of ‘copy_to_iter’, declared with attribute
warn_unused_result [-Wunused-result]
    copy_to_iter(data->in + masked_cons,
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
          array_size - masked_cons, msg_iter);
          ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/data/upstream/linux-xen/drivers/xen/pvcalls-front.c:565:4: warning:
ignoring return value of ‘copy_to_iter’, declared with attribute
warn_unused_result [-Wunused-result]
    copy_to_iter(data->in,
    ^~~~~~~~~~~~~~~~~~~~~~
          len - (array_size - masked_cons),
          ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
          msg_iter);
          ~~~~~~~~~
/data/upstream/linux-xen/drivers/xen/pvcalls-front.c:569:4: warning:
ignoring return value of ‘copy_to_iter’, declared with attribute
warn_unused_result [-Wunused-result]
    copy_to_iter(data->in + masked_cons, len, msg_iter);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~


-boris
Stefano Stabellini Oct. 30, 2017, 7:48 p.m. UTC | #7
On Mon, 30 Oct 2017, Boris Ostrovsky wrote:
> On 10/26/2017 04:45 PM, Boris Ostrovsky wrote:
> > On 10/26/2017 04:16 PM, Stefano Stabellini wrote:
> >> On Thu, 26 Oct 2017, Boris Ostrovsky wrote:
> >>> On 10/26/2017 03:11 PM, Stefano Stabellini wrote:
> >>>> Also add pvcalls-front to the Makefile.
> >>>>
> >>>> Signed-off-by: Stefano Stabellini <stefano@aporeto.com>
> >>>> CC: boris.ostrovsky@oracle.com
> >>>> CC: jgross@suse.com
> >>> Reviewed-by: Boris Ostrovsky <boris.ostrovsky@oracle.com>
> >> Thank you!!
> >>
> >> The series is fully acked now. I guess it could be added to xentip?
> >> Maybe for v4.15?
> >
> > Yes, that's the plan unless other reviews come in. I will probably
> > create the branch on Monday (assuming rc7 will be the last rc for 4.14).
> > It's later than usual but we haven't had anything for 4.15.
> >
> > -boris
> 
> Build warnings (gcc (GCC) 6.3.1 20161221 (Red Hat 6.3.1-1))

Hi Boris, I am trying to repro the warnings below. I have been
unsuccessful so far. What system are you using? Fedora? CentOS? Do have
any specific CFLAGS settings?


> /data/upstream/linux-xen/drivers/xen/pvcalls-front.c: In function
> ‘__write_ring’:
> /data/upstream/linux-xen/drivers/xen/pvcalls-front.c:459:3: warning:
> ignoring return value of ‘copy_from_iter’, declared with attribute
> warn_unused_result [-Wunused-result]
>    copy_from_iter(data->out + masked_prod, len, msg_iter);
>    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> /data/upstream/linux-xen/drivers/xen/pvcalls-front.c:462:4: warning:
> ignoring return value of ‘copy_from_iter’, declared with attribute
> warn_unused_result [-Wunused-result]
>     copy_from_iter(data->out + masked_prod,
>     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>             array_size - masked_prod, msg_iter);
>             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> /data/upstream/linux-xen/drivers/xen/pvcalls-front.c:464:4: warning:
> ignoring return value of ‘copy_from_iter’, declared with attribute
> warn_unused_result [-Wunused-result]
>     copy_from_iter(data->out,
>     ^~~~~~~~~~~~~~~~~~~~~~~~~
>             len - (array_size - masked_prod),
>             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>             msg_iter);
>             ~~~~~~~~~
> /data/upstream/linux-xen/drivers/xen/pvcalls-front.c:468:4: warning:
> ignoring return value of ‘copy_from_iter’, declared with attribute
> warn_unused_result [-Wunused-result]
>     copy_from_iter(data->out + masked_prod, len, msg_iter);
>     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> /data/upstream/linux-xen/drivers/xen/pvcalls-front.c: In function
> ‘__read_ring’:
> /data/upstream/linux-xen/drivers/xen/pvcalls-front.c:560:3: warning:
> ignoring return value of ‘copy_to_iter’, declared with attribute
> warn_unused_result [-Wunused-result]
>    copy_to_iter(data->in + masked_cons, len, msg_iter);
>    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> /data/upstream/linux-xen/drivers/xen/pvcalls-front.c:563:4: warning:
> ignoring return value of ‘copy_to_iter’, declared with attribute
> warn_unused_result [-Wunused-result]
>     copy_to_iter(data->in + masked_cons,
>     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>           array_size - masked_cons, msg_iter);
>           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> /data/upstream/linux-xen/drivers/xen/pvcalls-front.c:565:4: warning:
> ignoring return value of ‘copy_to_iter’, declared with attribute
> warn_unused_result [-Wunused-result]
>     copy_to_iter(data->in,
>     ^~~~~~~~~~~~~~~~~~~~~~
>           len - (array_size - masked_cons),
>           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>           msg_iter);
>           ~~~~~~~~~
> /data/upstream/linux-xen/drivers/xen/pvcalls-front.c:569:4: warning:
> ignoring return value of ‘copy_to_iter’, declared with attribute
> warn_unused_result [-Wunused-result]
>     copy_to_iter(data->in + masked_cons, len, msg_iter);
>     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> 
> 
> 
> 
> Slightly different on 32 bit:
> 
> /data/upstream/linux-xen/drivers/xen/pvcalls-front.c: In function
> ‘pvcalls_front_event_handler’:
> /data/upstream/linux-xen/drivers/xen/pvcalls-front.c:160:31: warning:
> cast to pointer from integer of different size [-Wint-to-pointer-cast]
>     struct sock_mapping *map = (struct sock_mapping *)
>                                ^
> /data/upstream/linux-xen/drivers/xen/pvcalls-front.c: In function
> ‘pvcalls_front_socket’:
> /data/upstream/linux-xen/drivers/xen/pvcalls-front.c:283:21: warning:
> cast from pointer to integer of different size [-Wpointer-to-int-cast]
>   req->u.socket.id = (uint64_t) map;
>                      ^
> /data/upstream/linux-xen/drivers/xen/pvcalls-front.c: In function
> ‘pvcalls_front_connect’:
> /data/upstream/linux-xen/drivers/xen/pvcalls-front.c:405:22: warning:
> cast from pointer to integer of different size [-Wpointer-to-int-cast]
>   req->u.connect.id = (uint64_t)map;
>                       ^
> /data/upstream/linux-xen/drivers/xen/pvcalls-front.c: In function
> ‘pvcalls_front_bind’:
> /data/upstream/linux-xen/drivers/xen/pvcalls-front.c:660:19: warning:
> cast from pointer to integer of different size [-Wpointer-to-int-cast]
>   req->u.bind.id = (uint64_t)map;
>                    ^
> /data/upstream/linux-xen/drivers/xen/pvcalls-front.c: In function
> ‘pvcalls_front_listen’:
> /data/upstream/linux-xen/drivers/xen/pvcalls-front.c:722:21: warning:
> cast from pointer to integer of different size [-Wpointer-to-int-cast]
>   req->u.listen.id = (uint64_t) map;
>                      ^
> /data/upstream/linux-xen/drivers/xen/pvcalls-front.c: In function
> ‘pvcalls_front_accept’:
> /data/upstream/linux-xen/drivers/xen/pvcalls-front.c:826:21: warning:
> cast from pointer to integer of different size [-Wpointer-to-int-cast]
>   req->u.accept.id = (uint64_t) map;
>                      ^
> /data/upstream/linux-xen/drivers/xen/pvcalls-front.c:828:25: warning:
> cast from pointer to integer of different size [-Wpointer-to-int-cast]
>   req->u.accept.id_new = (uint64_t) map2;
>                          ^
> /data/upstream/linux-xen/drivers/xen/pvcalls-front.c: In function
> ‘pvcalls_front_poll_passive’:
> /data/upstream/linux-xen/drivers/xen/pvcalls-front.c:922:19: warning:
> cast from pointer to integer of different size [-Wpointer-to-int-cast]
>   req->u.poll.id = (uint64_t) map;
>                    ^
> /data/upstream/linux-xen/drivers/xen/pvcalls-front.c: In function
> ‘pvcalls_front_release’:
> /data/upstream/linux-xen/drivers/xen/pvcalls-front.c:1020:22: warning:
> cast from pointer to integer of different size [-Wpointer-to-int-cast]
>   req->u.release.id = (uint64_t)map;
>                       ^
> /data/upstream/linux-xen/drivers/xen/pvcalls-front.c: In function
> ‘__write_ring’:
> /data/upstream/linux-xen/drivers/xen/pvcalls-front.c:459:3: warning:
> ignoring return value of ‘copy_from_iter’, declared with attribute
> warn_unused_result [-Wunused-result]
>    copy_from_iter(data->out + masked_prod, len, msg_iter);
>    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> /data/upstream/linux-xen/drivers/xen/pvcalls-front.c:462:4: warning:
> ignoring return value of ‘copy_from_iter’, declared with attribute
> warn_unused_result [-Wunused-result]
>     copy_from_iter(data->out + masked_prod,
>     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>             array_size - masked_prod, msg_iter);
>             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> /data/upstream/linux-xen/drivers/xen/pvcalls-front.c:464:4: warning:
> ignoring return value of ‘copy_from_iter’, declared with attribute
> warn_unused_result [-Wunused-result]
>     copy_from_iter(data->out,
>     ^~~~~~~~~~~~~~~~~~~~~~~~~
>             len - (array_size - masked_prod),
>             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>             msg_iter);
>             ~~~~~~~~~
> /data/upstream/linux-xen/drivers/xen/pvcalls-front.c:468:4: warning:
> ignoring return value of ‘copy_from_iter’, declared with attribute
> warn_unused_result [-Wunused-result]
>     copy_from_iter(data->out + masked_prod, len, msg_iter);
>     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> /data/upstream/linux-xen/drivers/xen/pvcalls-front.c: In function
> ‘__read_ring’:
> /data/upstream/linux-xen/drivers/xen/pvcalls-front.c:560:3: warning:
> ignoring return value of ‘copy_to_iter’, declared with attribute
> warn_unused_result [-Wunused-result]
>    copy_to_iter(data->in + masked_cons, len, msg_iter);
>    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> /data/upstream/linux-xen/drivers/xen/pvcalls-front.c:563:4: warning:
> ignoring return value of ‘copy_to_iter’, declared with attribute
> warn_unused_result [-Wunused-result]
>     copy_to_iter(data->in + masked_cons,
>     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>           array_size - masked_cons, msg_iter);
>           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> /data/upstream/linux-xen/drivers/xen/pvcalls-front.c:565:4: warning:
> ignoring return value of ‘copy_to_iter’, declared with attribute
> warn_unused_result [-Wunused-result]
>     copy_to_iter(data->in,
>     ^~~~~~~~~~~~~~~~~~~~~~
>           len - (array_size - masked_cons),
>           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>           msg_iter);
>           ~~~~~~~~~
> /data/upstream/linux-xen/drivers/xen/pvcalls-front.c:569:4: warning:
> ignoring return value of ‘copy_to_iter’, declared with attribute
> warn_unused_result [-Wunused-result]
>     copy_to_iter(data->in + masked_cons, len, msg_iter);
>     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> 
> 
> -boris
>
Boris Ostrovsky Oct. 30, 2017, 8 p.m. UTC | #8
On 10/30/2017 03:48 PM, Stefano Stabellini wrote:
> On Mon, 30 Oct 2017, Boris Ostrovsky wrote:
>>
>> Build warnings (gcc (GCC) 6.3.1 20161221 (Red Hat 6.3.1-1))
> Hi Boris, I am trying to repro the warnings below. I have been
> unsuccessful so far. What system are you using? Fedora? CentOS? Do have
> any specific CFLAGS settings?


I am on Fedora24, nothing interesting in my environment. For example,

ostr@workbase> env | grep FLAGS
ostr@workbase>

I'll send you my config file in a separate email, just in case.  Your
patches are on top of

    0b07194 Linux 4.14-rc7

ostr@workbase> gcc -Wp,-MD,drivers/xen/.pvcalls-front.o.d  -nostdinc
-isystem /usr/lib/gcc/x86_64-redhat-linux/6.3.1/include
-I/data/upstream/linux-xen/arch/x86/include
-I./arch/x86/include/generated  -I/data/upstream/linux-xen/include
-I./include -I/data/upstream/linux-xen/arch/x86/include/uapi
-I./arch/x86/include/generated/uapi
-I/data/upstream/linux-xen/include/uapi -I./include/generated/uapi
-include /data/upstream/linux-xen/include/linux/kconfig.h 
-I/data/upstream/linux-xen/drivers/xen -Idrivers/xen -D__KERNEL__ -Wall
-Wundef -Wstrict-prototypes -Wno-trigraphs -fno-strict-aliasing
-fno-common -fshort-wchar -Werror-implicit-function-declaration
-Wno-format-security -std=gnu89 -fno-PIE -mno-sse -mno-mmx -mno-sse2
-mno-3dnow -mno-avx -m64 -falign-jumps=1 -falign-loops=1 -mno-80387
-mno-fp-ret-in-387 -mpreferred-stack-boundary=3 -mskip-rax-setup
-mtune=generic -mno-red-zone -mcmodel=kernel -funit-at-a-time
-DCONFIG_AS_CFI=1 -DCONFIG_AS_CFI_SIGNAL_FRAME=1
-DCONFIG_AS_CFI_SECTIONS=1 -DCONFIG_AS_FXSAVEQ=1 -DCONFIG_AS_SSSE3=1
-DCONFIG_AS_CRC32=1 -DCONFIG_AS_AVX=1 -DCONFIG_AS_AVX2=1
-DCONFIG_AS_AVX512=1 -DCONFIG_AS_SHA1_NI=1 -DCONFIG_AS_SHA256_NI=1 -pipe
-Wno-sign-compare -fno-asynchronous-unwind-tables
-fno-delete-null-pointer-checks -Wno-frame-address -O2
--param=allow-store-data-races=0 -DCC_HAVE_ASM_GOTO
-Wframe-larger-than=2048 -fstack-protector-strong
-Wno-unused-but-set-variable -Wno-unused-const-variable
-fno-omit-frame-pointer -fno-optimize-sibling-calls
-fno-var-tracking-assignments -g -pg -mfentry -DCC_USING_FENTRY
-Wdeclaration-after-statement -Wno-pointer-sign -fno-strict-overflow
-fconserve-stack -Werror=implicit-int -Werror=strict-prototypes
-Werror=date-time -Werror=incompatible-pointer-types
-Werror=designated-init  -DMODULE  -DKBUILD_BASENAME='"pvcalls_front"' 
-DKBUILD_MODNAME='"pvcalls_front"' -c -o drivers/xen/pvcalls-front.o
/data/upstream/linux-xen/drivers/xen/pvcalls-front.c
/data/upstream/linux-xen/drivers/xen/pvcalls-front.c: In function
‘__write_ring’:
/data/upstream/linux-xen/drivers/xen/pvcalls-front.c:459:3: warning:
ignoring return value of ‘copy_from_iter’, declared with attribute
warn_unused_result [-Wunused-result]
   copy_from_iter(data->out + masked_prod, len, msg_iter);
   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/data/upstream/linux-xen/drivers/xen/pvcalls-front.c:462:4: warning:
ignoring return value of ‘copy_from_iter’, declared with attribute
warn_unused_result [-Wunused-result]
    copy_from_iter(data->out + masked_prod,
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
            array_size - masked_prod, msg_iter);
            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/data/upstream/linux-xen/drivers/xen/pvcalls-front.c:464:4: warning:
ignoring return value of ‘copy_from_iter’, declared with attribute
warn_unused_result [-Wunused-result]
    copy_from_iter(data->out,
    ^~~~~~~~~~~~~~~~~~~~~~~~~
            len - (array_size - masked_prod),
            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
            msg_iter);
            ~~~~~~~~~
/data/upstream/linux-xen/drivers/xen/pvcalls-front.c:468:4: warning:
ignoring return value of ‘copy_from_iter’, declared with attribute
warn_unused_result [-Wunused-result]
    copy_from_iter(data->out + masked_prod, len, msg_iter);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/data/upstream/linux-xen/drivers/xen/pvcalls-front.c: In function
‘__read_ring’:
/data/upstream/linux-xen/drivers/xen/pvcalls-front.c:560:3: warning:
ignoring return value of ‘copy_to_iter’, declared with attribute
warn_unused_result [-Wunused-result]
   copy_to_iter(data->in + masked_cons, len, msg_iter);
   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/data/upstream/linux-xen/drivers/xen/pvcalls-front.c:563:4: warning:
ignoring return value of ‘copy_to_iter’, declared with attribute
warn_unused_result [-Wunused-result]
    copy_to_iter(data->in + masked_cons,
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
          array_size - masked_cons, msg_iter);
          ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/data/upstream/linux-xen/drivers/xen/pvcalls-front.c:565:4: warning:
ignoring return value of ‘copy_to_iter’, declared with attribute
warn_unused_result [-Wunused-result]
    copy_to_iter(data->in,
    ^~~~~~~~~~~~~~~~~~~~~~
          len - (array_size - masked_cons),
          ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
          msg_iter);
          ~~~~~~~~~
/data/upstream/linux-xen/drivers/xen/pvcalls-front.c:569:4: warning:
ignoring return value of ‘copy_to_iter’, declared with attribute
warn_unused_result [-Wunused-result]
    copy_to_iter(data->in + masked_cons, len, msg_iter);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ostr@workbase>
Stefano Stabellini Oct. 30, 2017, 9:42 p.m. UTC | #9
On Mon, 30 Oct 2017, Boris Ostrovsky wrote:
> On 10/30/2017 03:48 PM, Stefano Stabellini wrote:
> > On Mon, 30 Oct 2017, Boris Ostrovsky wrote:
> >>
> >> Build warnings (gcc (GCC) 6.3.1 20161221 (Red Hat 6.3.1-1))
> > Hi Boris, I am trying to repro the warnings below. I have been
> > unsuccessful so far. What system are you using? Fedora? CentOS? Do have
> > any specific CFLAGS settings?
> 
> 
> I am on Fedora24, nothing interesting in my environment. For example,
> 
> ostr@workbase> env | grep FLAGS
> ostr@workbase>
> 
> I'll send you my config file in a separate email, just in case.  Your
> patches are on top of
> 
>     0b07194 Linux 4.14-rc7
> 

Thanks! I managed to repro and fix both the x86_64 and x86_32 issues.
I sent two patches:

https://marc.info/?l=xen-devel&m=150939969002183&w=2
https://marc.info/?l=linux-kernel&m=150939962102165

But if you prefer that I spin a new pvcalls frontend series, I could
also do that.
Boris Ostrovsky Oct. 30, 2017, 10:02 p.m. UTC | #10
On 10/30/2017 05:42 PM, Stefano Stabellini wrote:
> On Mon, 30 Oct 2017, Boris Ostrovsky wrote:
>> On 10/30/2017 03:48 PM, Stefano Stabellini wrote:
>>> On Mon, 30 Oct 2017, Boris Ostrovsky wrote:
>>>> Build warnings (gcc (GCC) 6.3.1 20161221 (Red Hat 6.3.1-1))
>>> Hi Boris, I am trying to repro the warnings below. I have been
>>> unsuccessful so far. What system are you using? Fedora? CentOS? Do have
>>> any specific CFLAGS settings?
>>
>> I am on Fedora24, nothing interesting in my environment. For example,
>>
>> ostr@workbase> env | grep FLAGS
>> ostr@workbase>
>>
>> I'll send you my config file in a separate email, just in case.  Your
>> patches are on top of
>>
>>     0b07194 Linux 4.14-rc7
>>
> Thanks! I managed to repro and fix both the x86_64 and x86_32 issues.
> I sent two patches:
>
> https://marc.info/?l=xen-devel&m=150939969002183&w=2
> https://marc.info/?l=linux-kernel&m=150939962102165
>
> But if you prefer that I spin a new pvcalls frontend series, I could
> also do that.


I haven't pushed this anywhere so I think, given that this actually
fixes a bug (when copy_to/from_iter() fails), it would be better to have
a clean series in the upstream. So I'd rather have a new spin, sorry ;-(


Thanks.
-borsi
Stefano Stabellini Oct. 30, 2017, 10:14 p.m. UTC | #11
On Mon, 30 Oct 2017, Boris Ostrovsky wrote:
> On 10/30/2017 05:42 PM, Stefano Stabellini wrote:
> > On Mon, 30 Oct 2017, Boris Ostrovsky wrote:
> >> On 10/30/2017 03:48 PM, Stefano Stabellini wrote:
> >>> On Mon, 30 Oct 2017, Boris Ostrovsky wrote:
> >>>> Build warnings (gcc (GCC) 6.3.1 20161221 (Red Hat 6.3.1-1))
> >>> Hi Boris, I am trying to repro the warnings below. I have been
> >>> unsuccessful so far. What system are you using? Fedora? CentOS? Do have
> >>> any specific CFLAGS settings?
> >>
> >> I am on Fedora24, nothing interesting in my environment. For example,
> >>
> >> ostr@workbase> env | grep FLAGS
> >> ostr@workbase>
> >>
> >> I'll send you my config file in a separate email, just in case.  Your
> >> patches are on top of
> >>
> >>     0b07194 Linux 4.14-rc7
> >>
> > Thanks! I managed to repro and fix both the x86_64 and x86_32 issues.
> > I sent two patches:
> >
> > https://marc.info/?l=xen-devel&m=150939969002183&w=2
> > https://marc.info/?l=linux-kernel&m=150939962102165
> >
> > But if you prefer that I spin a new pvcalls frontend series, I could
> > also do that.
> 
> 
> I haven't pushed this anywhere so I think, given that this actually
> fixes a bug (when copy_to/from_iter() fails), it would be better to have
> a clean series in the upstream. So I'd rather have a new spin, sorry ;-(

No problem! I'll send one out shortly.
diff mbox

Patch

diff --git a/drivers/xen/Kconfig b/drivers/xen/Kconfig
index 4545561..d8dd546 100644
--- a/drivers/xen/Kconfig
+++ b/drivers/xen/Kconfig
@@ -196,6 +196,17 @@  config XEN_PCIDEV_BACKEND
 
 	  If in doubt, say m.
 
+config XEN_PVCALLS_FRONTEND
+	tristate "XEN PV Calls frontend driver"
+	depends on INET && XEN
+	default n
+	select XEN_XENBUS_FRONTEND
+	help
+	  Experimental frontend for the Xen PV Calls protocol
+	  (https://xenbits.xen.org/docs/unstable/misc/pvcalls.html). It
+	  sends a small set of POSIX calls to the backend, which
+	  implements them.
+
 config XEN_PVCALLS_BACKEND
 	bool "XEN PV Calls backend driver"
 	depends on INET && XEN && XEN_BACKEND
diff --git a/drivers/xen/Makefile b/drivers/xen/Makefile
index 480b928..afb9e03 100644
--- a/drivers/xen/Makefile
+++ b/drivers/xen/Makefile
@@ -39,6 +39,7 @@  obj-$(CONFIG_XEN_EFI)			+= efi.o
 obj-$(CONFIG_XEN_SCSI_BACKEND)		+= xen-scsiback.o
 obj-$(CONFIG_XEN_AUTO_XLATE)		+= xlate_mmu.o
 obj-$(CONFIG_XEN_PVCALLS_BACKEND)	+= pvcalls-back.o
+obj-$(CONFIG_XEN_PVCALLS_FRONTEND)	+= pvcalls-front.o
 xen-evtchn-y				:= evtchn.o
 xen-gntdev-y				:= gntdev.o
 xen-gntalloc-y				:= gntalloc.o