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
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Date:	Fri, 18 Jan 2013 16:39:23 -0800
From:	Tejun Heo <tj@...nel.org>
To:	Linus Torvalds <torvalds@...ux-foundation.org>,
	Arjan van de Ven <arjan@...ux.intel.com>,
	Dan Williams <djbw@...com>
Cc:	linux-kernel@...r.kernel.org
Subject: [PATCHSET] async: reimplement synchronization

Hello, guys.

Synchronization in async got messy as more features were added and
while being converted to workqueue.  It currently has a global list of
pending async items and per-domain running lists.  Per-domain sync has
to search through the global pending list and global sync has to
iterate over all active registered domains.

This patchset reimplements async synchronization such that async items
stay on two pending lists - global and per-domain - the whole time
till completion, which simplifies both execution and synchronization.
There's no need to moving around items on execution and both domain
and global sync can look at the head of the list to determine the
lowest cookie in flight.

This patchset contains the following four patches.

 0001-async-bring-sanity-to-the-use-of-words-domain-and-ru.patch
 0002-async-use-ULLONG_MAX-for-infinity-cookie-value.patch
 0003-async-keep-pending-tasks-on-async_domain-and-remove-.patch
 0004-async-replace-list-of-active-domains-with-global-lis.patch

0001 is a prep patch.  0002 fixes a theoretical problem, which also
helps the reimplemntation.

0003-0004 reimplement synchronization.

This patch is on top of linus#master and "[PATCH] async: fix
__lowest_in_progress()"

  http://thread.gmane.org/gmane.linux.kernel/1420814/focus=1423758

Once the __lowest_in_progress() fix patch is merged, I can route this
series through a workqueue branch for 3.9.

diffstat follows.

 include/linux/async.h |    9 --
 kernel/async.c        |  151 ++++++++++++++++++--------------------------------
 2 files changed, 59 insertions(+), 101 deletions(-)

Thanks.

-- 
tejun
--
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

Powered by Openwall GNU/*/Linux Powered by OpenVZ