Re: [GIT PULL] irq_work changes for 3.9

From: Frederic Weisbecker
Date: Wed Jan 16 2013 - 17:11:56 EST


2013/1/16 Andreas Mohr <andi@xxxxxxxx>:
> Hi,
>
>> These three patches are general fixes for irq work. The two first
>> patches fix tight races on global irq work claiming that prevent the irq work
>> subsystem from dropping a work enqueuing attempt because it thinks it's
>> already pending while it may be already executing or executed.
>
> Would that one happen to be one that would fix my system dropping
> dead on sound output (looping the existing buffer ad infinitum)
> every couple idle minutes when using my sound card's
> PulseAudio IRQ-less playback patch (to-be-submitted),
> and which seems to have started (or got quite a bit worse
> so as to let me notice?) once I added my
> "quirks: enable APIC De-Assert Message bit for VIA 8235, too."
> (to-be-submitted) commit?
> (which reduces IRQs from duplicate to single - thereby probably
> reducing the opportunities for the system to notice that work is pending)
>
> Of course a lone kick to the mouse always fixes it...
>
> (-rc2 here)
>
> Hell yeah that does sound like a potential candidate to me.
>
> Andreas Mohr

I doubt it. I don't see a sound driver using struct irq_work:

$git grep -F "struct irq_work" drivers/ sound/

drivers/acpi/apei/ghes.c:static struct irq_work ghes_proc_irq_work;
drivers/acpi/apei/ghes.c:static void ghes_proc_in_irq(struct irq_work *irq_work)
drivers/extcon/extcon-max77693.c: struct work_struct irq_work;
drivers/extcon/extcon-max8997.c: struct work_struct irq_work;
drivers/net/ethernet/microchip/enc28j60.c: struct work_struct irq_work;
drivers/net/wireless/ti/wl1251/wl1251.h: struct work_struct irq_work;
drivers/staging/iio/trigger/iio-trig-sysfs.c: struct irq_work work;
drivers/staging/iio/trigger/iio-trig-sysfs.c:static void
iio_sysfs_trigger_work(struct irq_work *work)
drivers/thermal/exynos_thermal.c: struct work_struct irq_work;
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/