[Cbe-oss-dev] [PATCH 3:9] spufs: Remove class_0_dsisr from spu exception handling

Jeremy Kerr jk at ozlabs.org
Wed Jun 4 16:58:04 EST 2008


Luke,

> This patch cleans up the interrupt handler and erroneous
> tests in spu_stopped.  It also removes the fields from the
> csa since it is not needed to process class 0 events.

Looks good, a couple of things though:

> @@ -373,9 +371,6 @@ spu_irq_class_1(int irq, void *data)
>  	if (stat & CLASS1_LS_COMPARE_SUSPEND_ON_PUT_INTR)
>  		;
>
> -	spu->class_1_dsisr = 0;
> -	spu->class_1_dar = 0;
> -
>  	return stat ? IRQ_HANDLED : IRQ_NONE;
>  }

Are you sure you want to do this? It'll bring the class_1 handler 
out-of-line with the rest of the irq handlers here.

>
> -		/* ensure that the exception status has hit memory before a
> -		 * thread waiting on the context's stop queue is woken */
> +		/*
> +		 * Ensure that the exception status has hit memory before a
> +		 * thread waiting on the context's stop queue is woken
> +		 */
>  		smp_wmb();

This probably isn't required, or at least is a separate patch.

Cheers,


Jeremy



More information about the cbe-oss-dev mailing list