lists.openwall.net | lists / announce owl-users owl-dev john-users john-dev passwdqc-users yescrypt popa3d-users / oss-security kernel-hardening musl sabotage tlsify passwords / crypt-dev xvendor / Bugtraq Full-Disclosure linux-kernel linux-netdev linux-ext4 linux-hardening linux-cve-announce PHC | |
Open Source and information security mailing list archives
| ||
|
Date: Wed, 26 Dec 2012 17:59:59 -0800 From: Kent Overstreet <koverstreet@...gle.com> To: linux-kernel@...r.kernel.org, linux-aio@...ck.org, linux-fsdevel@...r.kernel.org Cc: Kent Overstreet <koverstreet@...gle.com>, zab@...hat.com, bcrl@...ck.org, jmoyer@...hat.com, axboe@...nel.dk, viro@...iv.linux.org.uk, tytso@....edu Subject: [PATCH 20/32] aio: Give shared kioctx fields their own cachelines Signed-off-by: Kent Overstreet <koverstreet@...gle.com> --- fs/aio.c | 27 +++++++++++++++------------ 1 file changed, 15 insertions(+), 12 deletions(-) diff --git a/fs/aio.c b/fs/aio.c index 96fbd6b..fa87732 100644 --- a/fs/aio.c +++ b/fs/aio.c @@ -67,13 +67,6 @@ struct kioctx { unsigned long user_id; struct hlist_node list; - wait_queue_head_t wait; - - spinlock_t ctx_lock; - - atomic_t reqs_active; - struct list_head active_reqs; /* used for cancellation */ - unsigned nr; /* sys_io_setup currently limits this to an unsigned int */ @@ -85,19 +78,29 @@ struct kioctx { struct page **ring_pages; long nr_pages; + struct rcu_head rcu_head; + struct work_struct rcu_work; + struct { - struct mutex ring_lock; + atomic_t reqs_active; } ____cacheline_aligned; struct { + spinlock_t ctx_lock; + struct list_head active_reqs; /* used for cancellation */ + } ____cacheline_aligned_in_smp; + + struct { + struct mutex ring_lock; + wait_queue_head_t wait; + } ____cacheline_aligned_in_smp; + + struct { unsigned tail; spinlock_t completion_lock; - } ____cacheline_aligned; + } ____cacheline_aligned_in_smp; struct page *internal_pages[AIO_RING_PAGES]; - - struct rcu_head rcu_head; - struct work_struct rcu_work; }; /*------ sysctl variables----*/ -- 1.7.12 -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@...r.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists