Skip to content

Commit

Permalink
pktgen: refactor pg_init() code
Browse files Browse the repository at this point in the history
This also shrinks the object size a little.

   text	   data	    bss	    dec	    hex	filename
  28834	    186	      8	  29028	   7164	net/core/pktgen.o
  28816	    186	      8	  29010	   7152	net/core/pktgen.o.AFTER

Signed-off-by: WANG Cong <[email protected]>
Cc: "David Miller" <[email protected]>,
Signed-off-by: David S. Miller <[email protected]>
  • Loading branch information
congwang authored and davem330 committed May 23, 2011
1 parent 68d5ac2 commit ce14f89
Showing 1 changed file with 12 additions and 7 deletions.
19 changes: 12 additions & 7 deletions net/core/pktgen.c
Original file line number Diff line number Diff line change
Expand Up @@ -3707,6 +3707,7 @@ static int __init pg_init(void)
{
int cpu;
struct proc_dir_entry *pe;
int ret = 0;

pr_info("%s", version);

Expand All @@ -3717,11 +3718,10 @@ static int __init pg_init(void)
pe = proc_create(PGCTRL, 0600, pg_proc_dir, &pktgen_fops);
if (pe == NULL) {
pr_err("ERROR: cannot create %s procfs entry\n", PGCTRL);
proc_net_remove(&init_net, PG_PROC_DIR);
return -EINVAL;
ret = -EINVAL;
goto remove_dir;
}

/* Register us to receive netdevice events */
register_netdevice_notifier(&pktgen_notifier_block);

for_each_online_cpu(cpu) {
Expand All @@ -3735,13 +3735,18 @@ static int __init pg_init(void)

if (list_empty(&pktgen_threads)) {
pr_err("ERROR: Initialization failed for all threads\n");
unregister_netdevice_notifier(&pktgen_notifier_block);
remove_proc_entry(PGCTRL, pg_proc_dir);
proc_net_remove(&init_net, PG_PROC_DIR);
return -ENODEV;
ret = -ENODEV;
goto unregister;
}

return 0;

unregister:
unregister_netdevice_notifier(&pktgen_notifier_block);
remove_proc_entry(PGCTRL, pg_proc_dir);
remove_dir:
proc_net_remove(&init_net, PG_PROC_DIR);
return ret;
}

static void __exit pg_cleanup(void)
Expand Down

0 comments on commit ce14f89

Please sign in to comment.