All of lore.kernel.org
 help / color / mirror / Atom feed
From: Shailabh Nagar <nagar@watson.ibm.com>
To: Shailabh Nagar <nagar@watson.ibm.com>
Cc: Andrew Morton <akpm@osdl.org>, Paul Jackson <pj@sgi.com>,
	Valdis.Kletnieks@vt.edu, jlan@engr.sgi.com, balbir@in.ibm.com,
	csturtiv@sgi.com, linux-kernel@vger.kernel.org,
	Jamal <hadi@cyberus.ca>, netdev <netdev@vger.kernel.org>
Subject: Re: [Patch][RFC] Disabling per-tgid stats on task exit in taskstats
Date: Fri, 30 Jun 2006 15:19:51 -0400	[thread overview]
Message-ID: <44A57957.60005@watson.ibm.com> (raw)
In-Reply-To: <44A5770F.3080206@watson.ibm.com>

Shailabh Nagar wrote:
> Shailabh Nagar wrote:
> 
> 
<snip>

> Index: linux-2.6.17-mm3equiv/kernel/taskstats.c
> ===================================================================
> --- linux-2.6.17-mm3equiv.orig/kernel/taskstats.c	2006-06-30 11:57:14.000000000 -0400
> +++ linux-2.6.17-mm3equiv/kernel/taskstats.c	2006-06-30 13:58:36.000000000 -0400
> @@ -266,7 +266,7 @@ void taskstats_exit_send(struct task_str
>  	struct sk_buff *rep_skb;
>  	void *reply;
>  	size_t size;
> -	int is_thread_group;
> +	int is_thread_group, setid;
>  	struct nlattr *na;
> 
>  	if (!family_registered || !tidstats)
> @@ -320,7 +320,8 @@ void taskstats_exit_send(struct task_str
>  	nla_nest_end(rep_skb, na);
> 
>  send:
> -	send_reply(rep_skb, 0, TASKSTATS_MSG_MULTICAST);
> +	setid = (smp_processor_id()%TASKSTATS_CPUS_PER_SET)+1;
> +	send_reply(rep_skb, setid, TASKSTATS_MSG_MULTICAST);

This should be
	send_reply(rep_skb, setid, TASKSTATS_MSG_UNICAST);

>  	return;
> 
>  nla_put_failure:
> Index: linux-2.6.17-mm3equiv/Documentation/accounting/getdelays.c
> ===================================================================
> --- linux-2.6.17-mm3equiv.orig/Documentation/accounting/getdelays.c	2006-06-28 16:08:56.000000000 -0400
> +++ linux-2.6.17-mm3equiv/Documentation/accounting/getdelays.c	2006-06-30 14:09:28.000000000 -0400
> @@ -40,7 +40,7 @@ int done = 0;
>  /*
>   * Create a raw netlink socket and bind
>   */
> -static int create_nl_socket(int protocol, int groups)
> +static int create_nl_socket(int protocol, int cpugroup)
>  {
>      socklen_t addr_len;
>      int fd;
> @@ -52,7 +52,8 @@ static int create_nl_socket(int protocol
> 
>      memset(&local, 0, sizeof(local));
>      local.nl_family = AF_NETLINK;
> -    local.nl_groups = groups;
> +    local.nl_groups = TASKSTATS_LISTEN_GROUP;
> +    local.nl_pid = cpugroup;
> 
>      if (bind(fd, (struct sockaddr *) &local, sizeof(local)) < 0)
>  	goto error;
> @@ -203,7 +204,7 @@ int main(int argc, char *argv[])
>      pid_t rtid = 0;
>      int cmd_type = TASKSTATS_TYPE_TGID;
>      int c, status;
> -    int forking = 0;
> +    int forking = 0, cpugroup = 0;
>      struct sigaction act = {
>  	.sa_handler = SIG_IGN,
>  	.sa_mask = SA_NOMASK,
> @@ -222,7 +223,7 @@ int main(int argc, char *argv[])
> 
>      while (1) {
> 
> -	c = getopt(argc, argv, "t:p:c:");
> +	c = getopt(argc, argv, "t:p:c:g:l");
>  	if (c < 0)
>  	    break;
> 
> @@ -252,8 +253,14 @@ int main(int argc, char *argv[])
>  	    }
>  	    forking = 1;
>  	    break;
> +	case 'g':
> +		cpugroup = atoi(optarg);
> +		break;
> +	case 'l':
> +		loop = 1;
> +		break;
>  	default:
> -	    printf("usage %s [-t tgid][-p pid][-c cmd]\n", argv[0]);
> +	    printf("usage %s [-t tgid][-p pid][-c cmd][-g cpugroup][-l]\n", argv[0]);
>  	    exit(-1);
>  	    break;
>  	}
> @@ -266,7 +273,7 @@ int main(int argc, char *argv[])
>      /* Send Netlink request message & get reply */
> 
>      if ((nl_sd =
> -	 create_nl_socket(NETLINK_GENERIC, TASKSTATS_LISTEN_GROUP)) < 0)
> +	 create_nl_socket(NETLINK_GENERIC, cpugroup)) < 0)
>  	err(1, "error creating Netlink socket\n");
> 
> 
> @@ -287,10 +294,10 @@ int main(int argc, char *argv[])
> 
> 
>      if (!forking && sendto_fd(nl_sd, (char *) &req, req.n.nlmsg_len) < 0)
> +    if ((!forking && !loop) &&
> +	sendto_fd(nl_sd, (char *) &req, req.n.nlmsg_len) < 0)
>  	err(1, "error sending message via Netlink\n");
> 
> -    act.sa_handler = SIG_IGN;
> -    sigemptyset(&act.sa_mask);
>      if (sigaction(SIGINT, &act, NULL) < 0)
>  	err(1, "sigaction failed for SIGINT\n");
> 
> @@ -349,10 +356,11 @@ int main(int argc, char *argv[])
>  			rtid = *(int *) NLA_DATA(na);
>  			break;
>  		    case TASKSTATS_TYPE_STATS:
> -			if (rtid == tid) {
> +			if (rtid == tid || loop) {
>  			    print_taskstats((struct taskstats *)
>  					    NLA_DATA(na));
> -			    done = 1;
> +			    if (!loop)
> +				    done = 1;
>  			}
>  			break;
>  		    }
> @@ -369,7 +377,7 @@ int main(int argc, char *argv[])
>  	if (done)
>  	    break;
>      }
> -    while (1);
> +    while (loop);
> 
>      close(nl_sd);
>      return 0;
> 


WARNING: multiple messages have this Message-ID (diff)
From: Shailabh Nagar <nagar@watson.ibm.com>
To: Shailabh Nagar <nagar@watson.ibm.com>
Cc: Andrew Morton <akpm@osdl.org>, Paul Jackson <pj@sgi.com>,
	Valdis.Kletnieks@vt.edu, jlan@engr.sgi.com, balbir@in.ibm.com,
	csturtiv@sgi.com, linux-kernel@vger.kernel.org,
	Jamal <hadi@cyberus.ca>, netdev <netdev@vger.kernel.org>
Subject: Re: [Patch][RFC] Disabling per-tgid stats on task exit in taskstats
Date: Fri, 30 Jun 2006 15:19:51 -0400	[thread overview]
Message-ID: <44A57957.60005@watson.ibm.com> (raw)
In-Reply-To: <44A5770F.3080206@watson.ibm.com>

Shailabh Nagar wrote:
> Shailabh Nagar wrote:
> 
> 
<snip>

> Index: linux-2.6.17-mm3equiv/kernel/taskstats.c
> ===================================================================
> --- linux-2.6.17-mm3equiv.orig/kernel/taskstats.c	2006-06-30 11:57:14.000000000 -0400
> +++ linux-2.6.17-mm3equiv/kernel/taskstats.c	2006-06-30 13:58:36.000000000 -0400
> @@ -266,7 +266,7 @@ void taskstats_exit_send(struct task_str
>  	struct sk_buff *rep_skb;
>  	void *reply;
>  	size_t size;
> -	int is_thread_group;
> +	int is_thread_group, setid;
>  	struct nlattr *na;
> 
>  	if (!family_registered || !tidstats)
> @@ -320,7 +320,8 @@ void taskstats_exit_send(struct task_str
>  	nla_nest_end(rep_skb, na);
> 
>  send:
> -	send_reply(rep_skb, 0, TASKSTATS_MSG_MULTICAST);
> +	setid = (smp_processor_id()%TASKSTATS_CPUS_PER_SET)+1;
> +	send_reply(rep_skb, setid, TASKSTATS_MSG_MULTICAST);

This should be
	send_reply(rep_skb, setid, TASKSTATS_MSG_UNICAST);

>  	return;
> 
>  nla_put_failure:
> Index: linux-2.6.17-mm3equiv/Documentation/accounting/getdelays.c
> ===================================================================
> --- linux-2.6.17-mm3equiv.orig/Documentation/accounting/getdelays.c	2006-06-28 16:08:56.000000000 -0400
> +++ linux-2.6.17-mm3equiv/Documentation/accounting/getdelays.c	2006-06-30 14:09:28.000000000 -0400
> @@ -40,7 +40,7 @@ int done = 0;
>  /*
>   * Create a raw netlink socket and bind
>   */
> -static int create_nl_socket(int protocol, int groups)
> +static int create_nl_socket(int protocol, int cpugroup)
>  {
>      socklen_t addr_len;
>      int fd;
> @@ -52,7 +52,8 @@ static int create_nl_socket(int protocol
> 
>      memset(&local, 0, sizeof(local));
>      local.nl_family = AF_NETLINK;
> -    local.nl_groups = groups;
> +    local.nl_groups = TASKSTATS_LISTEN_GROUP;
> +    local.nl_pid = cpugroup;
> 
>      if (bind(fd, (struct sockaddr *) &local, sizeof(local)) < 0)
>  	goto error;
> @@ -203,7 +204,7 @@ int main(int argc, char *argv[])
>      pid_t rtid = 0;
>      int cmd_type = TASKSTATS_TYPE_TGID;
>      int c, status;
> -    int forking = 0;
> +    int forking = 0, cpugroup = 0;
>      struct sigaction act = {
>  	.sa_handler = SIG_IGN,
>  	.sa_mask = SA_NOMASK,
> @@ -222,7 +223,7 @@ int main(int argc, char *argv[])
> 
>      while (1) {
> 
> -	c = getopt(argc, argv, "t:p:c:");
> +	c = getopt(argc, argv, "t:p:c:g:l");
>  	if (c < 0)
>  	    break;
> 
> @@ -252,8 +253,14 @@ int main(int argc, char *argv[])
>  	    }
>  	    forking = 1;
>  	    break;
> +	case 'g':
> +		cpugroup = atoi(optarg);
> +		break;
> +	case 'l':
> +		loop = 1;
> +		break;
>  	default:
> -	    printf("usage %s [-t tgid][-p pid][-c cmd]\n", argv[0]);
> +	    printf("usage %s [-t tgid][-p pid][-c cmd][-g cpugroup][-l]\n", argv[0]);
>  	    exit(-1);
>  	    break;
>  	}
> @@ -266,7 +273,7 @@ int main(int argc, char *argv[])
>      /* Send Netlink request message & get reply */
> 
>      if ((nl_sd =
> -	 create_nl_socket(NETLINK_GENERIC, TASKSTATS_LISTEN_GROUP)) < 0)
> +	 create_nl_socket(NETLINK_GENERIC, cpugroup)) < 0)
>  	err(1, "error creating Netlink socket\n");
> 
> 
> @@ -287,10 +294,10 @@ int main(int argc, char *argv[])
> 
> 
>      if (!forking && sendto_fd(nl_sd, (char *) &req, req.n.nlmsg_len) < 0)
> +    if ((!forking && !loop) &&
> +	sendto_fd(nl_sd, (char *) &req, req.n.nlmsg_len) < 0)
>  	err(1, "error sending message via Netlink\n");
> 
> -    act.sa_handler = SIG_IGN;
> -    sigemptyset(&act.sa_mask);
>      if (sigaction(SIGINT, &act, NULL) < 0)
>  	err(1, "sigaction failed for SIGINT\n");
> 
> @@ -349,10 +356,11 @@ int main(int argc, char *argv[])
>  			rtid = *(int *) NLA_DATA(na);
>  			break;
>  		    case TASKSTATS_TYPE_STATS:
> -			if (rtid == tid) {
> +			if (rtid == tid || loop) {
>  			    print_taskstats((struct taskstats *)
>  					    NLA_DATA(na));
> -			    done = 1;
> +			    if (!loop)
> +				    done = 1;
>  			}
>  			break;
>  		    }
> @@ -369,7 +377,7 @@ int main(int argc, char *argv[])
>  	if (done)
>  	    break;
>      }
> -    while (1);
> +    while (loop);
> 
>      close(nl_sd);
>      return 0;
> 


  reply	other threads:[~2006-06-30 19:20 UTC|newest]

Thread overview: 151+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2006-06-09  7:41 [Patch][RFC] Disabling per-tgid stats on task exit in taskstats Shailabh Nagar
2006-06-09  8:00 ` Andrew Morton
2006-06-09 10:51   ` Balbir Singh
2006-06-09 11:21     ` Andrew Morton
2006-06-09 13:20       ` Shailabh Nagar
2006-06-09 18:25         ` Jay Lan
2006-06-09 19:12           ` Shailabh Nagar
2006-06-09 15:36       ` Balbir Singh
2006-06-09 18:35         ` Jay Lan
2006-06-09 19:31           ` Shailabh Nagar
2006-06-09 21:56       ` Shailabh Nagar
2006-06-09 22:42         ` Jay Lan
2006-06-09 23:22           ` Andrew Morton
2006-06-09 23:47             ` Jay Lan
2006-06-09 23:56               ` Andrew Morton
2006-06-10 12:21               ` Shailabh Nagar
2006-06-12 18:31                 ` Jay Lan
2006-06-12 21:57                   ` Shailabh Nagar
2006-06-10 13:05               ` Shailabh Nagar
2006-06-12 18:54                 ` Jay Lan
2006-06-21 19:11         ` Jay Lan
2006-06-21 19:14           ` Jay Lan
2006-06-21 19:34             ` Shailabh Nagar
2006-06-21 23:35               ` Jay Lan
2006-06-21 23:45                 ` Shailabh Nagar
2006-06-23 17:14                 ` Shailabh Nagar
2006-06-23 18:19                   ` Jay Lan
2006-06-23 18:53                     ` Shailabh Nagar
2006-06-23 20:00                       ` Jay Lan
2006-06-23 20:16                         ` Shailabh Nagar
2006-06-23 20:36                           ` Jay Lan
2006-06-23 21:19                   ` Andrew Morton
2006-06-23 22:07                     ` Jay Lan
2006-06-23 23:47                       ` Andrew Morton
2006-06-24  2:59                         ` Shailabh Nagar
2006-06-24  4:39                           ` Andrew Morton
2006-06-24  5:59                             ` Shailabh Nagar
2006-06-26 17:33                               ` Jay Lan
2006-06-26 17:52                                 ` Shailabh Nagar
2006-06-26 17:55                                 ` Andrew Morton
2006-06-26 18:00                                   ` Shailabh Nagar
2006-06-26 18:12                                     ` Andrew Morton
2006-06-26 18:26                                       ` Jay Lan
2006-06-26 18:39                                         ` Andrew Morton
2006-06-26 18:49                                           ` Shailabh Nagar
2006-06-26 19:00                                           ` Jay Lan
2006-06-28 21:30                                           ` Jay Lan
2006-06-28 21:53                                             ` Andrew Morton
2006-06-28 22:02                                               ` Jay Lan
2006-06-29  8:40                                                 ` Paul Jackson
2006-06-29 12:30                                                   ` Valdis.Kletnieks
2006-06-29 16:44                                                     ` Paul Jackson
2006-06-29 18:01                                                       ` Andrew Morton
2006-06-29 18:07                                                         ` Paul Jackson
2006-06-29 18:26                                                         ` Paul Jackson
2006-06-29 19:15                                                           ` Shailabh Nagar
2006-06-29 19:41                                                             ` Paul Jackson
2006-06-29 21:42                                                               ` Shailabh Nagar
2006-06-29 21:54                                                                 ` Jay Lan
2006-06-29 22:09                                                                   ` Shailabh Nagar
2006-06-29 22:23                                                                 ` Paul Jackson
2006-06-30  0:15                                                                   ` Shailabh Nagar
2006-06-30  0:40                                                                     ` Paul Jackson
2006-06-30  1:00                                                                       ` Shailabh Nagar
2006-06-30  1:05                                                                         ` Paul Jackson
     [not found]                                                                   ` <44A46C6C.1090405@watson.ibm.com>
2006-06-30  0:38                                                                     ` Paul Jackson
2006-06-30  2:21                                                                       ` Paul Jackson
2006-06-30  2:46                                                                         ` Shailabh Nagar
2006-06-30  2:54                                                                           ` Paul Jackson
2006-06-30  3:02                                                                           ` Paul Jackson
2006-06-29 19:22                                                           ` Shailabh Nagar
2006-06-29 19:10                                                         ` Shailabh Nagar
2006-06-29 19:10                                                           ` Shailabh Nagar
2006-06-29 19:23                                                           ` Paul Jackson
2006-06-29 19:33                                                           ` Andrew Morton
2006-06-29 19:43                                                             ` Shailabh Nagar
2006-06-29 19:43                                                               ` Shailabh Nagar
2006-06-29 20:00                                                               ` Andrew Morton
2006-06-29 22:13                                                                 ` Shailabh Nagar
2006-06-29 22:13                                                                   ` Shailabh Nagar
2006-06-29 23:00                                                                   ` jamal
2006-06-29 20:01                                                             ` Shailabh Nagar
2006-06-29 20:01                                                               ` Shailabh Nagar
2006-06-29 21:22                                                               ` Paul Jackson
2006-06-29 22:54                                                               ` jamal
2006-06-30  0:38                                                                 ` Shailabh Nagar
2006-06-30  0:38                                                                   ` Shailabh Nagar
2006-06-30  1:05                                                                   ` Andrew Morton
2006-06-30  1:11                                                                     ` Shailabh Nagar
2006-06-30  1:11                                                                       ` Shailabh Nagar
2006-06-30  1:30                                                                       ` jamal
2006-06-30  3:01                                                                         ` Shailabh Nagar
2006-06-30  3:01                                                                           ` Shailabh Nagar
2006-06-30 12:45                                                                           ` jamal
2006-06-30  2:25                                                                     ` Paul Jackson
2006-06-30  2:35                                                                       ` Andrew Morton
2006-06-30  2:43                                                                         ` Paul Jackson
2006-06-29 19:33                                                         ` Jay Lan
2006-06-30 18:53                                                         ` Shailabh Nagar
2006-06-30 18:53                                                           ` Shailabh Nagar
2006-06-30 19:10                                                           ` Shailabh Nagar
2006-06-30 19:10                                                             ` Shailabh Nagar
2006-06-30 19:19                                                             ` Shailabh Nagar [this message]
2006-06-30 19:19                                                               ` Shailabh Nagar
2006-06-30 20:19                                                             ` jamal
2006-06-30 22:50                                                             ` Andrew Morton
2006-07-01  2:20                                                               ` Shailabh Nagar
2006-07-01  2:20                                                                 ` Shailabh Nagar
2006-07-01  2:43                                                                 ` Andrew Morton
2006-07-01  3:37                                                                   ` Shailabh Nagar
2006-07-01  3:37                                                                     ` Shailabh Nagar
2006-07-01  3:51                                                                     ` Andrew Morton
2006-07-03 21:11                                                                       ` Shailabh Nagar
2006-07-03 21:41                                                                         ` Andrew Morton
2006-07-04  0:13                                                                           ` Shailabh Nagar
2006-07-04  0:38                                                                             ` Andrew Morton
2006-07-04 20:19                                                                           ` Paul Jackson
2006-07-04 20:22                                                                             ` Paul Jackson
2006-07-04  0:54                                                                         ` Shailabh Nagar
2006-07-04  1:01                                                                           ` Andrew Morton
2006-07-04 13:05                                                                             ` jamal
2006-07-04 15:18                                                                               ` Shailabh Nagar
2006-07-04 16:37                                                                                 ` Shailabh Nagar
2006-07-04 19:24                                                                                   ` jamal
2006-07-05 14:09                                                                                     ` Shailabh Nagar
2006-07-05 14:09                                                                                       ` Shailabh Nagar
2006-07-05 20:25                                                                                       ` Chris Sturtivant
2006-07-05 20:25                                                                                         ` Chris Sturtivant
2006-07-05 20:32                                                                                         ` Shailabh Nagar
2006-07-05 20:32                                                                                           ` Shailabh Nagar
2006-07-03  4:53                                                                     ` Paul Jackson
2006-07-03 15:02                                                                       ` Shailabh Nagar
2006-07-03 15:55                                                                         ` Paul Jackson
2006-07-03 16:31                                                                         ` Paul Jackson
2006-07-04  0:09                                                                           ` Shailabh Nagar
2006-07-04 19:59                                                                             ` Paul Jackson
2006-07-05 17:20                                                                         ` Jay Lan
2006-07-05 17:20                                                                           ` Jay Lan
2006-07-05 18:18                                                                           ` Shailabh Nagar
2006-07-05 18:18                                                                             ` Shailabh Nagar
2006-06-30 22:56                                                           ` Andrew Morton
2006-06-29 18:05                                                       ` Nick Piggin
2006-06-29 12:42                                                 ` Shailabh Nagar
2006-06-24  3:08                     ` Shailabh Nagar
2006-06-21 20:38           ` Andrew Morton
2006-06-21 21:31             ` Shailabh Nagar
2006-06-21 21:45               ` Jay Lan
2006-06-21 21:54                 ` Andrew Morton
2006-06-21 22:19                   ` Jay Lan
2006-06-21 21:59                 ` Shailabh Nagar
2006-06-09 15:55 ` Chris Sturtivant

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=44A57957.60005@watson.ibm.com \
    --to=nagar@watson.ibm.com \
    --cc=Valdis.Kletnieks@vt.edu \
    --cc=akpm@osdl.org \
    --cc=balbir@in.ibm.com \
    --cc=csturtiv@sgi.com \
    --cc=hadi@cyberus.ca \
    --cc=jlan@engr.sgi.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=netdev@vger.kernel.org \
    --cc=pj@sgi.com \
    /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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.