<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel.git/net/rds/ib.h, branch linux-3.13.y</title>
<subtitle>Hosts the 0x221E linux distro kernel.
</subtitle>
<id>https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-3.13.y</id>
<link rel='self' href='https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-3.13.y'/>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/'/>
<updated>2012-11-19T23:59:44Z</updated>
<entry>
<title>net: rds: use this_cpu_* per-cpu helper</title>
<updated>2012-11-19T23:59:44Z</updated>
<author>
<name>Shan Wei</name>
</author>
<published>2012-11-12T15:52:01Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=ae4b46e9d7128d2d76e6857fe0b9fc240e8ac695'/>
<id>urn:sha1:ae4b46e9d7128d2d76e6857fe0b9fc240e8ac695</id>
<content type='text'>
Signed-off-by: Shan Wei &lt;davidshan@tencent.com&gt;
Reviewed-by: Christoph Lameter &lt;cl@linux.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>rds_rdma: don't assume infiniband device is PCI</title>
<updated>2012-05-29T21:30:07Z</updated>
<author>
<name>Thadeu Lima de Souza Cascardo</name>
</author>
<published>2012-05-28T08:52:05Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=a0c6ffbcfe600606b2d913dded4dc6b37b3bbbfd'/>
<id>urn:sha1:a0c6ffbcfe600606b2d913dded4dc6b37b3bbbfd</id>
<content type='text'>
RDS code assumes that the struct ib_device dma_device member, which is a
pointer, points to a struct device embedded in a struct pci_dev.

This is not the case for ehca, for example, which is a OF driver, and
makes dma_device point to a struct device embedded in a struct
platform_device.

This will make the system crash when rds_rdma is loaded in a system
with ehca, since it will try to access the bus member of a non-existent
struct pci_dev.

The only reason rds_rdma uses the struct pci_dev is to get the NUMA node
the device is attached to. Using dev_to_node for that is much better,
since it won't assume which bus the infiniband is attached to.

Signed-off-by: Thadeu Lima de Souza Cascardo &lt;cascardo@linux.vnet.ibm.com&gt;
Cc: dledford@redhat.com
Cc: Jes.Sorensen@redhat.com
Cc: Venkat Venkatsubra &lt;venkat.x.venkatsubra@oracle.com&gt;
Acked-by: Venkat Venkatsubra &lt;venkat.x.venkatsubra@oracle.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>net: remove interrupt.h inclusion from netdevice.h</title>
<updated>2011-06-07T05:55:11Z</updated>
<author>
<name>Alexey Dobriyan</name>
</author>
<published>2011-06-06T10:43:46Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=a6b7a407865aab9f849dd99a71072b7cd1175116'/>
<id>urn:sha1:a6b7a407865aab9f849dd99a71072b7cd1175116</id>
<content type='text'>
* remove interrupt.g inclusion from netdevice.h -- not needed
* fixup fallout, add interrupt.h and hardirq.h back where needed.

Signed-off-by: Alexey Dobriyan &lt;adobriyan@gmail.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>rds/ib: use system_wq instead of rds_ib_fmr_wq</title>
<updated>2011-02-01T10:42:43Z</updated>
<author>
<name>Tejun Heo</name>
</author>
<published>2011-02-01T10:42:43Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=c534a107e8fe446202b0fab102abc015c56c0317'/>
<id>urn:sha1:c534a107e8fe446202b0fab102abc015c56c0317</id>
<content type='text'>
With cmwq, there's no reason to use dedicated rds_ib_fmr_wq - it's not
in the memory reclaim path and the maximum number of concurrent work
items is bound by the number of devices.  Drop it and use system_wq
instead.  This rds_ib_fmr_init/exit() noops.  Both removed.

Signed-off-by: Tejun Heo &lt;tj@kernel.org&gt;
Cc: Andy Grover &lt;andy.grover@oracle.com&gt;
</content>
</entry>
<entry>
<title>rds: make local functions/variables static</title>
<updated>2010-10-21T11:26:39Z</updated>
<author>
<name>stephen hemminger</name>
</author>
<published>2010-10-19T08:08:33Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=ff51bf841587c75b58d25ed77263158619784dd3'/>
<id>urn:sha1:ff51bf841587c75b58d25ed77263158619784dd3</id>
<content type='text'>
The RDS protocol has lots of functions that should be
declared static. rds_message_get/add_version_extension is
removed since it defined but never used.

Signed-off-by: Stephen Hemminger &lt;shemminger@vyatta.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>RDS/IB: print string constants in more places</title>
<updated>2010-09-09T01:16:50Z</updated>
<author>
<name>Zach Brown</name>
</author>
<published>2010-08-03T20:52:47Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=59f740a6aeb2cde2f79fe0df38262d4c1ef35cd8'/>
<id>urn:sha1:59f740a6aeb2cde2f79fe0df38262d4c1ef35cd8</id>
<content type='text'>
This prints the constant identifier for work completion status and rdma
cm event types, like we already do for IB event types.

A core string array helper is added that each string type uses.

Signed-off-by: Zach Brown &lt;zach.brown@oracle.com&gt;
</content>
</entry>
<entry>
<title>RDS/IB: protect the list of IB devices</title>
<updated>2010-09-09T01:16:44Z</updated>
<author>
<name>Zach Brown</name>
</author>
<published>2010-07-15T19:34:33Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=ea819867b788728aca60717e4fdacb3df771f670'/>
<id>urn:sha1:ea819867b788728aca60717e4fdacb3df771f670</id>
<content type='text'>
The RDS IB device list wasn't protected by any locking.  Traversal in
both the get_mr and FMR flushing paths could race with additon and
removal.

List manipulation is done with RCU primatives and is protected by the
write side of a rwsem.  The list traversal in the get_mr fast path is
protected by a rcu read critical section.  The FMR list traversal is
more problematic because it can block while traversing the list.  We
protect this with the read side of the rwsem.

Signed-off-by: Zach Brown &lt;zach.brown@oracle.com&gt;
</content>
</entry>
<entry>
<title>RDS/IB: track signaled sends</title>
<updated>2010-09-09T01:16:40Z</updated>
<author>
<name>Zach Brown</name>
</author>
<published>2010-07-14T20:55:35Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=f046011cd73c372267befd10242988eb744649fe'/>
<id>urn:sha1:f046011cd73c372267befd10242988eb744649fe</id>
<content type='text'>
We're seeing bugs today where IB connection shutdown clears the send
ring while the tasklet is processing completed sends.  Implementation
details cause this to dereference a null pointer.  Shutdown needs to
wait for send completion to stop before tearing down the connection.  We
can't simply wait for the ring to empty because it may contain
unsignaled sends that will never be processed.

This patch tracks the number of signaled sends that we've posted and
waits for them to complete.  It also makes sure that the tasklet has
finished executing.

Signed-off-by: Zach Brown &lt;zach.brown@oracle.com&gt;
</content>
</entry>
<entry>
<title>RDS: remove __init and __exit annotation</title>
<updated>2010-09-09T01:16:39Z</updated>
<author>
<name>Zach Brown</name>
</author>
<published>2010-07-09T19:26:20Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=ef87b7ea39a91906218a262686bcb8bad8b6b46e'/>
<id>urn:sha1:ef87b7ea39a91906218a262686bcb8bad8b6b46e</id>
<content type='text'>
The trivial amount of memory saved isn't worth the cost of dealing with section
mismatches.

Signed-off-by: Zach Brown &lt;zach.brown@oracle.com&gt;
</content>
</entry>
<entry>
<title>RDS/IB: create a work queue for FMR flushing</title>
<updated>2010-09-09T01:16:34Z</updated>
<author>
<name>Zach Brown</name>
</author>
<published>2010-07-06T22:09:56Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=515e079dab19cf774d1eec6e5f4ed65509e31ef1'/>
<id>urn:sha1:515e079dab19cf774d1eec6e5f4ed65509e31ef1</id>
<content type='text'>
This patch moves the FMR flushing work in to its own mult-threaded work queue.
This is to maintain performance in preparation for returning the main krdsd
work queue back to a single threaded work queue to avoid deep-rooted
concurrency bugs.

This is also good because it further separates FMRs, which might be removed
some day, from the rest of the code base.

Signed-off-by: Zach Brown &lt;zach.brown@oracle.com&gt;
</content>
</entry>
</feed>
