From: kbuild test robot <lkp@intel.com>
To: kbuild-all@lists.01.org
Subject: Re: [RFC PATCH 04/10] pipe: Use head and tail pointers for the ring, not cursor and length [ver #2]
Date: Sat, 26 Oct 2019 08:29:25 +0800 [thread overview]
Message-ID: <201910260852.ea15MwMR%lkp@intel.com> (raw)
In-Reply-To: <157186186167.3995.7568100174393739543.stgit@warthog.procyon.org.uk>
[-- Attachment #1: Type: text/plain, Size: 6945 bytes --]
Hi David,
[FYI, it's a private test report for your RFC patch.]
[auto build test ERROR on linus/master]
[cannot apply to v5.4-rc4 next-20191025]
[if your patch is applied to the wrong git tree, please drop us a note to help
improve the system. BTW, we also suggest to use '--base' option to specify the
base tree in git format-patch, please see https://stackoverflow.com/a/37406982]
url: https://github.com/0day-ci/linux/commits/David-Howells/pipe-Notification-queue-preparation-ver-2/20191026-015701
base: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git 39a38bcba4ab6e5285b07675b0e42c96eec35e67
config: x86_64-randconfig-s1-201942 (attached as .config)
compiler: gcc-4.9 (Debian 4.9.2-10+deb8u1) 4.9.2
reproduce:
# save the attached .config to linux build tree
make ARCH=x86_64
If you fix the issue, kindly add following tag
Reported-by: kbuild test robot <lkp@intel.com>
All errors (new ones prefixed by >>):
drivers//char/virtio_console.c: In function 'port_fops_splice_write':
>> drivers//char/virtio_console.c:937:11: error: 'struct pipe_inode_info' has no member named 'nrbufs'
if (!pipe->nrbufs) {
^
drivers//char/virtio_console.c:946:46: error: 'struct pipe_inode_info' has no member named 'nrbufs'
buf = alloc_buf(port->portdev->vdev, 0, pipe->nrbufs);
^
drivers//char/virtio_console.c:954:17: error: 'struct pipe_inode_info' has no member named 'nrbufs'
sgl.size = pipe->nrbufs;
^
vim +937 drivers//char/virtio_console.c
eb5e89fc70bb3f Masami Hiramatsu 2012-08-09 906
eb5e89fc70bb3f Masami Hiramatsu 2012-08-09 907 /* Faster zero-copy write by splicing */
eb5e89fc70bb3f Masami Hiramatsu 2012-08-09 908 static ssize_t port_fops_splice_write(struct pipe_inode_info *pipe,
eb5e89fc70bb3f Masami Hiramatsu 2012-08-09 909 struct file *filp, loff_t *ppos,
eb5e89fc70bb3f Masami Hiramatsu 2012-08-09 910 size_t len, unsigned int flags)
eb5e89fc70bb3f Masami Hiramatsu 2012-08-09 911 {
eb5e89fc70bb3f Masami Hiramatsu 2012-08-09 912 struct port *port = filp->private_data;
eb5e89fc70bb3f Masami Hiramatsu 2012-08-09 913 struct sg_list sgl;
eb5e89fc70bb3f Masami Hiramatsu 2012-08-09 914 ssize_t ret;
276a3e954cfe4d Sjur Brændeland 2012-12-14 915 struct port_buffer *buf;
eb5e89fc70bb3f Masami Hiramatsu 2012-08-09 916 struct splice_desc sd = {
eb5e89fc70bb3f Masami Hiramatsu 2012-08-09 917 .total_len = len,
eb5e89fc70bb3f Masami Hiramatsu 2012-08-09 918 .flags = flags,
eb5e89fc70bb3f Masami Hiramatsu 2012-08-09 919 .pos = *ppos,
eb5e89fc70bb3f Masami Hiramatsu 2012-08-09 920 .u.data = &sgl,
eb5e89fc70bb3f Masami Hiramatsu 2012-08-09 921 };
eb5e89fc70bb3f Masami Hiramatsu 2012-08-09 922
1b6370463e88b0 Sjur Brændeland 2012-12-14 923 /*
1b6370463e88b0 Sjur Brændeland 2012-12-14 924 * Rproc_serial does not yet support splice. To support splice
1b6370463e88b0 Sjur Brændeland 2012-12-14 925 * pipe_to_sg() must allocate dma-buffers and copy content from
1b6370463e88b0 Sjur Brændeland 2012-12-14 926 * regular pages to dma pages. And alloc_buf and free_buf must
1b6370463e88b0 Sjur Brændeland 2012-12-14 927 * support allocating and freeing such a list of dma-buffers.
1b6370463e88b0 Sjur Brændeland 2012-12-14 928 */
1b6370463e88b0 Sjur Brændeland 2012-12-14 929 if (is_rproc_serial(port->out_vq->vdev))
1b6370463e88b0 Sjur Brændeland 2012-12-14 930 return -EINVAL;
1b6370463e88b0 Sjur Brændeland 2012-12-14 931
68c034fefe20ea Yoshihiro YUNOMAE 2013-07-23 932 /*
68c034fefe20ea Yoshihiro YUNOMAE 2013-07-23 933 * pipe->nrbufs == 0 means there are no data to transfer,
68c034fefe20ea Yoshihiro YUNOMAE 2013-07-23 934 * so this returns just 0 for no data.
68c034fefe20ea Yoshihiro YUNOMAE 2013-07-23 935 */
2b4fbf029dff5a Yoshihiro YUNOMAE 2013-07-23 936 pipe_lock(pipe);
2b4fbf029dff5a Yoshihiro YUNOMAE 2013-07-23 @937 if (!pipe->nrbufs) {
2b4fbf029dff5a Yoshihiro YUNOMAE 2013-07-23 938 ret = 0;
2b4fbf029dff5a Yoshihiro YUNOMAE 2013-07-23 939 goto error_out;
2b4fbf029dff5a Yoshihiro YUNOMAE 2013-07-23 940 }
68c034fefe20ea Yoshihiro YUNOMAE 2013-07-23 941
efe75d24a69fc3 Masami Hiramatsu 2012-08-09 942 ret = wait_port_writable(port, filp->f_flags & O_NONBLOCK);
efe75d24a69fc3 Masami Hiramatsu 2012-08-09 943 if (ret < 0)
2b4fbf029dff5a Yoshihiro YUNOMAE 2013-07-23 944 goto error_out;
efe75d24a69fc3 Masami Hiramatsu 2012-08-09 945
2855b33514d290 Michael S. Tsirkin 2018-04-20 946 buf = alloc_buf(port->portdev->vdev, 0, pipe->nrbufs);
2b4fbf029dff5a Yoshihiro YUNOMAE 2013-07-23 947 if (!buf) {
2b4fbf029dff5a Yoshihiro YUNOMAE 2013-07-23 948 ret = -ENOMEM;
2b4fbf029dff5a Yoshihiro YUNOMAE 2013-07-23 949 goto error_out;
2b4fbf029dff5a Yoshihiro YUNOMAE 2013-07-23 950 }
276a3e954cfe4d Sjur Brændeland 2012-12-14 951
eb5e89fc70bb3f Masami Hiramatsu 2012-08-09 952 sgl.n = 0;
eb5e89fc70bb3f Masami Hiramatsu 2012-08-09 953 sgl.len = 0;
8ca84a50e5b394 Masami Hiramatsu 2012-08-09 954 sgl.size = pipe->nrbufs;
276a3e954cfe4d Sjur Brændeland 2012-12-14 955 sgl.sg = buf->sg;
8ca84a50e5b394 Masami Hiramatsu 2012-08-09 956 sg_init_table(sgl.sg, sgl.size);
eb5e89fc70bb3f Masami Hiramatsu 2012-08-09 957 ret = __splice_from_pipe(pipe, &sd, pipe_to_sg);
2b4fbf029dff5a Yoshihiro YUNOMAE 2013-07-23 958 pipe_unlock(pipe);
eb5e89fc70bb3f Masami Hiramatsu 2012-08-09 959 if (likely(ret > 0))
276a3e954cfe4d Sjur Brændeland 2012-12-14 960 ret = __send_to_port(port, buf->sg, sgl.n, sgl.len, buf, true);
eb5e89fc70bb3f Masami Hiramatsu 2012-08-09 961
fe5295374ec9ac Sjur Brændeland 2012-10-15 962 if (unlikely(ret <= 0))
1b6370463e88b0 Sjur Brændeland 2012-12-14 963 free_buf(buf, true);
eb5e89fc70bb3f Masami Hiramatsu 2012-08-09 964 return ret;
2b4fbf029dff5a Yoshihiro YUNOMAE 2013-07-23 965
2b4fbf029dff5a Yoshihiro YUNOMAE 2013-07-23 966 error_out:
2b4fbf029dff5a Yoshihiro YUNOMAE 2013-07-23 967 pipe_unlock(pipe);
2b4fbf029dff5a Yoshihiro YUNOMAE 2013-07-23 968 return ret;
eb5e89fc70bb3f Masami Hiramatsu 2012-08-09 969 }
eb5e89fc70bb3f Masami Hiramatsu 2012-08-09 970
:::::: The code@line 937 was first introduced by commit
:::::: 2b4fbf029dff5a28d9bf646346dea891ec43398a virtio/console: Add pipe_lock/unlock for splice_write
:::::: TO: Yoshihiro YUNOMAE <yoshihiro.yunomae.ez@hitachi.com>
:::::: CC: Rusty Russell <rusty@rustcorp.com.au>
---
0-DAY kernel test infrastructure Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all Intel Corporation
[-- Attachment #2: config.gz --]
[-- Type: application/gzip, Size: 34745 bytes --]
next prev parent reply other threads:[~2019-10-26 0:29 UTC|newest]
Thread overview: 111+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-10-23 20:17 [RFC PATCH 00/10] pipe: Notification queue preparation [ver #2] David Howells
2019-10-23 20:17 ` David Howells
2019-10-23 20:17 ` David Howells
2019-10-23 20:17 ` [RFC PATCH 01/10] pipe: Reduce #inclusion of pipe_fs_i.h " David Howells
2019-10-23 20:17 ` David Howells
2019-10-23 20:17 ` David Howells
2019-10-23 20:17 ` [RFC PATCH 02/10] Remove the nr_exclusive argument from __wake_up_sync_key() " David Howells
2019-10-23 20:17 ` David Howells
2019-10-23 20:17 ` David Howells
2019-10-23 20:17 ` [RFC PATCH 03/10] Add wake_up_interruptible_sync_poll_locked() " David Howells
2019-10-23 20:17 ` David Howells
2019-10-23 20:17 ` David Howells
2019-10-23 20:17 ` [RFC PATCH 04/10] pipe: Use head and tail pointers for the ring, not cursor and length " David Howells
2019-10-23 20:17 ` David Howells
2019-10-23 20:17 ` David Howells
2019-10-26 0:29 ` kbuild test robot [this message]
2019-10-26 0:50 ` kbuild test robot
2019-10-26 14:58 ` [pipe] 6567a02d20: BUG:kernel_NULL_pointer_dereference,address kernel test robot
2019-10-26 14:58 ` kernel test robot
2019-10-26 14:58 ` kernel test robot
2019-10-27 14:03 ` [RFC PATCH 04/10] pipe: Use head and tail pointers for the ring, not cursor and length [ver #2] Linus Torvalds
2019-10-27 14:03 ` Linus Torvalds
2019-10-30 16:19 ` Ilya Dryomov
2019-10-30 16:19 ` Ilya Dryomov
2019-10-30 20:35 ` Rasmus Villemoes
2019-10-30 20:35 ` Rasmus Villemoes
2019-10-30 22:16 ` Ilya Dryomov
2019-10-30 22:16 ` Ilya Dryomov
2019-10-30 22:38 ` Rasmus Villemoes
2019-10-30 22:38 ` Rasmus Villemoes
2019-10-31 15:11 ` David Howells
2019-10-31 15:57 ` Ilya Dryomov
2019-10-31 15:57 ` Ilya Dryomov
2019-11-01 14:53 ` David Howells
2019-10-31 14:57 ` David Howells
2019-11-03 11:17 ` Matthew Wilcox
2019-11-03 11:17 ` Matthew Wilcox
2019-12-06 21:47 ` Johannes Hirte
2019-12-06 21:47 ` Johannes Hirte
2019-12-06 22:14 ` Linus Torvalds
2019-12-06 22:14 ` Linus Torvalds
2019-12-07 0:00 ` Johannes Hirte
2019-12-07 0:00 ` Johannes Hirte
2019-12-07 1:03 ` Linus Torvalds
2019-12-07 1:03 ` Linus Torvalds
2019-12-08 17:56 ` Johannes Hirte
2019-12-08 17:56 ` Johannes Hirte
2019-12-08 18:10 ` Linus Torvalds
2019-12-08 18:10 ` Linus Torvalds
2019-12-07 6:47 ` Linus Torvalds
2019-12-07 6:47 ` Linus Torvalds
2019-12-06 22:15 ` David Howells
2019-10-23 20:17 ` [RFC PATCH 05/10] pipe: Allow pipes to have kernel-reserved slots " David Howells
2019-10-23 20:17 ` David Howells
2019-10-23 20:17 ` David Howells
2019-10-23 20:18 ` [RFC PATCH 06/10] pipe: Advance tail pointer inside of wait spinlock in pipe_read() " David Howells
2019-10-23 20:18 ` David Howells
2019-10-23 20:18 ` David Howells
2019-10-23 20:18 ` [RFC PATCH 07/10] pipe: Conditionalise wakeup " David Howells
2019-10-23 20:18 ` David Howells
2019-10-23 20:18 ` David Howells
2019-10-27 15:57 ` Konstantin Khlebnikov
2019-10-27 15:57 ` Konstantin Khlebnikov
2019-10-31 15:21 ` David Howells
2019-10-31 16:38 ` David Howells
2019-11-03 11:04 ` Konstantin Khlebnikov
2019-11-03 11:04 ` Konstantin Khlebnikov
2019-10-23 20:18 ` [RFC PATCH 08/10] pipe: Rearrange sequence in pipe_write() to preallocate slot " David Howells
2019-10-23 20:18 ` David Howells
2019-10-23 20:18 ` David Howells
2019-10-23 20:18 ` [RFC PATCH 09/10] pipe: Remove redundant wakeup from pipe_write() " David Howells
2019-10-23 20:18 ` David Howells
2019-10-23 20:18 ` David Howells
2019-10-23 20:18 ` [RFC PATCH 10/10] pipe: Check for ring full inside of the spinlock in " David Howells
2019-10-23 20:18 ` David Howells
2019-10-23 20:18 ` David Howells
2019-10-24 10:32 ` [RFC PATCH 04/10] pipe: Use head and tail pointers for the ring, not cursor and length " David Howells
2019-10-24 10:32 ` David Howells
2019-10-24 13:14 ` [RFC PATCH 00/10] pipe: Notification queue preparation " Peter Zijlstra
2019-10-24 13:14 ` Peter Zijlstra
2019-10-24 16:57 ` [RFC PATCH 11/10] pipe: Add fsync() support " David Howells
2019-10-24 16:57 ` David Howells
2019-10-24 21:29 ` Linus Torvalds
2019-10-24 21:29 ` Linus Torvalds
2019-10-25 8:34 ` David Howells
2019-10-25 8:34 ` David Howells
2019-10-27 15:22 ` Christoph Hellwig
2019-10-27 15:22 ` Christoph Hellwig
2019-10-27 16:04 ` Konstantin Khlebnikov
2019-10-27 16:04 ` Konstantin Khlebnikov
2019-10-31 15:13 ` David Howells
2019-10-31 15:15 ` David Howells
2019-11-02 18:53 ` Linus Torvalds
2019-11-02 18:53 ` Linus Torvalds
2019-11-02 19:34 ` David Howells
2019-11-02 20:31 ` Andy Lutomirski
2019-11-02 20:31 ` Andy Lutomirski
2019-11-02 22:03 ` Linus Torvalds
2019-11-02 22:03 ` Linus Torvalds
2019-11-02 22:09 ` Linus Torvalds
2019-11-02 22:09 ` Linus Torvalds
2019-11-02 22:30 ` Andy Lutomirski
2019-11-02 22:30 ` Andy Lutomirski
2019-11-02 23:02 ` Linus Torvalds
2019-11-02 23:02 ` Linus Torvalds
2019-11-02 23:09 ` Linus Torvalds
2019-11-02 23:09 ` Linus Torvalds
2019-11-02 23:14 ` Andy Lutomirski
2019-11-02 23:14 ` Andy Lutomirski
2019-11-03 12:02 ` Konstantin Khlebnikov
2019-11-03 12:02 ` Konstantin Khlebnikov
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=201910260852.ea15MwMR%lkp@intel.com \
--to=lkp@intel.com \
--cc=kbuild-all@lists.01.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.