On Tue, Sep 03, 2024 at 03:13:40PM GMT, Paul E. McKenney wrote:
> On Tue, Sep 03, 2024 at 05:38:05PM -0400, Kent Overstreet wrote:
> > On Tue, Sep 03, 2024 at 09:32:51AM GMT, Paul E. McKenney wrote:
> > > Hello!
> > >
> > > This series provides light-weig
On Tue, Sep 03, 2024 at 09:32:51AM GMT, Paul E. McKenney wrote:
> Hello!
>
> This series provides light-weight readers for SRCU. This lightness
> is selected by the caller by using the new srcu_read_lock_lite() and
> srcu_read_unlock_lite() flavors instead of the usual srcu_read_lock() and
> srcu
On Fri, Aug 30, 2024 at 12:01:26PM GMT, Paul E. McKenney wrote:
> On Mon, Aug 26, 2024 at 01:09:15PM -0400, Kent Overstreet wrote:
> > On Mon, Aug 26, 2024 at 09:01:54AM GMT, Paul E. McKenney wrote:
> > > But get_state_synchronize_srcu() is still a function call. But the
> &g
On Mon, May 20, 2024 at 10:31:53AM -0400, Steven Rostedt wrote:
> On Mon, 20 May 2024 15:02:26 +0800
> "Ubisectech Sirius" wrote:
>
> > Hello.
> > We are Ubisectech Sirius Team, the vulnerability lab of China ValiantSec.
> > Recently, our team has discovered a issue in Linux kernel 6.7. Attached
On Thu, May 09, 2024 at 02:26:24PM +0800, Ubisectech Sirius wrote:
> Hello.
> We are Ubisectech Sirius Team, the vulnerability lab of China ValiantSec.
> Recently, our team has discovered a issue in Linux kernel 6.7. Attached to
> the email were a PoC file of the issue.
This (and several of your
On Thu, Apr 11, 2024 at 07:00:36PM +0300, Mike Rapoport wrote:
> From: "Mike Rapoport (IBM)"
>
> Hi,
>
> Since v3 I looked into making execmem more of an utility toolbox, as we
> discussed at LPC with Mark Rutland, but it was getting more hairier than
> having a struct describing architecture co
On Wed, Sep 13, 2023 at 06:17:00PM -0700, Kees Cook wrote:
> On Tue, Sep 12, 2023 at 03:26:45PM +1000, Stephen Rothwell wrote:
> > New tree: bcachefs
>
> Thanks for going through and fixing all the fake flexible array members.
> It looks much nicer. :)
>
> I have some questions about the remainin
On Wed, Sep 06, 2023 at 01:20:59PM -0700, Linus Torvalds wrote:
> On Wed, 6 Sept 2023 at 13:02, Linus Torvalds
> wrote:
> >
> > And guess what happens when you have (unsigned char)-1? It does *not*
> > cast back to -1.
>
> Side note: again, this may be one of those "it works in practice",
> becau
From: Kent Overstreet
This converts from seq_buf to printbuf. Here we're using printbuf with
an external buffer, meaning it's a direct conversion.
Signed-off-by: Kent Overstreet
Cc: Dan Williams
Cc: Dave Hansen
Cc: nvd...@lists.linux.dev
Acked-by: Dan Williams
Tested-By: Shivapra
On 8/8/22 14:30, Dan Williams wrote:
Matthew Wilcox (Oracle) wrote:
From: Kent Overstreet
This converts from seq_buf to printbuf. Here we're using printbuf with
an external buffer, meaning it's a direct conversion.
Signed-off-by: Kent Overstreet
Cc: Dan Williams
Cc: Dave Hanse
This converts from seq_buf to printbuf. Here we're using printbuf with
an external buffer, meaning it's a direct conversion.
Signed-off-by: Kent Overstreet
Cc: Dan Williams
Cc: Dave Hansen
Cc: nvd...@lists.linux.dev
---
tools/testing/nvdimm/test/ndtest.c | 22 ++--
This converts from seq_buf to printbuf. Here we're using printbuf with
an external buffer, meaning it's a direct conversion.
Signed-off-by: Kent Overstreet
Cc: Dan Williams
Cc: Dave Hansen
Cc: nvd...@lists.linux.dev
---
tools/testing/nvdimm/test/ndtest.c | 22 ++--
This converts from seq_buf to printbuf. Here we're using printbuf with
an external buffer, meaning it's a direct conversion.
Signed-off-by: Kent Overstreet
Cc: Dan Williams
Cc: Dave Hansen
Cc: nvd...@lists.linux.dev
---
tools/testing/nvdimm/test/ndtest.c | 22 ++--
On Thu, Apr 15, 2021 at 09:42:56PM -0700, Paul E. McKenney wrote:
> On Tue, Apr 13, 2021 at 10:47:03AM +0800, Huang Ying wrote:
> > One typical use case of percpu_ref_tryget() family functions is as
> > follows,
> >
> > if (percpu_ref_tryget(&p->ref)) {
> > /* Operate on the other fields o
3.36% insert_inode_locked
>
>- 78.43% do_filp_open
> - 78.36% path_openat
> - 53.95% bch2_create
> - 47.99% __bch2_create
>
> - 7.57% inode_insert5
> 6.94% find_in
't directly use
> the VFS indoe cache.
>
> Signed-off-by: Dave Chinner
Reviewed-by: Kent Overstreet
> ---
> include/linux/list_bl.h | 22 ++
> 1 file changed, 22 insertions(+)
>
> diff --git a/include/linux/list_bl.h b/include/linux/list_bl.h
>
On Tue, Apr 06, 2021 at 10:33:41PM +1000, Dave Chinner wrote:
> From: Dave Chinner
>
> In preparation for changing the inode hash table implementation.
>
> Signed-off-by: Dave Chinner
Reviewed-by: Kent Overstreet
> ---
> fs/inode.c | 44 +---
On Tue, Apr 06, 2021 at 10:33:40PM +1000, Dave Chinner wrote:
> Hi folks,
>
> Recently I've been doing some scalability characterisation of
> various filesystems, and one of the limiting factors that has
> prevented me from exploring filesystem characteristics is the
> inode hash table. namely, th
On Wed, Mar 31, 2021 at 07:47:01PM +0100, Matthew Wilcox (Oracle) wrote:
> The medium-term goal is to convert all filesystems and some device
> drivers to work in terms of folios. This series contains a lot of
> explicit conversions, but it's important to realise it's removing a lot
> of implicit
Snapshots for bcaches are well under way, and I've written a design doc for
them. I'd love to get feedback on anything I might have missed, especially from
the btrfs people.
The current version of this document lives at
https://bcachefs.org/Snapshots/
and the in-progress code lives at
https:/
bcachefs.git
for you to fetch changes up to b7ddbb0e20d2add011d8f5a035b04ca3ac8b34fa:
bcachefs: Add some cond_rescheds() in shutdown path (2020-12-13 16:14:10
-0500)
Justin Husted (2):
bcachefs: Set lost+found mode to 0700
bcachefs: Update directory
Here's where bcachefs is at and what I'd like to get merged:
https://evilpiepirate.org/git/bcachefs.git/log/?h=bcachefs-for-review
Non bcachefs prep patches:
Compiler Attributes: add __flatten
locking: SIX locks (shared/intent/exclusive)
mm: export find_get_pages_range()
is intended to be relatively minimal.
Signed-off-by: Kent Overstreet
Cc: Matthew Wilcox (Oracle)
Cc: Jens Axboe
---
mm/filemap.c | 473 ---
1 file changed, 261 insertions(+), 212 deletions(-)
diff --git a/mm/filemap.c b/mm/filemap.c
index
ovement on workloads that do buffered reads
with large blocksizes, and a very large performance improvement if that
file is also being accessed concurrently by different threads.
On smaller reads (512 bytes), there's a very small performance
improvement (1%, within the margin of error).
Sign
Rebased onto current mainline - this series already included Jens' patch for
IOCB_WAITQ behaviour so nothing changed, but Jens might want to glance at it.
Kent Overstreet (2):
fs: Break generic_file_buffered_read up into multiple functions
fs: generic_file_buffered_read() now
No longer has any users, so remove it.
Signed-off-by: Kent Overstreet
---
include/linux/pagemap.h | 20 ++---
mm/filemap.c| 64 -
2 files changed, 33 insertions(+), 51 deletions(-)
diff --git a/include/linux/pagemap.h b/include/linux
This is just open coding add_to_page_cache(), and the next patch will
delete add_to_page_cache_locked().
Signed-off-by: Kent Overstreet
---
fs/cifs/file.c | 20
1 file changed, 4 insertions(+), 16 deletions(-)
diff --git a/fs/cifs/file.c b/fs/cifs/file.c
index be46fab4c9
since v1
- kill a faulty assertion found by kernel test robot
- drop an unneeded line break
Andrew, can this go through your tree?
Kent Overstreet (2):
cifs: convert to add_to_page_cache()
fs: kill add_to_page_cache_locked()
fs/cifs/file.c | 20 +++--
include/linux
If we're going to the trouble of having these nice error strings, let's
make them available.
Signed-off-by: Kent Overstreet
---
block/blk-core.c | 13 +
include/linux/blkdev.h | 1 +
2 files changed, 10 insertions(+), 4 deletions(-)
diff --git a/block/blk-core.c b
bcachefs has its own direct IO code.
Signed-off-by: Kent Overstreet
---
block/bio.c | 2 ++
1 file changed, 2 insertions(+)
diff --git a/block/bio.c b/block/bio.c
index e865ea55b9..72a65c4113 100644
--- a/block/bio.c
+++ b/block/bio.c
@@ -1320,6 +1320,7 @@ void bio_set_pages_dirty(struct bio
This is just open coding add_to_page_cache(), and the next patch will
delete add_to_page_cache_locked().
Signed-off-by: Kent Overstreet
---
fs/cifs/file.c | 21 +
1 file changed, 5 insertions(+), 16 deletions(-)
diff --git a/fs/cifs/file.c b/fs/cifs/file.c
index be46fab4c9
No longer has any users, so remove it.
Signed-off-by: Kent Overstreet
---
include/linux/pagemap.h | 20 ++---
mm/filemap.c| 62 -
2 files changed, 32 insertions(+), 50 deletions(-)
diff --git a/include/linux/pagemap.h b/include/linux
ovement on workloads that do buffered reads
with large blocksizes, and a very large performance improvement if that
file is also being accessed concurrently by different threads.
On smaller reads (512 bytes), there's a very small performance
improvement (1%, within the margin of error).
Sign
m ~150k to
~250k iops, and the improvements to big sequential reads are even bigger.
This incorporates the fix for IOCB_WAITQ handling that Jens just posted as well,
also factors out lock_page_for_iocb() to improve handling of the various iocb
flags.
Kent Overstreet (2):
fs: Break generic_file_buf
is intended to be relatively minimal.
Signed-off-by: Kent Overstreet
Cc: Matthew Wilcox (Oracle)
Cc: Jens Axboe
---
mm/filemap.c | 473 ---
1 file changed, 261 insertions(+), 212 deletions(-)
diff --git a/mm/filemap.c b/mm/filemap.c
index
On Tue, Aug 25, 2020 at 04:00:35PM +, David Laight wrote:
> From: 'Marcelo Ricardo Leitner'
> > Sent: 25 August 2020 16:41
> >
> > On Tue, Aug 25, 2020 at 02:52:34PM +, David Laight wrote:
> > > The genradix code is used by SCTP for accessing per-stream data.
> > > This means there are qui
Signed-off-by: Kent Overstreet
---
mm/filemap.c | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)
diff --git a/mm/filemap.c b/mm/filemap.c
index d8bd5e9647..b3a2aad1b7 100644
--- a/mm/filemap.c
+++ b/mm/filemap.c
@@ -2220,8 +2220,9 @@ static ssize_t generic_file_buffered_read(struct kioc
On Fri, Jun 19, 2020 at 05:59:20AM -0700, Christoph Hellwig wrote:
> After looking at v2 yesterday I noticed I few things in the structure
> that I really didn't like:
>
> - using a struct page * return value just to communicate status codes
> - the extremely long function names
> - a generally
is intended to be relatively minimal.
Signed-off-by: Kent Overstreet
---
mm/filemap.c | 418 ---
1 file changed, 228 insertions(+), 190 deletions(-)
diff --git a/mm/filemap.c b/mm/filemap.c
index 23a051a7ef..dc4a72042e 100644
--- a/mm/filemap.c
ovement on workloads that do buffered reads
with large blocksizes, and a very large performance improvement if that
file is also being accessed concurrently by different threads.
On smaller reads (512 bytes), there's a very small performance
improvement (1%, within the margin of error).
Sign
Ok - here's a new version, I fixed the checkpatch stuff and the thing with ret
should be more readable now:
Kent Overstreet (2):
fs: Break generic_file_buffered_read up into multiple functions
fs: generic_file_buffered_read() now uses find_get_pages_contig
mm/filemap.c
On Tue, Jun 09, 2020 at 06:38:08PM -0700, Matthew Wilcox wrote:
> On Tue, Jun 09, 2020 at 08:10:36PM -0400, Kent Overstreet wrote:
> > Convert generic_file_buffered_read() to get pages to read from in
> > batches, and then copy data to userspace from many pages at once - in
> &g
is intended to be relatively minimal.
Signed-off-by: Kent Overstreet
---
mm/filemap.c | 418 ---
1 file changed, 228 insertions(+), 190 deletions(-)
diff --git a/mm/filemap.c b/mm/filemap.c
index e67fa8ab48..206d51a1c9 100644
--- a/mm/filemap.c
ovement on workloads that do buffered reads
with large blocksizes, and a very large performance improvement if that
file is also being accessed concurrently by different threads.
On smaller reads (512 bytes), there's a very small performance
improvement (1%, within the margin of error).
Sign
On Tue, Jun 09, 2020 at 05:47:53PM -0700, Matthew Wilcox wrote:
> On Tue, Jun 09, 2020 at 08:10:36PM -0400, Kent Overstreet wrote:
> > @@ -2275,83 +2287,93 @@ static ssize_t generic_file_buffered_read(struct
> > kiocb *iocb,
> > struct iov_iter *
ovement on workloads that do buffered reads
with large blocksizes, and a very large performance improvement if that
file is also being accessed concurrently by different threads.
On smaller reads (512 bytes), there's a very small performance
improvement (1%, within the margin of error).
Sign
e reads.
As a bonus, generic_file_buffered_read() gets broken up into multiple functions
that are _somewhat_ easier to follow.
Kent Overstreet (2):
fs: Break generic_file_buffered_read up into multiple functions
fs: generic_file_buffered_read() now uses find_get_pages_contig
is intended to be relatively minimal.
Signed-off-by: Kent Overstreet
---
mm/filemap.c | 418 ---
1 file changed, 228 insertions(+), 190 deletions(-)
diff --git a/mm/filemap.c b/mm/filemap.c
index e67fa8ab48..206d51a1c9 100644
--- a/mm/filemap.c
On Thu, Jul 18, 2019 at 03:46:46PM +0800, Coly Li wrote:
> On 2019/7/16 6:47 下午, Coly Li wrote:
> > Hi Kent,
> >
> > On 2019/6/11 3:14 上午, Kent Overstreet wrote:
> >> Signed-off-by: Kent Overstreet
> > Acked-by: Coly Li
> >
> > And also I receive
On Fri, Jun 14, 2019 at 09:55:24AM +1000, Dave Chinner wrote:
> On Thu, Jun 13, 2019 at 02:36:25PM -0400, Kent Overstreet wrote:
> > On Thu, Jun 13, 2019 at 09:02:24AM +1000, Dave Chinner wrote:
> > > On Wed, Jun 12, 2019 at 12:21:44PM -0400, Kent Overstreet wrote:
> > >
On Thu, Jun 13, 2019 at 03:13:40PM -0600, Andreas Dilger wrote:
> There are definitely workloads that require multiple threads doing
> non-overlapping
> writes to a single file in HPC. This is becoming an increasingly common
> problem
> as the number of cores on a single client increase, since t
On Thu, Jun 13, 2019 at 09:02:24AM +1000, Dave Chinner wrote:
> On Wed, Jun 12, 2019 at 12:21:44PM -0400, Kent Overstreet wrote:
> > Ok, I'm totally on board with returning EDEADLOCK.
> >
> > Question: Would we be ok with returning EDEADLOCK for any IO where the
>
On Thu, Jun 13, 2019 at 12:28:41AM -0700, Christoph Hellwig wrote:
> On Mon, Jun 10, 2019 at 03:14:18PM -0400, Kent Overstreet wrote:
> > Prep work for bcachefs - being a fork of bcache it also uses closures
>
> NAK. This obsfucation needs to go away from bcache and not actua
On Tue, Jun 11, 2019 at 02:33:36PM +1000, Dave Chinner wrote:
> I just recently said this with reference to the range lock stuff I'm
> working on in the background:
>
> FWIW, it's to avoid problems with stupid userspace stuff
> that nobody really should be doing that I want range locks
On Mon, Jun 10, 2019 at 10:46:35AM -1000, Linus Torvalds wrote:
> On Mon, Jun 10, 2019 at 9:14 AM Kent Overstreet
> wrote:
> >
> > So. Here's my bcachefs-for-review branch - this has the minimal set of
> > patches
> > outside of fs/bcachefs/. My
Last status update: https://lkml.org/lkml/2018/12/2/46
Current status - I'm pretty much running out of things to polish and excuses to
keep tinkering. The core featureset is _done_ and the list of known outstanding
bugs is getting to be short and unexciting. The next big things on my todo list
are
Signed-off-by: Kent Overstreet
---
include/linux/compiler_attributes.h | 5 +
1 file changed, 5 insertions(+)
diff --git a/include/linux/compiler_attributes.h
b/include/linux/compiler_attributes.h
index 6b318efd8a..48b2c6ae6f 100644
--- a/include/linux/compiler_attributes.h
+++ b/include
New helper for bcachefs, so that when we race inserting an inode we can
atomically grab a ref to the inode already in the inode cache.
Signed-off-by: Kent Overstreet
---
fs/inode.c | 40
include/linux/fs.h | 1 +
2 files changed, 41 insertions
New lock for bcachefs, like read/write locks but with a third state,
intent.
Intent locks conflict with each other, but not with read locks; taking a
write lock requires first holding an intent lock.
Signed-off-by: Kent Overstreet
---
include/linux/six.h | 192 +++
kernel
Signed-off-by: Kent Overstreet
---
include/linux/closure.h | 22 ++
1 file changed, 22 insertions(+)
diff --git a/include/linux/closure.h b/include/linux/closure.h
index 308e38028c..abacb91c35 100644
--- a/include/linux/closure.h
+++ b/include/linux/closure.h
@@ -379,4
Signed-off-by: Kent Overstreet
---
lib/closure.c | 10 --
1 file changed, 8 insertions(+), 2 deletions(-)
diff --git a/lib/closure.c b/lib/closure.c
index 46cfe4c382..3e6366c262 100644
--- a/lib/closure.c
+++ b/lib/closure.c
@@ -104,8 +104,14 @@ struct closure_syncer {
static void
This fixes a lockdep recursion when using __vmalloc from places that
aren't GFP_KERNEL safe.
Signed-off-by: Kent Overstreet
---
arch/alpha/include/asm/pgalloc.h | 11 ++---
arch/arc/include/asm/pgalloc.h | 9 +---
arch/arm/include/asm/pgalloc.h
Signed-off-by: Kent Overstreet
---
drivers/md/bcache/closure.h | 11 ---
1 file changed, 8 insertions(+), 3 deletions(-)
diff --git a/drivers/md/bcache/closure.h b/drivers/md/bcache/closure.h
index c88cdc4ae4..376c5e659c 100644
--- a/drivers/md/bcache/closure.h
+++ b/drivers/md/bcache
New helper for bcachefs - bcachefs doesn't want the
inode_dec_link_count() call that d_tmpfile does, it handles i_nlink on
its own atomically with other btree updates
Signed-off-by: Kent Overstreet
---
fs/dcache.c| 10 --
include/linux/dcache.h | 1 +
2 files chang
Add a per address space lock around adding pages to the pagecache - making it
possible for fallocate INSERT_RANGE/COLLAPSE_RANGE to work correctly, and also
hopefully making truncate and dio a bit saner.
Signed-off-by: Kent Overstreet
---
fs/inode.c| 1 +
include/linux/fs.h| 24
Prep work for bcachefs - being a fork of bcache it also uses closures
Signed-off-by: Kent Overstreet
---
drivers/md/bcache/Kconfig | 10 +--
drivers/md/bcache/Makefile| 6 ++--
drivers/md/bcache/bcache.h| 2 +-
drivers/md/bcache
Needed for bcachefs
Signed-off-by: Kent Overstreet
---
mm/filemap.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/mm/filemap.c b/mm/filemap.c
index 93d7e0e686..617168474e 100644
--- a/mm/filemap.c
+++ b/mm/filemap.c
@@ -1899,6 +1899,7 @@ unsigned find_get_pages_range(struct address_space
Signed-off-by: Kent Overstreet
---
block/bio.c | 3 +++
1 file changed, 3 insertions(+)
diff --git a/block/bio.c b/block/bio.c
index 716510ecd7..a67aa6e0de 100644
--- a/block/bio.c
+++ b/block/bio.c
@@ -958,6 +958,7 @@ int bio_iov_iter_get_pages(struct bio *bio, struct iov_iter
*iter
#syz test: http://evilpiepirate.org/git/bcachefs.git syzbot-fix
On Wed, Jan 30, 2019 at 06:21:12PM +0800, YueHaibing wrote:
> There is a potential NULL pointer dereference in case
> kzalloc() fails and returns NULL.
>
> Fixes: bc082a55d25c ("bcache: fix inaccurate io state for detached bcache
> devices")
> Signed-off-by: YueHaibing
> ---
> drivers/md/bcache
On Mon, Dec 17, 2018 at 12:50:01PM -0800, Andrew Morton wrote:
> On Mon, 17 Dec 2018 08:19:28 -0500 Kent Overstreet
> wrote:
>
> > @@ -535,9 +470,6 @@ int sctp_send_add_streams(struct sctp_association *asoc,
> > goto out;
> > }
> >
> > -
There was no real need for this code to be using flexarrays, it's just
implementing a hash table - ideally it would be using rhashtables, but
that conversion would be significantly more complicated.
Signed-off-by: Kent Overstreet
Cc: Pravin B Shelar
Cc: d...@openvswitch.org
Reviewed-by: Ma
The code really just wants a big flat buffer, so just do that.
Signed-off-by: Kent Overstreet
Cc: Shaohua Li
Cc: linux-r...@vger.kernel.org
Reviewed-by: Matthew Wilcox
---
drivers/md/raid5-ppl.c | 6 +--
drivers/md/raid5.c | 87 +++---
drivers/md/raid5
All existing users have been converted to generic radix trees
Signed-off-by: Kent Overstreet
Acked-by: Dave Hansen
---
Documentation/core-api/flexible-arrays.rst | 130 ---
Documentation/flexible-arrays.txt | 123 ---
include/linux/flex_array.h | 149
the new generic radix trees have a simpler API and implementation, and
no limitations on number of elements, so all flex_array users are being
converted
Signed-off-by: Kent Overstreet
Cc: Al Viro
---
fs/proc/base.c | 43 +++
1 file changed, 15 insertions
This also makes sctp_stream_alloc_(out|in) saner, in that they no longer
allocate new flex_arrays/genradixes, they just preallocate more
elements.
This code does however have a suspicious lack of locking.
Signed-off-by: Kent Overstreet
Cc: Vlad Yasevich
Cc: Neil Horman
Cc: Marcelo Ricardo
s we seem to want to use it for
it's quite useful.
Andrew, would you mind picking up this series, or would someone else be more
suitable? The patch series has been sent out a few times and seen a fair amoun
of review.
Kent Overstreet (7):
openvswitch: convert to kvmalloc
md: convert to kvmal
like flex_array does.
Signed-off-by: Kent Overstreet
---
Documentation/core-api/generic-radix-tree.rst | 12 +
Documentation/core-api/index.rst | 1 +
include/linux/generic-radix-tree.h| 231 ++
lib/Makefile | 3 +-
The flex arrays were being used for constant sized arrays, so there's no
benefit to using flex_arrays over something simpler.
Signed-off-by: Kent Overstreet
Cc: linux-security-mod...@vger.kernel.org
---
security/selinux/ss/avtab.c | 40 +-
security/selinux/ss/avtab.h
gt; On Thu, Dec 13, 2018 at 09:30:47PM +0900, Xin Long wrote:
> > > > > On Sat, Sep 8, 2018 at 1:57 AM Kent Overstreet
> > > > > wrote:
> > > > > >
> > > > > > All existing users have been converted to generic
On Thu, Dec 06, 2018 at 12:32:47PM +, Kieran Bingham wrote:
> Oh - although, yes - there are some good concepts there - but I'm a bit
> weary of how easy it would be to 'run' the said test against multiple
> kernel version libraries... there would be a lot of possible ABI
> conflicts perhaps.
>
So, since I've been pretty quiet since LSF I thought I ought to give an update
on where bcachefs is at - and in particular talk about what sorts of problems
and improvements are currently being worked on.
As of last LSF, there was still a lot of work to be done before we had fast
mount times that
On Thu, Sep 27, 2018 at 04:27:49PM +0800, Dongbo Cao wrote:
> bio->bi_iter.bi_sector is the sector index of current request, no need to be
> aligned.
> instead, bio->bi_iter.bi_size should be aligned to block_bytes-1, not
> block_size-1.
> and bio_sectors is the number of sectors of current reque
On Fri, Sep 07, 2018 at 10:49:42AM -0700, Matthew Wilcox wrote:
> On Fri, Sep 07, 2018 at 12:56:31PM -0400, Kent Overstreet wrote:
> > @@ -165,7 +164,7 @@ ops_run_partial_parity(struct stripe_head *sh, struct
> > raid5_percpu *percpu,
> >struct dma_as
On Sat, Sep 08, 2018 at 02:08:03AM +0900, Tetsuo Handa wrote:
> On 2018/09/08 1:56, Kent Overstreet wrote:
> > @@ -329,8 +328,7 @@ int avtab_alloc(struct avtab *h, u32 nrules)
> > nslot = MAX_AVTAB_HASH_BUCKETS;
> > mask = nslot - 1;
> >
> >
the new generic radix trees have a simpler API and implementation, and
no limitations on number of elements, so all flex_array users are being
converted
Signed-off-by: Kent Overstreet
Cc: Al Viro
---
fs/proc/base.c | 43 +++
1 file changed, 15 insertions
like flex_array does.
Signed-off-by: Kent Overstreet
---
include/linux/generic-radix-tree.h | 222 +
lib/Makefile | 3 +-
lib/generic-radix-tree.c | 180 +++
3 files changed, 404 insertions(+), 1 deletion(-)
c
All existing users have been converted to generic radix trees
Signed-off-by: Kent Overstreet
Acked-by: Dave Hansen
---
Documentation/core-api/flexible-arrays.rst | 130 ---
Documentation/flexible-arrays.txt | 123 ---
include/linux/flex_array.h | 149
The code really just wants a big flat buffer, so just do that.
Signed-off-by: Kent Overstreet
Cc: Shaohua Li
Cc: linux-r...@vger.kernel.org
---
drivers/md/raid5-ppl.c | 7 ++--
drivers/md/raid5.c | 82 +++---
drivers/md/raid5.h | 9 ++---
3 files
The flex arrays were being used for constant sized arrays, so there's no
benefit to using flex_arrays over something simpler.
Signed-off-by: Kent Overstreet
Cc: linux-security-mod...@vger.kernel.org
---
security/selinux/ss/avtab.c | 40 +-
security/selinux/ss/avtab.h
There was no real need for this code to be using flexarrays, it's just
implementing a hash table - ideally it would be using rhashtables, but
that conversion would be significantly more complicated.
Signed-off-by: Kent Overstreet
Cc: Pravin B Shelar
Cc: d...@openvswitch.org
---
net/openvs
Generic radix trees are a dead simple radix tree implementation that can store
types of different sizes, needed for bcachefs.
The patch series was sent out previously and was pretty uncontroversial - this
is a respin that converts most users to just use kvmalloc.
Kent Overstreet (6
h of the structure of the old code as I could just to
make things easier on myself, but I'm still pretty happy with the result.
Kent Overstreet (2):
fs: Break generic_file_buffered_read up into multiple functions
fs: generic_file_buffered_read() now uses find_get_pag
is intended to be relatively minimal.
Signed-off-by: Kent Overstreet
---
mm/filemap.c | 418 ---
1 file changed, 228 insertions(+), 190 deletions(-)
diff --git a/mm/filemap.c b/mm/filemap.c
index c7723d..308bdd466f 100644
--- a/mm/filemap.c
ovement on workloads that do buffered reads
with large blocksizes, and a very large performance improvement if that
file is also being accessed concurrently by different threads.
On smaller reads (512 bytes), there's a very small performance
improvement (1%, within the margin of error).
Sign
On Sat, Jun 09, 2018 at 08:29:44PM +0800, Ming Lei wrote:
> Hi,
>
> This patchset brings multipage bvec into block layer:
Ming, what's going on with the chunk naming? I haven't been paying attention
because it feels like it's turned into bike shedding, but I just saw something
about a 3rd way of
This also removes a hack in mddev_put() to avoid freeing biosets under a
spinlock, which involved copying biosets on the stack after the reset
bioset_init() changes.
Signed-off-by: Kent Overstreet
---
drivers/md/md.c | 53 +
1 file changed, 18 inserti
only works if said memory was zeroed.)
Signed-off-by: Kent Overstreet
---
Linus,
I fucked up majorly on the bioset/mempool conversion - I forgot to check that
everything biosets/mempools were being embedded in was actually being zeroed on
allocation. Device mapper currently explodes, you
On Tue, May 29, 2018 at 04:51:44PM -0400, Theodore Y. Ts'o wrote:
> On Tue, May 29, 2018 at 03:26:43PM -0400, Kent Overstreet wrote:
> > > That seems to indicate that we've had already PostgreSQL licensed code on
> > > Linux since Kent's addition of bca
ache/util.c has:
>
> cafe563591446 (Kent Overstreet 2013-03-23 16:11:31 -0700 318) /*
> cafe563591446 (Kent Overstreet 2013-03-23 16:11:31 -0700 319) * Portions
> Copyright (c) 1996-2001, PostgreSQL Global Development Group (Any
> cafe563591446 (Kent Overstreet 2013-03-23 16:11:31
1 - 100 of 1344 matches
Mail list logo