Re: [PATCH 05/16] zuf: zuf-core The ZTs

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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
> 




[Index of Archives]     [Linux Ext4 Filesystem]     [Union Filesystem]     [Filesystem Testing]     [Ceph Users]     [Ecryptfs]     [AutoFS]     [Kernel Newbies]     [Share Photos]     [Security]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux Cachefs]     [Reiser Filesystem]     [Linux RAID]     [Samba]     [Device Mapper]     [CEPH Development]

  Powered by Linux