Patch Detail
get:
Show a patch.
patch:
Update a patch.
put:
Update a patch.
GET /api/patches/814327/?format=api
{ "id": 814327, "url": "http://patchwork.ozlabs.org/api/patches/814327/?format=api", "web_url": "http://patchwork.ozlabs.org/project/openvswitch/patch/1505493630-71065-2-git-send-email-bhanuprakash.bodireddy@intel.com/", "project": { "id": 47, "url": "http://patchwork.ozlabs.org/api/projects/47/?format=api", "name": "Open vSwitch", "link_name": "openvswitch", "list_id": "ovs-dev.openvswitch.org", "list_email": "ovs-dev@openvswitch.org", "web_url": "http://openvswitch.org/", "scm_url": "git@github.com:openvswitch/ovs.git", "webscm_url": "https://github.com/openvswitch/ovs", "list_archive_url": "", "list_archive_url_format": "", "commit_url_format": "" }, "msgid": "<1505493630-71065-2-git-send-email-bhanuprakash.bodireddy@intel.com>", "list_archive_url": null, "date": "2017-09-15T16:40:21", "name": "[ovs-dev,v5,01/10] process: Extend get_process_info() for additional fields.", "commit_ref": null, "pull_url": null, "state": "deferred", "archived": false, "hash": "67f611978a219476cdedd764027641ff15c9e478", "submitter": { "id": 68557, "url": "http://patchwork.ozlabs.org/api/people/68557/?format=api", "name": "Bodireddy, Bhanuprakash", "email": "bhanuprakash.bodireddy@intel.com" }, "delegate": null, "mbox": "http://patchwork.ozlabs.org/project/openvswitch/patch/1505493630-71065-2-git-send-email-bhanuprakash.bodireddy@intel.com/mbox/", "series": [ { "id": 3334, "url": "http://patchwork.ozlabs.org/api/series/3334/?format=api", "web_url": "http://patchwork.ozlabs.org/project/openvswitch/list/?series=3334", "date": "2017-09-15T16:40:21", "name": "[ovs-dev,v5,01/10] process: Extend get_process_info() for additional fields.", "version": 5, "mbox": "http://patchwork.ozlabs.org/series/3334/mbox/" } ], "comments": "http://patchwork.ozlabs.org/api/patches/814327/comments/", "check": "pending", "checks": "http://patchwork.ozlabs.org/api/patches/814327/checks/", "tags": {}, "related": [], "headers": { "Return-Path": "<ovs-dev-bounces@openvswitch.org>", "X-Original-To": [ "incoming@patchwork.ozlabs.org", "dev@openvswitch.org" ], "Delivered-To": [ "patchwork-incoming@bilbo.ozlabs.org", "ovs-dev@mail.linuxfoundation.org" ], "Authentication-Results": "ozlabs.org;\n\tspf=pass (mailfrom) smtp.mailfrom=openvswitch.org\n\t(client-ip=140.211.169.12; helo=mail.linuxfoundation.org;\n\tenvelope-from=ovs-dev-bounces@openvswitch.org;\n\treceiver=<UNKNOWN>)", "Received": [ "from mail.linuxfoundation.org (mail.linuxfoundation.org\n\t[140.211.169.12])\n\t(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256\n\tbits)) (No client certificate requested)\n\tby ozlabs.org (Postfix) with ESMTPS id 3xv1dC0zsxz9sRm\n\tfor <incoming@patchwork.ozlabs.org>;\n\tSat, 16 Sep 2017 02:51:20 +1000 (AEST)", "from mail.linux-foundation.org (localhost [127.0.0.1])\n\tby mail.linuxfoundation.org (Postfix) with ESMTP id 866198F5;\n\tFri, 15 Sep 2017 16:50:41 +0000 (UTC)", "from smtp1.linuxfoundation.org (smtp1.linux-foundation.org\n\t[172.17.192.35])\n\tby mail.linuxfoundation.org (Postfix) with ESMTPS id B4C4F5A7\n\tfor <dev@openvswitch.org>; Fri, 15 Sep 2017 16:50:38 +0000 (UTC)", "from mga07.intel.com (mga07.intel.com [134.134.136.100])\n\tby smtp1.linuxfoundation.org (Postfix) with ESMTPS id 26AE145A\n\tfor <dev@openvswitch.org>; Fri, 15 Sep 2017 16:50:38 +0000 (UTC)", "from orsmga005.jf.intel.com ([10.7.209.41])\n\tby orsmga105.jf.intel.com with ESMTP; 15 Sep 2017 09:50:37 -0700", "from silpixa00393942.ir.intel.com (HELO\n\tsilpixa00393942.ger.corp.intel.com) ([10.237.223.42])\n\tby orsmga005.jf.intel.com with ESMTP; 15 Sep 2017 09:50:36 -0700" ], "X-Greylist": "domain auto-whitelisted by SQLgrey-1.7.6", "X-ExtLoop1": "1", "X-IronPort-AV": "E=Sophos;i=\"5.42,397,1500966000\"; d=\"scan'208\";a=\"149652115\"", "From": "Bhanuprakash Bodireddy <bhanuprakash.bodireddy@intel.com>", "To": "dev@openvswitch.org", "Date": "Fri, 15 Sep 2017 17:40:21 +0100", "Message-Id": "<1505493630-71065-2-git-send-email-bhanuprakash.bodireddy@intel.com>", "X-Mailer": "git-send-email 2.4.11", "In-Reply-To": "<1505493630-71065-1-git-send-email-bhanuprakash.bodireddy@intel.com>", "References": "<1505493630-71065-1-git-send-email-bhanuprakash.bodireddy@intel.com>", "X-Spam-Status": "No, score=-2.3 required=5.0 tests=RCVD_IN_DNSWL_MED,\n\tRP_MATCHES_RCVD autolearn=disabled version=3.3.1", "X-Spam-Checker-Version": "SpamAssassin 3.3.1 (2010-03-16) on\n\tsmtp1.linux-foundation.org", "Subject": "[ovs-dev] [PATCH v5 01/10] process: Extend get_process_info() for\n\tadditional fields.", "X-BeenThere": "ovs-dev@openvswitch.org", "X-Mailman-Version": "2.1.12", "Precedence": "list", "List-Id": "<ovs-dev.openvswitch.org>", "List-Unsubscribe": "<https://mail.openvswitch.org/mailman/options/ovs-dev>,\n\t<mailto:ovs-dev-request@openvswitch.org?subject=unsubscribe>", "List-Archive": "<http://mail.openvswitch.org/pipermail/ovs-dev/>", "List-Post": "<mailto:ovs-dev@openvswitch.org>", "List-Help": "<mailto:ovs-dev-request@openvswitch.org?subject=help>", "List-Subscribe": "<https://mail.openvswitch.org/mailman/listinfo/ovs-dev>,\n\t<mailto:ovs-dev-request@openvswitch.org?subject=subscribe>", "MIME-Version": "1.0", "Content-Type": "text/plain; charset=\"us-ascii\"", "Content-Transfer-Encoding": "7bit", "Sender": "ovs-dev-bounces@openvswitch.org", "Errors-To": "ovs-dev-bounces@openvswitch.org" }, "content": "This commit enables the fields relating to process name and the core\nnumber the process was last scheduled. The fields will be used by keepalive\nmonitoring framework in future commits.\n\nThis commit also fixes the following \"sparse\" warning:\n\n lib/process.c:439:16: error: use of assignment suppression and length\n modifier together in gnu_scanf format [-Werror=format=].\n\nSigned-off-by: Bhanuprakash Bodireddy <bhanuprakash.bodireddy@intel.com>\n---\n lib/process.c | 43 +++++++++++++++++++++++--------------------\n lib/process.h | 2 ++\n 2 files changed, 25 insertions(+), 20 deletions(-)", "diff": "diff --git a/lib/process.c b/lib/process.c\nindex 3e119b5..95df112 100644\n--- a/lib/process.c\n+++ b/lib/process.c\n@@ -64,7 +64,8 @@ struct raw_process_info {\n long long int uptime; /* ms since started. */\n long long int cputime; /* ms of CPU used during 'uptime'. */\n pid_t ppid; /* Parent. */\n- char name[18]; /* Name (surrounded by parentheses). */\n+ int core_id; /* Core id last executed on. */\n+ char name[18]; /* Name. */\n };\n \n /* Pipe used to signal child termination. */\n@@ -421,7 +422,7 @@ get_raw_process_info(pid_t pid, struct raw_process_info *raw)\n \n n = fscanf(stream,\n \"%*d \" /* (1. pid) */\n- \"%17s \" /* 2. process name */\n+ \"(%17[^)]) \" /* 2. process name */\n \"%*c \" /* (3. state) */\n \"%lu \" /* 4. ppid */\n \"%*d \" /* (5. pgid) */\n@@ -444,33 +445,34 @@ get_raw_process_info(pid_t pid, struct raw_process_info *raw)\n \"%llu \" /* 22. start_time */\n \"%llu \" /* 23. vsize */\n \"%llu \" /* 24. rss */\n+ \"%*u \" /* (25. rsslim) */\n+ \"%*u \" /* (26. start_code) */\n+ \"%*u \" /* (27. end_code) */\n+ \"%*u \" /* (28. start_stack) */\n+ \"%*u \" /* (29. esp) */\n+ \"%*u \" /* (30. eip) */\n+ \"%*u \" /* (31. pending signals) */\n+ \"%*u \" /* (32. blocked signals) */\n+ \"%*u \" /* (33. ignored signals) */\n+ \"%*u \" /* (34. caught signals) */\n+ \"%*u \" /* (35. whcan) */\n+ \"%*u \" /* (36. always 0) */\n+ \"%*u \" /* (37. always 0) */\n+ \"%*d \" /* (38. exit_signal) */\n+ \"%d \" /* 39. task_cpu */\n #if 0\n /* These are here for documentation but #if'd out to save\n * actually parsing them from the stream for no benefit. */\n- \"%*lu \" /* (25. rsslim) */\n- \"%*lu \" /* (26. start_code) */\n- \"%*lu \" /* (27. end_code) */\n- \"%*lu \" /* (28. start_stack) */\n- \"%*lu \" /* (29. esp) */\n- \"%*lu \" /* (30. eip) */\n- \"%*lu \" /* (31. pending signals) */\n- \"%*lu \" /* (32. blocked signals) */\n- \"%*lu \" /* (33. ignored signals) */\n- \"%*lu \" /* (34. caught signals) */\n- \"%*lu \" /* (35. whcan) */\n- \"%*lu \" /* (36. always 0) */\n- \"%*lu \" /* (37. always 0) */\n- \"%*d \" /* (38. exit_signal) */\n- \"%*d \" /* (39. task_cpu) */\n \"%*u \" /* (40. rt_priority) */\n \"%*u \" /* (41. policy) */\n \"%*llu \" /* (42. blkio_ticks) */\n \"%*lu \" /* (43. gtime) */\n \"%*ld\" /* (44. cgtime) */\n #endif\n- , raw->name, &ppid, &utime, &stime, &start_time, &vsize, &rss);\n+ , raw->name, &ppid, &utime, &stime, &start_time,\n+ &vsize, &rss, &raw->core_id);\n fclose(stream);\n- if (n != 7) {\n+ if (n != 8) {\n VLOG_ERR_ONCE(\"%s: fscanf failed\", file_name);\n return false;\n }\n@@ -496,12 +498,14 @@ get_process_info(pid_t pid, struct process_info *pinfo)\n return false;\n }\n \n+ ovs_strlcpy(pinfo->name, child.name, sizeof pinfo->name);\n pinfo->vsz = child.vsz;\n pinfo->rss = child.rss;\n pinfo->booted = child.uptime;\n pinfo->crashes = 0;\n pinfo->uptime = child.uptime;\n pinfo->cputime = child.cputime;\n+ pinfo->core_id = child.core_id;\n \n if (child.ppid) {\n struct raw_process_info parent;\n@@ -579,7 +583,6 @@ process_run(void)\n #endif\n }\n \n-\n /* Causes the next call to poll_block() to wake up when process 'p' has\n * exited. */\n void\ndiff --git a/lib/process.h b/lib/process.h\nindex 999ac68..8c52820 100644\n--- a/lib/process.h\n+++ b/lib/process.h\n@@ -29,6 +29,8 @@ struct process_info {\n int crashes; /* # of crashes (usually 0). */\n long long int uptime; /* ms since last (re)started by monitor. */\n long long int cputime; /* ms of CPU used during 'uptime'. */\n+ int core_id;\n+ char name[18];\n };\n \n /* Starting and monitoring subprocesses.\n", "prefixes": [ "ovs-dev", "v5", "01/10" ] }