[PATCH 3/4] cputime/powerpc/s390: make scaled cputime arch specific

kbuild test robot lkp at intel.com
Tue Nov 1 01:13:54 AEDT 2016


Hi Stanislaw,

[auto build test ERROR on powerpc/next]
[also build test ERROR on v4.9-rc3 next-20161028]
[if your patch is applied to the wrong git tree, please drop us a note to help improve the system]
[Suggest to use git(>=2.9.0) format-patch --base=<commit> (or --base=auto for convenience) to record what (public, well-known) commit your patch series was built on]
[Check https://git-scm.com/docs/git-format-patch for more information]

url:    https://github.com/0day-ci/linux/commits/Stanislaw-Gruszka/cputime-powerpc-remove-cputime_last_delta-global-variable/20161031-204221
base:   https://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux.git next
config: s390-default_defconfig (attached as .config)
compiler: s390x-linux-gnu-gcc (Debian 6.1.1-9) 6.1.1 20160705
reproduce:
        wget https://git.kernel.org/cgit/linux/kernel/git/wfg/lkp-tests.git/plain/sbin/make.cross -O ~/bin/make.cross
        chmod +x ~/bin/make.cross
        # save the attached .config to linux build tree
        make.cross ARCH=s390 

All errors (new ones prefixed by >>):

   arch/s390/kernel/vtime.c: In function 'do_account_vtime':
>> arch/s390/kernel/vtime.c:141:5: error: 'struct task_struct' has no member named 'utimescaled'
     tsk->utimescaled += user_scaled;
        ^~
>> arch/s390/kernel/vtime.c:143:2: error: expected ';' before 'tsk'
     tsk->stimescaled += system_scaled;
     ^~~
   arch/s390/kernel/vtime.c: In function 'vtime_account_irq_enter':
>> arch/s390/kernel/vtime.c:208:5: error: 'struct task_struct' has no member named 'stimescaled'
     tsk->stimescaled += system_scaled;
        ^~

vim +141 arch/s390/kernel/vtime.c

   135			u64 div = __this_cpu_read(mt_scaling_div);
   136	
   137			user_scaled = (user_scaled * mult) / div;
   138			system_scaled = (system_scaled * mult) / div;
   139		}
   140		account_user_time(tsk, user);
 > 141		tsk->utimescaled += user_scaled;
   142		account_system_time(tsk, hardirq_offset, system)
 > 143		tsk->stimescaled += system_scaled;
   144	
   145		steal = S390_lowcore.steal_timer;
   146		if ((s64) steal > 0) {
   147			S390_lowcore.steal_timer = 0;
   148			account_steal_time(steal);
   149		}
   150	
   151		return virt_timer_forward(user + system);
   152	}
   153	
   154	void vtime_task_switch(struct task_struct *prev)
   155	{
   156		struct thread_info *ti;
   157	
   158		do_account_vtime(prev, 0);
   159		ti = task_thread_info(prev);
   160		ti->user_timer = S390_lowcore.user_timer;
   161		ti->system_timer = S390_lowcore.system_timer;
   162		ti = task_thread_info(current);
   163		S390_lowcore.user_timer = ti->user_timer;
   164		S390_lowcore.system_timer = ti->system_timer;
   165	}
   166	
   167	/*
   168	 * In s390, accounting pending user time also implies
   169	 * accounting system time in order to correctly compute
   170	 * the stolen time accounting.
   171	 */
   172	void vtime_account_user(struct task_struct *tsk)
   173	{
   174		if (do_account_vtime(tsk, HARDIRQ_OFFSET))
   175			virt_timer_expire();
   176	}
   177	
   178	/*
   179	 * Update process times based on virtual cpu times stored by entry.S
   180	 * to the lowcore fields user_timer, system_timer & steal_clock.
   181	 */
   182	void vtime_account_irq_enter(struct task_struct *tsk)
   183	{
   184		struct thread_info *ti = task_thread_info(tsk);
   185		u64 timer, system, system_scaled;
   186	
   187		timer = S390_lowcore.last_update_timer;
   188		S390_lowcore.last_update_timer = get_vtimer();
   189		S390_lowcore.system_timer += timer - S390_lowcore.last_update_timer;
   190	
   191		/* Update MT utilization calculation */
   192		if (smp_cpu_mtid &&
   193		    time_after64(jiffies_64, this_cpu_read(mt_scaling_jiffies)))
   194			update_mt_scaling();
   195	
   196		system = S390_lowcore.system_timer - ti->system_timer;
   197		S390_lowcore.steal_timer -= system;
   198		ti->system_timer = S390_lowcore.system_timer;
   199		system_scaled = system;
   200		/* Do MT utilization scaling */
   201		if (smp_cpu_mtid) {
   202			u64 mult = __this_cpu_read(mt_scaling_mult);
   203			u64 div = __this_cpu_read(mt_scaling_div);
   204	
   205			system_scaled = (system_scaled * mult) / div;
   206		}
   207		account_system_time(tsk, 0, system);
 > 208		tsk->stimescaled += system_scaled;
   209	
   210		virt_timer_forward(system);
   211	}

---
0-DAY kernel test infrastructure                Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all                   Intel Corporation
-------------- next part --------------
A non-text attachment was scrubbed...
Name: .config.gz
Type: application/gzip
Size: 16274 bytes
Desc: not available
URL: <http://lists.ozlabs.org/pipermail/linuxppc-dev/attachments/20161031/0cef55db/attachment-0001.gz>


More information about the Linuxppc-dev mailing list