All of lore.kernel.org
 help / color / mirror / Atom feed
From: Mike Travis <travis@sgi.com>
To: Yinghai Lu <yinghai@kernel.org>
Cc: Jack Steiner <steiner@sgi.com>,
	Venkatesh Pallipadi <venkatesh.pallipadi@intel.com>,
	linux-kernel@vger.kernel.org, Chris Wright <chrisw@sous-sol.org>,
	virtualization@lists.osdl.org, Ingo Molnar <mingo@redhat.com>,
	KOSAKI Motohiro <kosaki.motohiro@jp.fujitsu.com>,
	"H. Peter Anvin" <hpa@zytor.com>,
	Thomas Gleixner <tglx@linutronix.de>,
	xen-devel@lists.xensource.com
Subject: Re: [PATCH 1/5] cpumask: update irq_desc to use cpumask_var_t
Date: Wed, 07 Jan 2009 14:32:50 -0800	[thread overview]
Message-ID: <49652D92.8020105@sgi.com> (raw)
In-Reply-To: <86802c440901071227n2d110757ye1bd12e689502ebc@mail.gmail.com>

Yinghai Lu wrote:
> On Wed, Jan 7, 2009 at 11:58 AM, Mike Travis <travis@sgi.com> wrote:
> | --- linux-2.6-for-ingo.orig/kernel/irq/numa_migrate.c
> | +++ linux-2.6-for-ingo/kernel/irq/numa_migrate.c
> | @@ -46,6 +46,7 @@ static void init_copy_one_irq_desc(int i
> | 	desc->cpu = cpu;
> | 	lockdep_set_class(&desc->lock, &irq_desc_lock_class);
> | 	init_copy_kstat_irqs(old_desc, desc, cpu, nr_cpu_ids);
> |+	init_copy_desc_masks(old_desc, desc);
> | 	arch_init_copy_chip_data(old_desc, desc, cpu);
> | }
> |
> |@@ -76,11 +77,20 @@ static struct irq_desc *__real_move_irq_
> | 	node = cpu_to_node(cpu);
> | 	desc = kzalloc_node(sizeof(*desc), GFP_ATOMIC, node);
> | 	if (!desc) {
> |-		printk(KERN_ERR "irq %d: can not get new irq_desc for migration.\n", irq);
> |+		printk(KERN_ERR "irq %d: can not get new irq_desc "
> |+				"for migration.\n", irq);
> | 		/* still use old one */
> | 		desc = old_desc;
> | 		goto out_unlock;
> | 	}
> |+	if (!init_alloc_desc_masks(desc, node, false)) {
> |+		printk(KERN_ERR "irq %d: can not get new irq_desc cpumask "
> |+				"for migration.\n", irq);
> |+		/* still use old one */
> |+		kfree(desc);
> |+		desc = old_desc;
> |+		goto out_unlock;
> |+	}
> | 	init_copy_one_irq_desc(irq, old_desc, desc, cpu);
> 
> desc new mask_var (allocated) aka the pointer is overwritten here...
> you may need to calling move init_alloc_desc_masks() into
> init_copy_one_irq_desc()

Wouldn't this in init_copy_one_irq_desc() take care  of that?

@@ -46,6 +46,7 @@ static void init_copy_one_irq_desc(int i
        desc->cpu = cpu;
        lockdep_set_class(&desc->lock, &irq_desc_lock_class);
        init_copy_kstat_irqs(old_desc, desc, cpu, nr_cpu_ids);
+       init_copy_desc_masks(old_desc, desc);
        arch_init_copy_chip_data(old_desc, desc, cpu);

where:

static inline void init_copy_desc_masks(struct irq_desc *old_desc,
                                        struct irq_desc *new_desc)
{
#ifdef CONFIG_CPUMASKS_OFFSTACK
        cpumask_copy(new_desc->affinity, old_desc->affinity);

#ifdef CONFIG_GENERIC_PENDING_IRQ
        cpumask_copy(new_desc->pending_mask, old_desc->pending_mask);
#endif
#endif
}

In other words if the masks are not a cpumask[1] but instead a
*cpumask pointer, then the old masks are copied to the new desc/

Or am I missing your point?

Thanks!
Mike

> 
> | 	irq_desc_ptrs[irq] = desc;
> 
> YH
> --
> To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
> Please read the FAQ at  http://www.tux.org/lkml/

WARNING: multiple messages have this Message-ID (diff)
From: Mike Travis <travis@sgi.com>
To: Yinghai Lu <yinghai@kernel.org>
Cc: Ingo Molnar <mingo@redhat.com>,
	Rusty Russell <rusty@rustcorp.com.au>,
	Thomas Gleixner <tglx@linutronix.de>,
	"H. Peter Anvin" <hpa@zytor.com>, Jack Steiner <steiner@sgi.com>,
	linux-kernel@vger.kernel.org, Chris Wright <chrisw@sous-sol.org>,
	Jeremy Fitzhardinge <jeremy@xensource.com>,
	KOSAKI Motohiro <kosaki.motohiro@jp.fujitsu.com>,
	Venkatesh Pallipadi <venkatesh.pallipadi@intel.com>,
	virtualization@lists.osdl.org, xen-devel@lists.xensource.com
Subject: Re: [PATCH 1/5] cpumask: update irq_desc to use cpumask_var_t
Date: Wed, 07 Jan 2009 14:32:50 -0800	[thread overview]
Message-ID: <49652D92.8020105@sgi.com> (raw)
In-Reply-To: <86802c440901071227n2d110757ye1bd12e689502ebc@mail.gmail.com>

Yinghai Lu wrote:
> On Wed, Jan 7, 2009 at 11:58 AM, Mike Travis <travis@sgi.com> wrote:
> | --- linux-2.6-for-ingo.orig/kernel/irq/numa_migrate.c
> | +++ linux-2.6-for-ingo/kernel/irq/numa_migrate.c
> | @@ -46,6 +46,7 @@ static void init_copy_one_irq_desc(int i
> | 	desc->cpu = cpu;
> | 	lockdep_set_class(&desc->lock, &irq_desc_lock_class);
> | 	init_copy_kstat_irqs(old_desc, desc, cpu, nr_cpu_ids);
> |+	init_copy_desc_masks(old_desc, desc);
> | 	arch_init_copy_chip_data(old_desc, desc, cpu);
> | }
> |
> |@@ -76,11 +77,20 @@ static struct irq_desc *__real_move_irq_
> | 	node = cpu_to_node(cpu);
> | 	desc = kzalloc_node(sizeof(*desc), GFP_ATOMIC, node);
> | 	if (!desc) {
> |-		printk(KERN_ERR "irq %d: can not get new irq_desc for migration.\n", irq);
> |+		printk(KERN_ERR "irq %d: can not get new irq_desc "
> |+				"for migration.\n", irq);
> | 		/* still use old one */
> | 		desc = old_desc;
> | 		goto out_unlock;
> | 	}
> |+	if (!init_alloc_desc_masks(desc, node, false)) {
> |+		printk(KERN_ERR "irq %d: can not get new irq_desc cpumask "
> |+				"for migration.\n", irq);
> |+		/* still use old one */
> |+		kfree(desc);
> |+		desc = old_desc;
> |+		goto out_unlock;
> |+	}
> | 	init_copy_one_irq_desc(irq, old_desc, desc, cpu);
> 
> desc new mask_var (allocated) aka the pointer is overwritten here...
> you may need to calling move init_alloc_desc_masks() into
> init_copy_one_irq_desc()

Wouldn't this in init_copy_one_irq_desc() take care  of that?

@@ -46,6 +46,7 @@ static void init_copy_one_irq_desc(int i
        desc->cpu = cpu;
        lockdep_set_class(&desc->lock, &irq_desc_lock_class);
        init_copy_kstat_irqs(old_desc, desc, cpu, nr_cpu_ids);
+       init_copy_desc_masks(old_desc, desc);
        arch_init_copy_chip_data(old_desc, desc, cpu);

where:

static inline void init_copy_desc_masks(struct irq_desc *old_desc,
                                        struct irq_desc *new_desc)
{
#ifdef CONFIG_CPUMASKS_OFFSTACK
        cpumask_copy(new_desc->affinity, old_desc->affinity);

#ifdef CONFIG_GENERIC_PENDING_IRQ
        cpumask_copy(new_desc->pending_mask, old_desc->pending_mask);
#endif
#endif
}

In other words if the masks are not a cpumask[1] but instead a
*cpumask pointer, then the old masks are copied to the new desc/

Or am I missing your point?

Thanks!
Mike

> 
> | 	irq_desc_ptrs[irq] = desc;
> 
> YH
> --
> To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
> Please read the FAQ at  http://www.tux.org/lkml/


  reply	other threads:[~2009-01-07 22:32 UTC|newest]

Thread overview: 34+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-01-07 19:58 [PATCH 0/5] cpumask: more cpumask updates Mike Travis
2009-01-07 19:58 ` [PATCH 1/5] cpumask: update irq_desc to use cpumask_var_t Mike Travis
2009-01-07 20:27   ` Yinghai Lu
2009-01-07 20:27     ` Yinghai Lu
2009-01-07 22:32     ` Mike Travis [this message]
2009-01-07 22:32       ` Mike Travis
2009-01-08  3:15       ` Yinghai Lu
2009-01-08  3:15         ` Yinghai Lu
2009-01-08 15:45         ` Mike Travis
2009-01-08 19:31           ` Yinghai Lu
2009-01-08 18:40         ` [PATCH 1/5] cpumask: update irq_desc to use cpumask_var_t: fix Mike Travis
2009-01-07 19:58 ` [PATCH 2/5] cpumask: Use topology_core_cpumask()/topology_thread_cpumask() Mike Travis
2009-01-19 17:11   ` Ben Hutchings
2009-01-07 19:58 ` [PATCH 3/5] cpumask: convert misc driver functions Mike Travis
2009-01-10 10:57   ` Rusty Russell
2009-01-16 18:42   ` Tony Luck
2009-01-16 18:55     ` Mike Travis
2009-01-16 22:02     ` Mike Travis
2009-01-22 13:11   ` Robert Richter
2009-01-22 13:14     ` [PATCH] cpumask: modifiy oprofile initialization Robert Richter
2009-01-22 13:37       ` Ingo Molnar
2009-01-22 17:20         ` Mike Travis
2009-01-22 17:40           ` Ingo Molnar
2009-01-22 19:41         ` Mike Travis
2009-01-22 16:56       ` Mike Travis
2009-01-23 14:12         ` Robert Richter
2009-01-07 19:58 ` [PATCH 4/5] cpumask: convert drivers/net/sfc Mike Travis
2009-01-19 17:08   ` Ben Hutchings
     [not found]     ` <200901201209.34854.rusty@rustcorp.com.au>
2009-01-20 18:26       ` [PATCH 4/5] cpumask: convert drivers/net/sfc [PATCH supplied] Mike Travis
2009-01-26 15:04       ` [PATCH] sfc: modify allocation error message Mike Travis
2009-01-27 12:13         ` Ben Hutchings
2009-01-07 19:58 ` [PATCH 5/5] cpumask: convert other misc kernel functions Mike Travis
2009-01-07 20:52 ` [PATCH 0/5] cpumask: more cpumask updates Ingo Molnar
2009-01-07 21:20   ` Mike Travis

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=49652D92.8020105@sgi.com \
    --to=travis@sgi.com \
    --cc=chrisw@sous-sol.org \
    --cc=hpa@zytor.com \
    --cc=kosaki.motohiro@jp.fujitsu.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mingo@redhat.com \
    --cc=steiner@sgi.com \
    --cc=tglx@linutronix.de \
    --cc=venkatesh.pallipadi@intel.com \
    --cc=virtualization@lists.osdl.org \
    --cc=xen-devel@lists.xensource.com \
    --cc=yinghai@kernel.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 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.