summaryrefslogtreecommitdiffstats
path: root/arch/s390/appldata/appldata_net_sum.c
diff options
context:
space:
mode:
authorGerald Schaefer <geraldsc@de.ibm.com>2005-06-04 15:43:33 -0700
committerLinus Torvalds <torvalds@ppc970.osdl.org>2005-06-04 17:13:00 -0700
commitf26d583e41aedad8159acf9533fa287d7209dfbf (patch)
tree215ef8ae71cd2b6bb6fec824d1db4a9f39db97ca /arch/s390/appldata/appldata_net_sum.c
parent595bf2aacae96d0f87352a1ff5476b79e52e212f (diff)
downloadlinux-f26d583e41aedad8159acf9533fa287d7209dfbf.tar.gz
linux-f26d583e41aedad8159acf9533fa287d7209dfbf.tar.bz2
linux-f26d583e41aedad8159acf9533fa287d7209dfbf.zip
[PATCH] s390: deadlock in appldata
The system might hang when using appldata_mem with high I/O traffic and a large number of devices. The spinlocks bdev_lock and swaplock are acquired via calls to si_meminfo() and si_swapinfo() from a tasklet, i.e. interrupt context, which can lead to a deadlock. Replace tasklet with work queue. Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Diffstat (limited to 'arch/s390/appldata/appldata_net_sum.c')
-rw-r--r--arch/s390/appldata/appldata_net_sum.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/arch/s390/appldata/appldata_net_sum.c b/arch/s390/appldata/appldata_net_sum.c
index dd61638d3027..2a4c7432db4a 100644
--- a/arch/s390/appldata/appldata_net_sum.c
+++ b/arch/s390/appldata/appldata_net_sum.c
@@ -57,7 +57,7 @@ struct appldata_net_sum_data {
u64 rx_dropped; /* no space in linux buffers */
u64 tx_dropped; /* no space available in linux */
u64 collisions; /* collisions while transmitting */
-} appldata_net_sum_data;
+} __attribute__((packed)) appldata_net_sum_data;
static inline void appldata_print_debug(struct appldata_net_sum_data *net_data)