On Sun, 24 Aug 2014 01:49:07 -0400, nick said:
> After searching through parts of the btrfs code and docs. I am unable to find 
> any information
> on the helper threads in btrfs and would like to known more about how their 
> implemented and
> what are the reasons for helper threads in btrfs versus only 1 for journaling 
> in ext3/ext3.

Really?  *REALLY*?  You can't find anything?  What searching did you *DO*?

[~] cd /usr/src/linux-next/
[/usr/src/linux-next] ls fs/btrfs
Kconfig         btrfs_inode.h      delayed-ref.h  extent-tree.o       hash.c    
    locking.o       props.h       root-tree.o     transaction.c  volumes.h
Makefile        built-in.o         delayed-ref.o  extent_io.c         hash.h    
    lzo.c           props.o       scrub.c         transaction.h  volumes.o
acl.c           check-integrity.c  dev-replace.c  extent_io.h         hash.o    
    lzo.o           qgroup.c      scrub.o         transaction.o  xattr.c
acl.o           check-integrity.h  dev-replace.h  extent_io.o         
inode-item.c  math.h          qgroup.h      send.c          tree-defrag.c  
xattr.h
async-thread.c  compression.c      dev-replace.o  extent_map.c        
inode-item.o  modules.order   qgroup.o      send.h          tree-defrag.o  
xattr.o
async-thread.h  compression.h      dir-item.c     extent_map.h        
inode-map.c   ordered-data.c  raid56.c      send.o          tree-log.c     
zlib.c
async-thread.o  compression.o      dir-item.o     extent_map.o        
inode-map.h   ordered-data.h  raid56.h      struct-funcs.c  tree-log.h     
zlib.o
backref.c       ctree.c            disk-io.c      file-item.c         
inode-map.o   ordered-data.o  raid56.o      struct-funcs.o  tree-log.o
backref.h       ctree.h            disk-io.h      file-item.o         inode.c   
    orphan.c        rcu-string.h  super.c         ulist.c
backref.o       ctree.o            disk-io.o      file.c              inode.o   
    orphan.o        reada.c       super.o         ulist.h
btrfs.ko        delayed-inode.c    export.c       file.o              ioctl.c   
    print-tree.c    reada.o       sysfs.c         ulist.o
btrfs.mod.c     delayed-inode.h    export.h       free-space-cache.c  ioctl.o   
    print-tree.h    relocation.c  sysfs.h         uuid-tree.c
btrfs.mod.o     delayed-inode.o    export.o       free-space-cache.h  locking.c 
    print-tree.o    relocation.o  sysfs.o         uuid-tree.o
btrfs.o         delayed-ref.c      extent-tree.c  free-space-cache.o  locking.h 
    props.c         root-tree.c   tests           volumes.c

Now take a look there in the left-hand column.  You *might* find
something useful there.

As to the rest of your question, the ext filesystems have as a design goal
good performance on 1-2 core machines, while btrfs was designed to take
advantage of high-core-count machines. Hopefully you're a good enough
programmer that I don't have to explain further.


Attachment: pgpx12IMzMXCu.pgp
Description: PGP signature

_______________________________________________
Kernelnewbies mailing list
[email protected]
http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies

Reply via email to