On 13/08/2019 06:24, kbuild test robot wrote: > Hi Boaz, > > I love your patch! Yet something to improve: > > [auto build test ERROR on linus/master] > [cannot apply to v5.3-rc4] > [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/Boaz-Harrosh/zuf-ZUFS-Zero-copy-User-mode-FileSystem/20190813-074124 > config: x86_64-allmodconfig (attached as .config) > compiler: gcc-7 (Debian 7.4.0-10) 7.4.0 > 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@xxxxxxxxx> > > All errors (new ones prefixed by >>): > > fs/zuf/zuf-core.c: In function '_r_zufs_dispatch': >>> fs/zuf/zuf-core.c:697:46: error: 'struct task_struct' has no member named 'cpus_allowed'; did you mean 'mems_allowed'? > cpumask_copy(&zt->relay.cpus_allowed, &app->cpus_allowed); > ^~~~~~~~~~~~ > mems_allowed > fs/zuf/zuf-core.c:698:21: error: 'struct task_struct' has no member named 'cpus_allowed'; did you mean 'mems_allowed'? > cpumask_copy(&app->cpus_allowed, cpumask_of(smp_processor_id())); > ^~~~~~~~~~~~ > mems_allowed > fs/zuf/zuf-core.c:721:22: error: 'struct task_struct' has no member named 'cpus_allowed'; did you mean 'mems_allowed'? > cpumask_copy(&app->cpus_allowed, &zt->relay.cpus_allowed); > ^~~~~~~~~~~~ > mems_allowed Thank you. This code is based on v5.2. I guess something changed since 5.3-rc(s) I will try to merge v5.3-rc4 and see how to fix this issue. [I will send a SQUASHME patch on top of the original patch] Would you prefer to add my github tree to the build or you will apply the fixup patches onto? Thank you for the report Boaz > > vim +697 fs/zuf/zuf-core.c > > 643 > 644 int __zufc_dispatch(struct zuf_root_info *zri, struct zuf_dispatch_op *zdo) > 645 #endif /* CONFIG_ZUF_DEBUG */ > 646 { > 647 struct task_struct *app = get_current(); > 648 struct zufs_ioc_hdr *hdr = zdo->hdr; > 649 int cpu; > 650 struct zufc_thread *zt; > 651 > 652 if (unlikely(hdr->out_len && !hdr->out_max)) { > 653 /* TODO: Complain here and let caller code do this proper */ > 654 hdr->out_max = hdr->out_len; > 655 } > 656 > 657 if (unlikely(zdo->__locked_zt)) { > 658 zt = zdo->__locked_zt; > 659 zdo->__locked_zt = NULL; > 660 > 661 cpu = get_cpu(); > 662 /* FIXME: Very Pedantic need it stay */ > 663 if (unlikely((zt->zdo != zdo) || cpu != zt->no)) { > 664 zuf_warn("[%ld] __locked_zt but zdo(%p != %p) || cpu(%d != %d)\n", > 665 _zt_pr_no(zt), zt->zdo, zdo, cpu, zt->no); > 666 put_cpu(); > 667 goto channel_busy; > 668 } > 669 goto has_channel; > 670 } > 671 channel_busy: > 672 cpu = get_cpu(); > 673 > 674 if (!_try_grab_zt_channel(zri, cpu, &zt)) { > 675 put_cpu(); > 676 > 677 /* If channel was grabbed then maybe a break_all is in progress > 678 * on a different CPU make sure zt->file on this core is > 679 * updated > 680 */ > 681 mb(); > 682 if (unlikely(!zt->hdr.file)) { > 683 zuf_err("[%d] !zt->file\n", cpu); > 684 return -EIO; > 685 } > 686 zuf_dbg_err("[%d] can this be\n", cpu); > 687 /* FIXME: Do something much smarter */ > 688 msleep(10); > 689 if (signal_pending(get_current())) { > 690 zuf_dbg_err("[%d] => EINTR\n", cpu); > 691 return -EINTR; > 692 } > 693 goto channel_busy; > 694 } > 695 > 696 /* lock app to this cpu while waiting */ > > 697 cpumask_copy(&zt->relay.cpus_allowed, &app->cpus_allowed); > 698 cpumask_copy(&app->cpus_allowed, cpumask_of(smp_processor_id())); > 699 > 700 zt->zdo = zdo; > 701 > 702 has_channel: > 703 if (zdo->dh) > 704 zdo->dh(zdo, zt, zt->opt_buff); > 705 else > 706 memcpy(zt->opt_buff, zt->zdo->hdr, zt->zdo->hdr->in_len); > 707 > 708 put_cpu(); > 709 > 710 if (relay_fss_wakeup_app_wait(&zt->relay) == -ERESTARTSYS) { > 711 struct zufs_ioc_hdr *opt_hdr = zt->opt_buff; > 712 > 713 opt_hdr->flags |= ZUFS_H_INTR; > 714 > 715 relay_fss_wakeup_app_wait_cont(&zt->relay); > 716 } > 717 > 718 /* __locked_zt must be kept on same cpu */ > 719 if (!zdo->__locked_zt) > 720 /* restore cpu affinity after wakeup */ > 721 cpumask_copy(&app->cpus_allowed, &zt->relay.cpus_allowed); > 722 > 723 DEBUG_CPU_SWITCH(cpu); > 724 > 725 return zt->hdr.file ? hdr->err : -EIO; > 726 } > 727 > > --- > 0-DAY kernel test infrastructure Open Source Technology Center > https://lists.01.org/pipermail/kbuild-all Intel Corporation >