linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: kbuild test robot <lkp@intel.com>
To: Julia Cartwright <julia@ni.com>
Cc: kbuild-all@01.org,
	Sebastian Andrzej Siewior <bigeasy@linutronix.de>,
	Thomas Gleixner <tglx@linutronix.de>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
	"linux-rt-users@vger.kernel.org" <linux-rt-users@vger.kernel.org>,
	Steffen Trumtrar <s.trumtrar@pengutronix.de>,
	Tim Sander <tim@krieglstein.org>,
	Guenter Roeck <linux@roeck-us.net>
Subject: Re: [PATCH RT 2/2] watchdog, rt: prevent deferral of watchdogd wakeup
Date: Sat, 29 Sep 2018 07:20:35 +0800	[thread overview]
Message-ID: <201809290721.FTijxaFm%fengguang.wu@intel.com> (raw)
In-Reply-To: <0e02d8327aeca344096c246713033887bc490dd7.1538089180.git.julia@ni.com>

[-- Attachment #1: Type: text/plain, Size: 4217 bytes --]

Hi Julia,

Thank you for the patch! Yet something to improve:

[auto build test ERROR on linus/master]
[also build test ERROR on v4.19-rc5 next-20180928]
[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/Julia-Cartwright/kthread-convert-worker-lock-to-raw-spinlock/20180929-052522
config: i386-randconfig-s0-201838 (attached as .config)
compiler: gcc-6 (Debian 6.4.0-9) 6.4.0 20171026
reproduce:
        # save the attached .config to linux build tree
        make ARCH=i386 

All errors (new ones prefixed by >>):

   drivers//watchdog/watchdog_dev.c: In function 'watchdog_cdev_register':
>> drivers//watchdog/watchdog_dev.c:948:49: error: 'HRTIMER_MODE_REL_HARD' undeclared (first use in this function)
     hrtimer_init(&wd_data->timer, CLOCK_MONOTONIC, HRTIMER_MODE_REL_HARD);
                                                    ^~~~~~~~~~~~~~~~~~~~~
   drivers//watchdog/watchdog_dev.c:948:49: note: each undeclared identifier is reported only once for each function it appears in

vim +/HRTIMER_MODE_REL_HARD +948 drivers//watchdog/watchdog_dev.c

   919	
   920	/*
   921	 *	watchdog_cdev_register: register watchdog character device
   922	 *	@wdd: watchdog device
   923	 *	@devno: character device number
   924	 *
   925	 *	Register a watchdog character device including handling the legacy
   926	 *	/dev/watchdog node. /dev/watchdog is actually a miscdevice and
   927	 *	thus we set it up like that.
   928	 */
   929	
   930	static int watchdog_cdev_register(struct watchdog_device *wdd, dev_t devno)
   931	{
   932		struct watchdog_core_data *wd_data;
   933		int err;
   934	
   935		wd_data = kzalloc(sizeof(struct watchdog_core_data), GFP_KERNEL);
   936		if (!wd_data)
   937			return -ENOMEM;
   938		kref_init(&wd_data->kref);
   939		mutex_init(&wd_data->lock);
   940	
   941		wd_data->wdd = wdd;
   942		wdd->wd_data = wd_data;
   943	
   944		if (IS_ERR_OR_NULL(watchdog_kworker))
   945			return -ENODEV;
   946	
   947		kthread_init_work(&wd_data->work, watchdog_ping_work);
 > 948		hrtimer_init(&wd_data->timer, CLOCK_MONOTONIC, HRTIMER_MODE_REL_HARD);
   949		wd_data->timer.function = watchdog_timer_expired;
   950	
   951		if (wdd->id == 0) {
   952			old_wd_data = wd_data;
   953			watchdog_miscdev.parent = wdd->parent;
   954			err = misc_register(&watchdog_miscdev);
   955			if (err != 0) {
   956				pr_err("%s: cannot register miscdev on minor=%d (err=%d).\n",
   957					wdd->info->identity, WATCHDOG_MINOR, err);
   958				if (err == -EBUSY)
   959					pr_err("%s: a legacy watchdog module is probably present.\n",
   960						wdd->info->identity);
   961				old_wd_data = NULL;
   962				kfree(wd_data);
   963				return err;
   964			}
   965		}
   966	
   967		/* Fill in the data structures */
   968		cdev_init(&wd_data->cdev, &watchdog_fops);
   969		wd_data->cdev.owner = wdd->ops->owner;
   970	
   971		/* Add the device */
   972		err = cdev_add(&wd_data->cdev, devno, 1);
   973		if (err) {
   974			pr_err("watchdog%d unable to add device %d:%d\n",
   975				wdd->id,  MAJOR(watchdog_devt), wdd->id);
   976			if (wdd->id == 0) {
   977				misc_deregister(&watchdog_miscdev);
   978				old_wd_data = NULL;
   979				kref_put(&wd_data->kref, watchdog_core_data_release);
   980			}
   981			return err;
   982		}
   983	
   984		/* Record time of most recent heartbeat as 'just before now'. */
   985		wd_data->last_hw_keepalive = ktime_sub(ktime_get(), 1);
   986	
   987		/*
   988		 * If the watchdog is running, prevent its driver from being unloaded,
   989		 * and schedule an immediate ping.
   990		 */
   991		if (watchdog_hw_running(wdd)) {
   992			__module_get(wdd->ops->owner);
   993			kref_get(&wd_data->kref);
   994			if (handle_boot_enabled)
   995				hrtimer_start(&wd_data->timer, 0, HRTIMER_MODE_REL);
   996			else
   997				pr_info("watchdog%d running and kernel based pre-userspace handler disabled\n",
   998					wdd->id);
   999		}
  1000	
  1001		return 0;
  1002	}
  1003	

---
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: 31829 bytes --]

  parent reply	other threads:[~2018-09-28 23:20 UTC|newest]

Thread overview: 13+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <73in2vl5mj.fsf@pengutronix.de>
2018-09-28 21:03 ` [PATCH 0/2] Fix watchdogd wakeup deferral on RT Julia Cartwright
2018-09-28 21:03   ` [PATCH 1/2] kthread: convert worker lock to raw spinlock Julia Cartwright
2018-10-05 16:46     ` Sebastian Andrzej Siewior
2018-10-05 18:10     ` Andrea Parri
2018-10-09 10:56       ` Sebastian Andrzej Siewior
2018-09-28 21:03   ` [PATCH RT 2/2] watchdog, rt: prevent deferral of watchdogd wakeup Julia Cartwright
2018-09-28 22:38     ` kbuild test robot
2018-09-29  6:38       ` Thomas Gleixner
2018-09-29 22:13         ` Sebastian Andrzej Siewior
2018-09-30  1:41           ` [kbuild-all] " Li, Philip
2018-09-28 23:20     ` kbuild test robot [this message]
2018-09-30 14:00     ` Guenter Roeck
2018-10-05 16:52     ` Sebastian Andrzej Siewior

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=201809290721.FTijxaFm%fengguang.wu@intel.com \
    --to=lkp@intel.com \
    --cc=bigeasy@linutronix.de \
    --cc=julia@ni.com \
    --cc=kbuild-all@01.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-rt-users@vger.kernel.org \
    --cc=linux@roeck-us.net \
    --cc=s.trumtrar@pengutronix.de \
    --cc=tglx@linutronix.de \
    --cc=tim@krieglstein.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).