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

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

 



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-allyesconfig (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 'nr_cpus_allowed'?
     cpumask_copy(&zt->relay.cpus_allowed, &app->cpus_allowed);
                                                 ^~~~~~~~~~~~
                                                 nr_cpus_allowed
   fs/zuf/zuf-core.c:698:21: error: 'struct task_struct' has no member named 'cpus_allowed'; did you mean 'nr_cpus_allowed'?
     cpumask_copy(&app->cpus_allowed,  cpumask_of(smp_processor_id()));
                        ^~~~~~~~~~~~
                        nr_cpus_allowed
   fs/zuf/zuf-core.c:721:22: error: 'struct task_struct' has no member named 'cpus_allowed'; did you mean 'nr_cpus_allowed'?
      cpumask_copy(&app->cpus_allowed, &zt->relay.cpus_allowed);
                         ^~~~~~~~~~~~
                         nr_cpus_allowed

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

Attachment: .config.gz
Description: application/gzip


[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