<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel/linux.git/include/linux/xarray.h, branch v4.20.9</title>
<subtitle>Linux kernel stable tree (mirror)</subtitle>
<id>https://git.radix-linux.su/kernel/linux.git/atom?h=v4.20.9</id>
<link rel='self' href='https://git.radix-linux.su/kernel/linux.git/atom?h=v4.20.9'/>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/'/>
<updated>2018-12-06T13:26:17+00:00</updated>
<entry>
<title>XArray: Add xa_cmpxchg_irq and xa_cmpxchg_bh</title>
<updated>2018-12-06T13:26:17+00:00</updated>
<author>
<name>Matthew Wilcox</name>
<email>willy@infradead.org</email>
</author>
<published>2018-11-26T21:08:43+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=55f3f7eab75c10d9b33d122670b5935ab64db50f'/>
<id>urn:sha1:55f3f7eab75c10d9b33d122670b5935ab64db50f</id>
<content type='text'>
These convenience wrappers match the other _irq and _bh wrappers we
already have.  It turns out I'd already open-coded xa_cmpxchg_irq()
in the shmem code, so convert that.

Signed-off-by: Matthew Wilcox &lt;willy@infradead.org&gt;
</content>
</entry>
<entry>
<title>XArray: Fix Documentation</title>
<updated>2018-11-05T21:38:10+00:00</updated>
<author>
<name>Matthew Wilcox</name>
<email>willy@infradead.org</email>
</author>
<published>2018-11-05T21:37:15+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=804dfaf01bcc9daa4298c608ba9018abf616ec48'/>
<id>urn:sha1:804dfaf01bcc9daa4298c608ba9018abf616ec48</id>
<content type='text'>
Minor fixes.

Signed-off-by: Matthew Wilcox &lt;willy@infradead.org&gt;
</content>
</entry>
<entry>
<title>XArray: Add xa_store_bh() and xa_store_irq()</title>
<updated>2018-11-05T21:38:09+00:00</updated>
<author>
<name>Matthew Wilcox</name>
<email>willy@infradead.org</email>
</author>
<published>2018-10-26T18:41:29+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=84e5acb76dacb8ebd648a86a53907ce0dd616534'/>
<id>urn:sha1:84e5acb76dacb8ebd648a86a53907ce0dd616534</id>
<content type='text'>
These convenience wrappers disable interrupts while taking the spinlock.
A number of drivers would otherwise have to open-code these functions.

Signed-off-by: Matthew Wilcox &lt;willy@infradead.org&gt;
</content>
</entry>
<entry>
<title>XArray: Turn xa_erase into an exported function</title>
<updated>2018-11-05T21:38:09+00:00</updated>
<author>
<name>Matthew Wilcox</name>
<email>willy@infradead.org</email>
</author>
<published>2018-11-05T20:48:49+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=9c16bb88905456a9b1299338041f05fa7699971b'/>
<id>urn:sha1:9c16bb88905456a9b1299338041f05fa7699971b</id>
<content type='text'>
Make xa_erase() take the spinlock and then call __xa_erase(), but make
it out of line since it's such a common function.

Signed-off-by: Matthew Wilcox &lt;willy@infradead.org&gt;
</content>
</entry>
<entry>
<title>XArray: Unify xa_cmpxchg and __xa_cmpxchg</title>
<updated>2018-11-05T21:38:08+00:00</updated>
<author>
<name>Matthew Wilcox</name>
<email>willy@infradead.org</email>
</author>
<published>2018-10-31T18:39:28+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=c5beb07e7a06b24f4f27304f6282b5dbd929543b'/>
<id>urn:sha1:c5beb07e7a06b24f4f27304f6282b5dbd929543b</id>
<content type='text'>
xa_cmpxchg() was one of the largest functions in the xarray
implementation.  By turning it into a wrapper and having the callers
take the lock (like several other functions), we save 160 bytes on a
tinyconfig build and reduce the duplication in xarray.c.

Signed-off-by: Matthew Wilcox &lt;willy@infradead.org&gt;
</content>
</entry>
<entry>
<title>XArray: Regularise xa_reserve</title>
<updated>2018-11-05T21:38:08+00:00</updated>
<author>
<name>Matthew Wilcox</name>
<email>willy@infradead.org</email>
</author>
<published>2018-10-30T13:45:55+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=4c0608f4a0e76dfb82d3accd20081f4bf47ed143'/>
<id>urn:sha1:4c0608f4a0e76dfb82d3accd20081f4bf47ed143</id>
<content type='text'>
The xa_reserve() function was a little unusual in that it attempted to
be callable for all kinds of locking scenarios.  Make it look like the
other APIs with __xa_reserve, xa_reserve_bh and xa_reserve_irq variants.

Signed-off-by: Matthew Wilcox &lt;willy@infradead.org&gt;
</content>
</entry>
<entry>
<title>xarray: Add range store functionality</title>
<updated>2018-10-21T14:46:46+00:00</updated>
<author>
<name>Matthew Wilcox</name>
<email>willy@infradead.org</email>
</author>
<published>2018-08-15T18:13:29+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=0e9446c35a80931044b6d8d2d74a9cabd248539f'/>
<id>urn:sha1:0e9446c35a80931044b6d8d2d74a9cabd248539f</id>
<content type='text'>
This version of xa_store_range() really only supports load and store.
Our only user only needs basic load and store functionality, so there's
no need to do the extra work to support marking and overlapping stores
correctly yet.

Signed-off-by: Matthew Wilcox &lt;willy@infradead.org&gt;
</content>
</entry>
<entry>
<title>xarray: Track free entries in an XArray</title>
<updated>2018-10-21T14:46:32+00:00</updated>
<author>
<name>Matthew Wilcox</name>
<email>willy@infradead.org</email>
</author>
<published>2018-07-04T14:50:12+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=371c752dc66948714ee3b66c3306f3ff1ff71d2e'/>
<id>urn:sha1:371c752dc66948714ee3b66c3306f3ff1ff71d2e</id>
<content type='text'>
Add the optional ability to track which entries in an XArray are free
and provide xa_alloc() to replace most of the functionality of the IDR.

Signed-off-by: Matthew Wilcox &lt;willy@infradead.org&gt;
</content>
</entry>
<entry>
<title>xarray: Add xa_reserve and xa_release</title>
<updated>2018-10-21T14:46:00+00:00</updated>
<author>
<name>Matthew Wilcox</name>
<email>willy@infradead.org</email>
</author>
<published>2018-10-01T18:54:59+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=9f14d4f1f1045f161fd4db8a8e194b7825c2874a'/>
<id>urn:sha1:9f14d4f1f1045f161fd4db8a8e194b7825c2874a</id>
<content type='text'>
This function reserves a slot in the XArray for users which need
to acquire multiple locks before storing their entry in the tree and
so cannot use a plain xa_store().

Signed-off-by: Matthew Wilcox &lt;willy@infradead.org&gt;
</content>
</entry>
<entry>
<title>xarray: Add xas_create_range</title>
<updated>2018-10-21T14:45:59+00:00</updated>
<author>
<name>Matthew Wilcox</name>
<email>willy@infradead.org</email>
</author>
<published>2017-12-04T05:11:48+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=2264f5132fe45571139727ebdeb78696b35d1506'/>
<id>urn:sha1:2264f5132fe45571139727ebdeb78696b35d1506</id>
<content type='text'>
This hopefully temporary function is useful for users who have not yet
been converted to multi-index entries.

Signed-off-by: Matthew Wilcox &lt;willy@infradead.org&gt;
</content>
</entry>
</feed>
