#ifndef __PXA3XX_GCU_H__ #define __PXA3XX_GCU_H__ #include /* Number of 32bit words in display list (ring buffer). */ #define PXA3XX_GCU_BUFFER_WORDS ((256 * 1024 - 256) / 4) /* To be increased when breaking the ABI */ #define PXA3XX_GCU_SHARED_MAGIC 0x30000001 #define PXA3XX_GCU_BATCH_WORDS 8192 struct pxa3xx_gcu_shared { u32 buffer[PXA3XX_GCU_BUFFER_WORDS]; bool hw_running; unsigned long buffer_phys; unsigned int num_words; unsigned int num_writes; unsigned int num_done; unsigned int num_interrupts; unsigned int num_wait_idle; unsigned int num_wait_free; unsigned int num_idle; u32 magic; }; /* Initialization and synchronization. * Hardware is started upon write(). */ #define PXA3XX_GCU_IOCTL_RESET _IO('G', 0) #define PXA3XX_GCU_IOCTL_WAIT_IDLE _IO('G', 2) #endif /* __PXA3XX_GCU_H__ */
net-next plumbingsTobias Klauser
summaryrefslogtreecommitdiff
path: root/sound/soc/codecs/max98090.c
diff options
context:
space:
mode:
authorChristoph Hellwig <hch@lst.de>2017-01-20 09:31:54 -0800
committerDarrick J. Wong <darrick.wong@oracle.com>2017-01-23 10:55:07 -0800
commitd2b3964a0780d2d2994eba57f950d6c9fe489ed8 (patch)
treee5431a683b41059abd0032aa46685ae78d766a50 /sound/soc/codecs/max98090.c
parent7a308bb3016f57e5be11a677d15b821536419d36 (diff)
xfs: fix COW writeback race
Due to the way how xfs_iomap_write_allocate tries to convert the whole found extents from delalloc to real space we can run into a race condition with multiple threads doing writes to this same extent. For the non-COW case that is harmless as the only thing that can happen is that we call xfs_bmapi_write on an extent that has already been converted to a real allocation. For COW writes where we move the extent from the COW to the data fork after I/O completion the race is, however, not quite as harmless. In the worst case we are now calling xfs_bmapi_write on a region that contains hole in the COW work, which will trip up an assert in debug builds or lead to file system corruption in non-debug builds. This seems to be reproducible with workloads of small O_DSYNC write, although so far I've not managed to come up with a with an isolated reproducer. The fix for the issue is relatively simple: tell xfs_bmapi_write that we are only asked to convert delayed allocations and skip holes in that case. Signed-off-by: Christoph Hellwig <hch@lst.de> Reviewed-by: Brian Foster <bfoster@redhat.com> Reviewed-by: Darrick J. Wong <darrick.wong@oracle.com> Signed-off-by: Darrick J. Wong <darrick.wong@oracle.com>
Diffstat (limited to 'sound/soc/codecs/max98090.c')