From: Roman Dementiev <roman.dementiev@intel.com>
To: Stephen Hemminger <stephen@networkplumber.org>
Cc: "dev@dpdk.org" <dev@dpdk.org>
Subject: Re: add support for HTM lock elision for x86
Date: Fri, 5 Jun 2015 17:12:12 +0200 [thread overview]
Message-ID: <95133134.20150605171212@intel.com> (raw)
In-Reply-To: <20150603114014.7f1fb67a@urahara>
Hello Stephen,
Wednesday, June 3, 2015, 8:40:14 PM, you wrote:
> On Tue, 2 Jun 2015 15:11:30 +0200
> Roman Dementiev <roman.dementiev@intel.com> wrote:
>>
>> This series of patches adds methods that use hardware memory transactions (HTM)
>> on fast-path for DPDK locks (a.k.a. lock elision). Here the methods are implemented
>> for x86 using Restricted Transactional Memory instructions (Intel(r) Transactional
>> Synchronization Extensions). The implementation fall-backs to the normal DPDK lock
>> if HTM is not available or memory transactions fail.
>> This is not a replacement for all lock usages since not all critical sections protected
>> by locks are friendly to HTM.
>>
> You probably want to put a caveat around this, it won't work for people
> that expect to use spinlocks to protect I/O operations on hardware.
> Since I/O operations aren't like memory.
yes, I/O can not be rolled back by the CPU if the transaction should fail. Thus
the HTM transaction protecting I/O operations are always aborted by
CPU. In Intel TSX the I/O operations (MMIO, outp, etc) are TSX-unfriendly
causing immediate abort.
--
Best regards,
Roman mailto:roman.dementiev@intel.com
Intel GmbH
Dornacher Strasse 1
85622 Feldkirchen/Muenchen, Deutschland
Sitz der Gesellschaft: Feldkirchen bei Muenchen
Geschaeftsfuehrer: Christian Lamprechter, Hannes Schwaderer, Douglas Lusk
Registergericht: Muenchen HRB 47456
Ust.-IdNr./VAT Registration No.: DE129385895
Citibank Frankfurt a.M. (BLZ 502 109 00) 600119052
next prev parent reply other threads:[~2015-06-05 15:12 UTC|newest]
Thread overview: 29+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-06-02 13:11 add support for HTM lock elision for x86 Roman Dementiev
2015-06-02 13:11 ` [PATCH 1/3] spinlock: " Roman Dementiev
2015-06-02 13:11 ` [PATCH 2/3] rwlock: " Roman Dementiev
2015-06-02 13:11 ` [PATCH 3/3] test scaling of HTM lock elision protecting rte_hash Roman Dementiev
2015-06-02 13:21 ` add support for HTM lock elision for x86 Jay Rolette
2015-06-02 13:39 ` Dementiev, Roman
2015-06-02 14:55 ` Roman Dementiev
2015-06-03 18:40 ` Stephen Hemminger
2015-06-05 15:12 ` Roman Dementiev [this message]
2015-06-16 17:16 ` [PATCH v2 0/3] " Roman Dementiev
2015-06-16 17:16 ` [PATCH v2 1/3] spinlock: " Roman Dementiev
2015-06-17 21:29 ` Thomas Monjalon
2015-06-18 10:00 ` Bruce Richardson
2015-06-19 13:35 ` Thomas Monjalon
2015-06-22 15:32 ` Adrien Mazarguil
2015-06-29 9:34 ` [PATCH] eal: fix cpu_feature_table[] compilation with -pedantic Adrien Mazarguil
2015-06-29 12:10 ` David Marchand
2015-06-29 12:19 ` Thomas Monjalon
2015-06-16 17:16 ` [PATCH v2 2/3] rwlock: add support for HTM lock elision for x86 Roman Dementiev
2015-06-16 17:16 ` [PATCH v2 3/3] test scaling of HTM lock elision protecting rte_hash Roman Dementiev
2015-06-17 13:05 ` [PATCH v2 0/3] add support for HTM lock elision for x86 Bruce Richardson
2015-06-17 13:14 ` Thomas Monjalon
2015-06-17 13:48 ` Bruce Richardson
2015-06-19 11:08 ` [PATCH v3 " Roman Dementiev
2015-06-19 11:08 ` [PATCH v3 1/3] spinlock: " Roman Dementiev
2015-06-19 11:08 ` [PATCH v3 2/3] rwlock: " Roman Dementiev
2015-06-19 11:08 ` [PATCH v3 3/3] test scaling of HTM lock elision protecting rte_hash Roman Dementiev
2015-06-19 14:38 ` [PATCH v3 0/3] add support for HTM lock elision for x86 Thomas Monjalon
-- strict thread matches above, loose matches on Subject: below --
2015-06-02 13:17 Dementiev, Roman
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=95133134.20150605171212@intel.com \
--to=roman.dementiev@intel.com \
--cc=dev@dpdk.org \
--cc=stephen@networkplumber.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.