From: kbuild test robot <lkp@intel.com>
To: "Michael S. Tsirkin" <mst@redhat.com>
Cc: kbuild-all@01.org, linux-kernel@vger.kernel.org,
Jason Wang <jasowang@redhat.com>,
virtualization@lists.linux-foundation.org,
netdev@vger.kernel.org
Subject: Re: [PATCH] virtio_net: fix PAGE_SIZE > 64k
Date: Tue, 24 Jan 2017 04:46:20 +0800 [thread overview]
Message-ID: <201701240451.9IOHWr3k%fengguang.wu@intel.com> (raw)
In-Reply-To: <1485189896-20327-1-git-send-email-mst@redhat.com>
Hi Michael,
[auto build test WARNING on net-next/master]
[also build test WARNING on v4.10-rc5 next-20170123]
[if your patch is applied to the wrong git tree, please drop us a note to help improve the system]
url: https://github.com/0day-ci/linux/commits/Michael-S-Tsirkin/virtio_net-fix-PAGE_SIZE-64k/20170124-023805
reproduce:
# apt-get install sparse
make ARCH=x86_64 allmodconfig
make C=1 CF=-D__CHECK_ENDIAN__
sparse warnings: (new ones prefixed by >>)
include/linux/compiler.h:253:8: sparse: attribute 'no_sanitize_address': unknown attribute
>> drivers/net/virtio_net.c:250:44: sparse: incompatible types in comparison expression (different signedness)
drivers/net/virtio_net.c:251:33: sparse: incompatible types in comparison expression (different signedness)
drivers/net/virtio_net.c:256:36: sparse: incompatible types in comparison expression (different signedness)
drivers/net/virtio_net.c:262:40: sparse: incompatible types in comparison expression (different signedness)
drivers/net/virtio_net.c:861:16: sparse: incompatible types in comparison expression (different signedness)
drivers/net/virtio_net.c:861:16: sparse: incompatible types in comparison expression (different signedness)
In file included from include/linux/list.h:8:0,
from include/linux/timer.h:4,
from include/linux/netdevice.h:28,
from drivers/net/virtio_net.c:19:
drivers/net/virtio_net.c: In function 'mergeable_ctx_to_buf_truesize':
include/linux/kernel.h:763:16: warning: comparison of distinct pointer types lacks a cast
(void) (&max1 == &max2); \
^
include/linux/kernel.h:766:2: note: in expansion of macro '__max'
__max(typeof(x), typeof(y), \
^~~~~
drivers/net/virtio_net.c:59:32: note: in expansion of macro 'max'
#define MERGEABLE_BUFFER_ALIGN max(L1_CACHE_BYTES, \
^~~
drivers/net/virtio_net.c:250:37: note: in expansion of macro 'MERGEABLE_BUFFER_ALIGN'
unsigned int truesize = mrg_ctx & (MERGEABLE_BUFFER_ALIGN - 1);
^~~~~~~~~~~~~~~~~~~~~~
include/linux/kernel.h:763:16: warning: comparison of distinct pointer types lacks a cast
(void) (&max1 == &max2); \
^
include/linux/kernel.h:766:2: note: in expansion of macro '__max'
__max(typeof(x), typeof(y), \
^~~~~
drivers/net/virtio_net.c:59:32: note: in expansion of macro 'max'
#define MERGEABLE_BUFFER_ALIGN max(L1_CACHE_BYTES, \
^~~
drivers/net/virtio_net.c:251:26: note: in expansion of macro 'MERGEABLE_BUFFER_ALIGN'
return (truesize + 1) * MERGEABLE_BUFFER_ALIGN;
^~~~~~~~~~~~~~~~~~~~~~
drivers/net/virtio_net.c: In function 'mergeable_ctx_to_buf_address':
include/linux/kernel.h:763:16: warning: comparison of distinct pointer types lacks a cast
(void) (&max1 == &max2); \
^
include/linux/kernel.h:766:2: note: in expansion of macro '__max'
__max(typeof(x), typeof(y), \
^~~~~
drivers/net/virtio_net.c:59:32: note: in expansion of macro 'max'
#define MERGEABLE_BUFFER_ALIGN max(L1_CACHE_BYTES, \
^~~
drivers/net/virtio_net.c:256:29: note: in expansion of macro 'MERGEABLE_BUFFER_ALIGN'
return (void *)(mrg_ctx & -MERGEABLE_BUFFER_ALIGN);
^~~~~~~~~~~~~~~~~~~~~~
drivers/net/virtio_net.c: In function 'mergeable_buf_to_ctx':
include/linux/kernel.h:763:16: warning: comparison of distinct pointer types lacks a cast
(void) (&max1 == &max2); \
^
include/linux/kernel.h:766:2: note: in expansion of macro '__max'
__max(typeof(x), typeof(y), \
^~~~~
drivers/net/virtio_net.c:59:32: note: in expansion of macro 'max'
#define MERGEABLE_BUFFER_ALIGN max(L1_CACHE_BYTES, \
^~~
drivers/net/virtio_net.c:262:33: note: in expansion of macro 'MERGEABLE_BUFFER_ALIGN'
unsigned int size = truesize / MERGEABLE_BUFFER_ALIGN;
^~~~~~~~~~~~~~~~~~~~~~
In file included from include/linux/cache.h:4:0,
from include/linux/printk.h:8,
from include/linux/kernel.h:13,
from include/linux/list.h:8,
from include/linux/timer.h:4,
from include/linux/netdevice.h:28,
from drivers/net/virtio_net.c:19:
drivers/net/virtio_net.c: In function 'get_mergeable_buf_len':
include/linux/kernel.h:763:16: warning: comparison of distinct pointer types lacks a cast
(void) (&max1 == &max2); \
^
include/uapi/linux/kernel.h:10:47: note: in definition of macro '__ALIGN_KERNEL_MASK'
#define __ALIGN_KERNEL_MASK(x, mask) (((x) + (mask)) & ~(mask))
^~~~
include/linux/kernel.h:49:22: note: in expansion of macro '__ALIGN_KERNEL'
#define ALIGN(x, a) __ALIGN_KERNEL((x), (a))
^~~~~~~~~~~~~~
drivers/net/virtio_net.c:861:9: note: in expansion of macro 'ALIGN'
return ALIGN(len, MERGEABLE_BUFFER_ALIGN);
^~~~~
include/linux/kernel.h:766:2: note: in expansion of macro '__max'
__max(typeof(x), typeof(y), \
^~~~~
drivers/net/virtio_net.c:59:32: note: in expansion of macro 'max'
#define MERGEABLE_BUFFER_ALIGN max(L1_CACHE_BYTES, \
^~~
drivers/net/virtio_net.c:861:20: note: in expansion of macro 'MERGEABLE_BUFFER_ALIGN'
return ALIGN(len, MERGEABLE_BUFFER_ALIGN);
^~~~~~~~~~~~~~~~~~~~~~
include/linux/kernel.h:763:16: warning: comparison of distinct pointer types lacks a cast
(void) (&max1 == &max2); \
^
include/uapi/linux/kernel.h:10:58: note: in definition of macro '__ALIGN_KERNEL_MASK'
#define __ALIGN_KERNEL_MASK(x, mask) (((x) + (mask)) & ~(mask))
^~~~
include/linux/kernel.h:49:22: note: in expansion of macro '__ALIGN_KERNEL'
#define ALIGN(x, a) __ALIGN_KERNEL((x), (a))
^~~~~~~~~~~~~~
drivers/net/virtio_net.c:861:9: note: in expansion of macro 'ALIGN'
return ALIGN(len, MERGEABLE_BUFFER_ALIGN);
vim +250 drivers/net/virtio_net.c
fb6813f4 Rusty Russell 2008-07-25 234 return p;
fb6813f4 Rusty Russell 2008-07-25 235 }
fb6813f4 Rusty Russell 2008-07-25 236
e9d7417b Jason Wang 2012-12-07 237 static void skb_xmit_done(struct virtqueue *vq)
296f96fc Rusty Russell 2007-10-22 238 {
e9d7417b Jason Wang 2012-12-07 239 struct virtnet_info *vi = vq->vdev->priv;
296f96fc Rusty Russell 2007-10-22 240
2cb9c6ba Rusty Russell 2008-02-04 241 /* Suppress further interrupts. */
e9d7417b Jason Wang 2012-12-07 242 virtqueue_disable_cb(vq);
11a3a154 Rusty Russell 2008-05-26 243
363f1514 Rusty Russell 2008-06-08 244 /* We were probably waiting for more output buffers. */
986a4f4d Jason Wang 2012-12-07 245 netif_wake_subqueue(vi->dev, vq2txq(vq));
296f96fc Rusty Russell 2007-10-22 246 }
296f96fc Rusty Russell 2007-10-22 247
ab7db917 Michael Dalton 2014-01-16 248 static unsigned int mergeable_ctx_to_buf_truesize(unsigned long mrg_ctx)
ab7db917 Michael Dalton 2014-01-16 249 {
ab7db917 Michael Dalton 2014-01-16 @250 unsigned int truesize = mrg_ctx & (MERGEABLE_BUFFER_ALIGN - 1);
ab7db917 Michael Dalton 2014-01-16 251 return (truesize + 1) * MERGEABLE_BUFFER_ALIGN;
ab7db917 Michael Dalton 2014-01-16 252 }
ab7db917 Michael Dalton 2014-01-16 253
ab7db917 Michael Dalton 2014-01-16 254 static void *mergeable_ctx_to_buf_address(unsigned long mrg_ctx)
ab7db917 Michael Dalton 2014-01-16 255 {
ab7db917 Michael Dalton 2014-01-16 256 return (void *)(mrg_ctx & -MERGEABLE_BUFFER_ALIGN);
ab7db917 Michael Dalton 2014-01-16 257
ab7db917 Michael Dalton 2014-01-16 258 }
:::::: The code at line 250 was first introduced by commit
:::::: ab7db91705e95ed1bba1304388936fccfa58c992 virtio-net: auto-tune mergeable rx buffer size for improved performance
:::::: TO: Michael Dalton <mwdalton@google.com>
:::::: CC: David S. Miller <davem@davemloft.net>
---
0-DAY kernel test infrastructure Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all Intel Corporation
next prev parent reply other threads:[~2017-01-23 20:46 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-01-23 17:06 [PATCH] virtio_net: fix PAGE_SIZE > 64k Michael S. Tsirkin
2017-01-23 20:46 ` kbuild test robot [this message]
2017-01-23 20:46 ` kbuild test robot
2017-01-23 17:06 Michael S. Tsirkin
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=201701240451.9IOHWr3k%fengguang.wu@intel.com \
--to=lkp@intel.com \
--cc=jasowang@redhat.com \
--cc=kbuild-all@01.org \
--cc=linux-kernel@vger.kernel.org \
--cc=mst@redhat.com \
--cc=netdev@vger.kernel.org \
--cc=virtualization@lists.linux-foundation.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.