First of all, I'd like to thank you all for coming, and I'd really like to thank the FOSDEM organizers. This is actually my first time presenting at FOSDEM, first time I've been at FOSDEM, and it's been a lot of fun. I really enjoyed myself, so thank you all for coming and thank the FOSDEM organizers for inviting me. Please bear with me. This is a presentation I had to create on the fly, because my primary laptop got stolen at the Brussels train station, so I had this cool demo I was going to show, showing how quick FSCK was on a file system that I'd been using since July, except it got stolen. So WikiTravel has all of this stuff about things you have to be careful, pickpockets work in teams, they'll distract you, grab your laptop bag. I'm here to tell you it's all true. So yeah, I learned that the hard way. Anyway, fortunately I happened to be carrying a backup netbook that I was planning on using for crash and burn testing. I was actually planning on getting some development work done over the weekend, which didn't happen, but that's okay. And so why don't we get started. And first let me talk a little bit about some of the good things about the EXT3 file system. It's probably the most widely used file system in Linux, and it's a code that therefore has been around for a long time, people trust it. You know, it's been well shaken down. Also very, very important, and this is probably one of those things that a number of file system efforts before didn't really pick up on, EXT3 has an extremely diverse development community, which means we have developers from Red Hat, from ClusterFS, which was since purchased by Sun. We have developers from SUSE, Red Hat, IBM, and so that actually is really, really useful because it means that, number one, you don't have to worry about what happens if one company decides that it's time to cut back on their kernel development budget. But it's also important because if a distribution wants to support a file system, they need to feel comfortable that they have people who understand it well enough that they can actually help their customers if their customers have problems with it. Historically, I can't speak for Red Hat, but until very recently Red Hat did not have an XFS engineer on staff, and I don't believe it was a coincidence that Red Hat didn't support XFS. It's only recently that Eric Sandin, who was a former XFS developer, he's now helping us out with EXT4, joined Red Hat, and now they're going to be including XFS support. My understanding is at least in preview form in a rel update, and then they'll be supporting it fully in the future. But again, it points out the fact that if you don't have developers add a distribution, it's really not surprising the distribution is going to be really hesitant supporting something as critical as a file system. Another example of that would be JFS, IBM's JFS, which is a very good file system, and at the time when it was introduced, there were ways in which it was in fact far better than EXT3. There was only one problem, which was almost the entire development team was at IBM. Red Hat and Suza didn't have any engineers who were really familiar with JFS, and surprise, surprise, they were really hesitant in supporting it, and that's been a really big deal. So one of the things that I've told the BTRFS folks, and a big supporter of BTRFS, I really believe it's going to be a great file system, although people who think it's going to be ready in the short term are probably a little bit too over-enthusiastic. I'll talk a little bit more about that later. But one of the things that I told them is you've got to recruit people from across the Linux industry if you want to be successful, because it's just, you know, it's the realities of development. So there are also a couple of things that are not so good about EXT3.  Actually, that should be 32,000, not 32,768. We have second-resolution timestamps, which is a bit of an issue, given that computers are kind of fast now when you can compile a file in well under a second, which is sort of an issue if you're going to be using make, which likes to track based on timestamps.  And perhaps the biggest problem with EXT3 has been its performance limitations. Now, some of that has been deliberate. EXT3, we've always taken the position that we care a whole lot more about making sure the data is safe than it being fast, because if it's, people get really cranky when they lose data. That's probably the simplest way I can put it. You know, it's one thing to win the benchmark wars, but first of all, many, many workloads are not even file system bound, right? So if you have a super fast benchmarking result, but in real life, you're actually really CPU bound, then it may not really matter, and then if you lose your source tree, people get cranky. So we've historically been very, very conservative with EXT3. But over time, that's started to become a real limitation, and so it was time to try to add new features and make EXT3 into, you know, what I would call a modern file system. Now, this brings up an interesting philosophical question, which is, is EXT4 really a new file system? It's certainly a new file system subdirectory. So if you look in the kernel sources, under FS slash EXT4, you will see a complete source code. This is source code that was forked in 2619. But it's important to remember that EXT in EXT2, EXT3, EXT4 stands for extended. And in fact, EXT4, as far as the file system format is concerned, is actually a collection of new features that can be individually enabled or disabled. So some of them are extents, some of them are a huge file, dur underscore end link, so on and so forth. And together, if you enable all these features, then you would get the full effect of EXT4. And the EXT4 file system driver in the Linux kernel supports all of these new file system features. But you can also run a standard EXT3 file system and mount it as EXT4, and it will work just fine. In fact, as of 2629, which is the next stable kernel release, we're currently at 2629 RC3, you will actually be able to mount an EXT2 file system, which is to say a file system without a journal, on the EXT4 file system driver core. And this was actually code that was contributed to us from Google that allowed us to be able to mount a file system without a journal with the EXT4 code base. EXT3, simply because way back when when Stephen Tweedy was developing EXT3, we had forked the code base. In order to make life simpler, he had written the code such that the journal had to be enabled. And in fact, if the journal was not present, and you tried to mount it as EXT3, EXT3 would just refuse the mount. Google, as it turns out, wanted the advanced features of EXT4 because extents and all the rest proved to have some really nice performance benefits for them. But Google doesn't believe in journals because Google has the theory that if the system ever crashes, you wipe the hard drive and you recover from the other two redundant backups. And if you're going to do that, and you don't have to worry about FSCK'ing the drive because if the system ever crashes, you just wipe the disk and copy from a backup, then you don't actually need to recover from journal, and they got a little bit of a performance boost by running without the journal. So in the latest 2629, you'll actually be able to enable all of the EXT4 features but disable the journal because Google was interested in running in that fashion. It also turns out you could run with all the features disabled and mount a standard EXT2 file system on EXT4. You would still get some of the performance benefits that don't depend on the file system format, but it's more interesting just simply from a flexibility point of view. So why did we even bother to actually fork the code? And again, this was just simply from a matter of development stability.  And so we had a lot more opportunity to experiment if we just simply forked the code base, and we didn't have to worry that we might accidentally trash, you know, some important people's code. At the same time, it also allowed us to do all of our development in the mainline tree, which was also a big help. So that's what we actually did. But from a theoretical point of view, it's not really a new file system except that we added a whole lot of code to it. We started with EXT3, we added new extensions to it. From the user space code, we used the same E2FS progs to support EXT2, EXT3, and now EXT4. You just simply have to have a new enough version of E2FS progs. So, you know, is it a new file system? Is it not? It really depends on your point of view. It is definitely a new file system code base. I'm not even sure you could call it a new implementation. It's just simply a more advanced version with new features. So, pays your money, takes your choices. So what's new in EXT4? There are a huge number of features that are new. Probably the biggest one is extents, and then the changes to the block allocator, and I'll talk more about those in just a moment. Some of the other features that we have added are simply to address problems that I've already alluded to before.  NFSv4 has a requirement for a 64-bit unique version ID that gets bumped whenever a file is changed in any way. And they need that specifically so that they can do reliable caching. I'm not an NFSv4 expert. I think they have some clues that makes the caching less efficient if you don't have that feature, but the NFSv4 people really wanted it. So while we were in there, we added the NFSv4 version ID.  We now store the size of the file in units of a file system block size as opposed to the POSIX mandated 512 sector size, which is a mistake perpetrated by System 5 Unix, and that basically gave us a very painless way of expanding the maximum size of a file from 2 terabytes to 16 terabytes if you're using a 4K block size file system. And if you're on an itanium system or a power system and you use an even bigger block size such as 16K, 32K block size, you get another couple of powers of two out of that. And that was just something that we could do that was actually very, very easy. We'll talk a little bit later about why we didn't actually change that to expand that even further. And it's something we could do. It's just something we didn't do this time around. We added ATA trim support. This is support that we'll be showing up in some of the new big storage subsystems that do something called thin provisioning, where you've got a large number of block devices that might not be completely full. And the file system, when you delete a file, can tell the block device, we're not using these blocks anymore, so you can use them for something else. It's also useful for solid state disks. For the same reason, they can do a better job wear leveling if the file system can inform the solid state disk that these blocks are no longer in use, so you can use them for wear leveling. The support is in the file system. The low-level code to actually send the trim commands to the devices has not actually hit mainline yet. And my understanding is it's because the people who are in charge of writing that bit of code doesn't have hardware that actually implements the features yet or something like that. As far as I'm concerned, I have all the file system code hooked up. It's just it's not talking to any real devices yet, but it's something that I've been told is going to be a really big deal for solid state disks and for thin provisioning, so we have that in there already. Another thing that we've added is checksums in certain bits of the metadata, specifically the journal and the block group descriptors, and that's allowed us to reliably put in the block group descriptors what part of the InnoTable is actually in use and what part of the InnoTable is not, and that's allowed us to speed up FSCK. So there's been a lot of little tiny improvements that we sort of made while the patient was opened up for surgery, as it were, but probably the biggest one as far as EXT-4 is concerned is extents and then related to extents, the block allocator. So let's dive into that. How many of you are familiar with the indirect block map system that EXT-2 and EXT-3 use? How many people are familiar? Okay, some people are, some people might not be. So quick review. Inside the Inode for EXT-2 and EXT-3, there is room for 15 block pointers, 15 32-bit block numbers. The first 12, 0 through 11 in the iData array are used to map direct blocks, and so if your file is less than 12, less than or equal to 12 blocks long, if you're using a 4K file system, 4K block size file system, that's 48K, the location of all of those blocks can be stored in the Inode, and you don't have to do anything else, it's all there, and it's just mapped. So in this case here, in this example, the Inode, the first 12 blocks are located at block numbers 200 through 211. Now, if the file is any bigger than that, there's no more room for direct blocks inside the Inode. So we allocate in the second column to the right on the top that gray box an indirect block, and we put a pointer, which is slot number 12 in the iData that points to the indirect block, and there we have room, again, if we're using a 4K block file system, 1024 block numbers that can go in an indirect block, and that will give you a range of blocks. Now, if it turns out that that's not enough room, we can insert a double indirect block, and that's the light blue, and so we have a pointer in slot 13 to a double indirect block, and each double indirect block will point to 256 indirect blocks, which then contain 256 block pointers to the file, and finally, if that's not enough, we have room for a triple indirect block, and a triple indirect block has 256 slots, each one points at a double indirect block, 256 slots, each of those blocks' slots points at 256 indirect blocks, which then goes to a file, and 256 times 256 times 256 times a 4K block size is a really big number, and so that's how indirect blocks work. Now, it turns out this system is incredibly inefficient for really large files. If you're using EXT3 and you ever have to delete a huge ISO image, and it really doesn't matter whether or not it's a CD or a DVD ISO image, the DVD ISO image will take even longer, it will take a long time to delete, and the reason that it takes a long time to delete is that it has to read all of those indirect blocks and then free the block pointers in the indirect blocks and the double indirect block and the triple indirect blocks, and that takes a very, very long time, and it's especially inefficient when you consider that the file system is actually going to fairly great lengths to keep files contiguous, so most of the time, what you actually see in these indirect blocks are increasing sequences of block numbers, 200, 201, 202, 203, 204, 205, and that's not a very efficient way of storing that type of information. A much more efficient way is to use something called an extent, and an extent is just simply a way of saying we're going to start at logical block zero and logical block zero is going to be located at physical block 200, and that's going to continue for 1,000 blocks. So if we have 1,000 blocks free on disk and we can allocate it contiguously to the file, then I only need a very small amount of room, room for three integers to encode what previously would have taken 4,000 bytes to store. 1,000 entries, one for each block, and instead, we just simply say that starting at block zero and going on for 1,000 blocks, we're going to use the range starting at block 200. So this is what the on-disk extents format looks like. This code, the extents work, was actually contributed by ClusterFS and Andreas Dilger and Company, and they actually used EXT3 as the back-end storage for their Cluster file system, which they called Luster, and they needed to get better performance out of it, and so they actually enhanced their version of EXT3 to have extents, and then they contributed that code back to us. Many, many thanks to Luster, and so we sort of stuck with this particular format, and what this format effectively gives us is 48 bits of logical block numbers and 32 bits of, sorry, 32 bits of logical block numbers and 48 bits of physical block numbers, and a lot of people ask us, why didn't you go to 64? And the answer was, well, this is what Luster was using, and we wanted to stay compatible with Luster because after all, they contributed a lot of really good code to us. There was thinking that at some point we would add support for an alternate data structure that would in fact give us 64-bit logical, 64-bit physical block numbers, and basically instead of a 12-byte structure, it would probably take a bit more than that, it would probably be a 16-byte structure, and we have a version field in the extent header where we could actually indicate this is a new version of the extent header, and we may very well do that at some point in the future. It turns out that 48 bits is a very large number. You're already up to an exabyte with 48 bits of physical block numbering, and we wanted to get EXT-4 out there sooner rather than later, so we've sort of stuck with the very simple. Maybe at some point in the future we'll expand it, but for many, many users, an exabyte is more than enough space for what they would actually want to use it for. So this is what the extent map actually looks like. In the iData field, we store a small header structure which indicates how deep the tree is, what version of the extent structure we have, and then pointers to the location on disk. Now, we can store up to three of those extent structures in the inode body directly, and as it turns out, and I'll show you some numbers in a moment, the vast majority of your files on a fairly standard file system will in fact fit in under three extents. In fact, on the file system that got stolen on Friday, I'd been running EXT-4 since July, and I think I had done a full backup and restore once or twice during that period, but it'd been my primary file system. I'd been using it for quite a while, 128 gigs. It was my primary laptop. It had Ubuntu on it, Ubuntu Hardy on it, and I had all of one file... I'm sorry, that's not right. I had all of... I had several hundred thousand files on it, and I had maybe 700 or 800 files that spilled over to a single extent block, as a B-tree that had a single leaf block, and that leaf block had room for 129 extents, and then I had a single file that had an extent tree that was too deep, that had one index node, and then a number of leaf nodes, but the vast majority of the files, 99% of the files, all of the extents lived inside the inode because they were under three extents, and in fact, something like 95% of them were encoded in a single extent, and that was because of changes in the block allocator. So for the more complicated files, and as I mentioned, on my file system, where I had been torturing the file system fairly badly, I was using it for normal use, I had exactly one file that looked like this, where I had the inotable and index node, that index node could store up to 129 leaf nodes, and each leaf node could store up to 129 contiguous extents, and that one file was in fact a sparse EXT-3 extent image that I had been using for testing. The short version is I had to deliberately create files that were deep enough that I could actually exercise the extent tree code because in theory, this tree can grow to two, three, four levels deep, but in fact, you have to really torture the file system to get it to generate that. Most of the time, you either have a single leaf node pointed from the body, the inode table, and the vast majority of the time, you just simply have one, two, maybe three extents in the inode table because the file is that basically contiguous on disk. So we can handle sparse files, and we can handle files where the file system gets very badly fragmented. In practice, I've been noticing that EXT-4's anti-fragmentation algorithms are good enough that at least for my general workload, it's fairly rare. Now, I'm sure someone out here will have a workload that will prove me wrong, and that's okay. We have an online defragmenter that we're hoping to get done, but that's not in mainline yet. So part of the reason why the code is so fragmentation resistant is because of changes to the block allocator, and this is also a code that was contributed by Lustra, Fasten, and Andreas Dilder. And the reason why they needed it is because extents work best if the files are contiguous. In fact, if your file system is really badly fragmented so that you have a free block here and a free block there and a free block here, it takes 12 bytes to encode an extent. So if you have lots of singleton free blocks in your file system, extents can actually be a less efficient way of encoding the file map data than just simply using a normal indirect block. Now, in practice, that doesn't happen, but one of the reasons why is because of the multi-block allocator. And the multi-block allocator, which, again, came from Lustra, gave us two things. Number one, it gave us delayed allocation, which means we don't actually allocate files until the very last minute and either the application has explicitly requested the data to be flushed out to disk with an F-sync call or the Page Dirty Cleaner has decided that it's time to actually push blocks out to disk. And then the other part is the multi-block allocator, which, when it allocates blocks, it allocates blocks based on how much data it needs to write. The previous block allocator allocated a single block at a time and about the only thing it knew was the previous block was located at block N. And so the first block you would actually try to find would be block N plus 1. And if that wasn't there, it would try block N plus 2.  The multi-block allocator will know that we're going to be allocating a dozen blocks or 200 blocks, and it will actually search for enough free space for the requested amount of space that we actually need to allocate. And that's one of the reasons why most of the files on disk actually turn out to be contiguous on disk. And this is, by the way, responsible for most of EXD4's performance improvements. Now, there is one little tiny gotcha laid allocation code. And that is that what many application writers had been used to was EXD3's ordered mode semantics. And EXD3's order mode semantics effectively said, before we do a journal commit, we will make sure that any blocks that have been allocated on disk will in fact be written to disk before we slam the inode onto disk and do a commit. And this guarantees that you never get stale data, right? Because stale data could be a security problem because it's previously written data that possibly belonged to another user. And you might be exposing that if the system crashes, if the inode has been written to disk, but the data had not been written out to disk. And so the default mode that most people used for EXD3 was force a journal commit every five seconds and use order mode semantics. Now, in practice, what this meant was if you wrote a file and closed it, within five seconds it was guaranteed to be on disk. And a lot of people just sort of assumed that that was normal. All systems that do delayed allocation will not actually do this. They will not actually force the data out to disk because we haven't even allocated the data on disk. And so what EXD4 would do under these conditions is you might write a .file, and some of these application programmers would rewrite a .file without leaving a backup. So they would truncate, rewrite the data, and close it. And if the file had not actually been allocated, then there would be no data actually pushed out to disk. And if the data had not been pushed out to disk, we now have to wait for the page cleaner to decide that it's time to write dirty data back to disk. And the default for that is 30 seconds. And the page cleaner doesn't actually write out all the dirty disk, it will actually stage it out. So that data will start getting written out to disk after 30 seconds have gone by. And if you've dirtyed a lot of data blocks, it might take another 30 seconds before everything has been written out because it doesn't want to overload the system, so it actually does it in little tiny chunks, spaced out over five second intervals. If you turn on laptop mode to save your battery, that 30 seconds can get expanded to like two minutes. And now what you end up happening is it can be a good two to five minutes before data that had been written to disk is actually, sorry, data that had actually been written by an application might take two to five minutes before it actually is written on to disk. So if your system crashes, you can actually lose more data. Now this is in fact all legit, right? If you look at the POSIX specification, it essentially says unless you call fSync, all bets are off. And it was just simply that many application programmers were used to the behavior of EXT3 and not bothering to call fSync. Now, I say this worried a little bit that everyone will now use fSync a lot. And the reason is because in recent years I have noticed a disturbing tendency by application writers, some of you may be in this room, to generate hundreds and hundreds of dot files. Like if I look under .gonome and .kde, I see hundreds and hundreds of individual dot files that each contain huge amounts of data. Actually, they don't contain huge amounts of data. That's the problem. They each contain like three or four bytes of data, but there are hundreds and hundreds of files. And if you call fSync on every single one, you will really pound your system with a hammer pretty badly because it's going to force a lot of data to disk.  Probably the right answer is to use fDataSync. That's not going to be quite so painful and it will actually have most of the semantics. So if you guys are going to stick with using lots of these little individual dot files, each one that contain a few bytes, you probably want to use fDataSync. Or you might want to consider using SQLite or some kind of proper database because it's very clear what's going on here is people decided that the Windows registry was evil, so it will be the anti-Windows.  But be that as it may, I know I cannot influence what application programmers choose to do. All us file system authors can really do is sort of adapt to what the application developer community actually throws at us. So we may end up actually trying to store data in the iData array.  I mean, I actually, at one point, took a look at it and said there was actually very few of them, so we never bothered to store data in the iData array. But these days it looks like there are a lot of app writers that have lots of files that are under 60 bytes. And so maybe we have to revisit that decision. All of that being said, delayed allocations just sort of exposed that because I've gotten one or two bug reports of the form, you know, I was using ext4, crappy NVIDIA driver crashed my system, and I had several hundred zero link files in .knoam or .kde. I think I got one of each. So this is not a gnom versus .kde thing. Both desktops seem to be doing that.  And why are they rewriting them all the time? Because that's got to be a performance hit right there. And I'm not sure I want to know the answer, but if someone from the gnom and .kde environment, you know, communities want to tell me why you're apparently constantly rewriting hundreds of these files in, you know, the user's home directory, you know, I'll, you know, get myself a good stiff drink and then you can tell me. But, you know, it's one of the things we're looking at. One of the things that we may end up doing is have some heuristic where if the file is small and we notice that it was in a truncate or removed, we'll actually immediately map the files on close, which is less heavyweight than actually calling fsync. Eric Sandin tells me XFS had to do something very similar. XFS apparently has this clue where if a file has ever been truncated, it implies an fsync as soon as you try to close it. And that's because there are so many application writers that got kind of lazy about assuming that they could just simply do that and then XFS's delayed allocation hit them. So apparently this is not a new problem. So that's one. Another interesting feature that we have is something called persistent pre-allocation. This allows blocks to be assigned to files without having to initialize them first. The original use of this was for databases and streaming video files, where if you know that you're going to eventually fill a gigabyte on disk because you're going to be recording an hour of video and an hour of video compressed is about a gigabyte, you can tell the system, please pre-allocate a gigabyte on disk and then the file system can allocate that space contiguously because you know exactly how big it is. This can also be useful for packaging systems like RPM and d-package. If you know how big the file is, the file system will be able to do a better job. If you tell it, please pre-allocate me the space because then it can pre-allocate exactly how much space it needs and you can reduce fragmentation by a little bit if you can actually do that. Another interesting use of this is for files that are grown via append. So a log file is constantly being appended to, a Unix mail spool file is constantly being appended to and if you know that that's happening, one of the things you can do is just simply pre-allocate space. If you know roughly how big the log file is, you can pre-allocate the space and then the log file will be contiguous on disk because you've pre-allocated it. Now, you can access this via the G-Lib C POSIX F-Allocate call but the problem with the POSIX F-Allocate call is two-fold. Number one, if you happen to be on a file system that doesn't support pre-allocate, it will do it the old-fashioned way and just simply write blocks of zeros, which is very, very slow. And so there are some cases where if F-Allocate doesn't exist, you would rather the call do nothing and the G-Lib C POSIX F-Allocate doesn't do that. The other thing about POSIX F-Allocate is it always changes the eye-size field and so therefore if you look at the file using L-S-L, it will actually show that the file is a gigabyte after you've pre-allocated a gigabyte on disk. If you use the raw Linux system call, you can get a hard failure if the file system doesn't actually support F-Allocate. More importantly, you can let eye-size remain at the original size and now what you've done is you've pre-allocated the space on disk but eye-size still shows that the file is zero-length or whatever the original file is and now you can do tail-f. Tail-f will do the right thing and then as you append to the log file, the file will grow into the pre-allocated space and eye-size will grow along with it. And that can be a very nice feature and what that basically means is we've been pounding on the G-Lib C folks to actually expose the raw Linux system call because it does a lot more than POSIX F-Allocate. So let me talk a little bit about performance charts. There's an old line about lies, darned lies, and benchmarks. And so the first thing I'll tell people before you believe benchmarks is to ask, are the benchmarks fair, are they repeatable, and do they fairly represent the workload that you're actually using because a lot of times people will look at benchmarks and say, this is the file system I want to use, look how great it is. And if you don't ask yourself whether or not that file system is even applicable to the kind of work that you do, remember what I said earlier, many workloads are not even disk bound or file system bound, kind of pointless. One really good effort, you can find it at btrfs.boxcool.net. It's done by a guy named Steven Pratt, who is a member of IBM's performance team. And if people want an example of how to actually do good benchmarking, take a look at his site. He documents the hardware and software configurations that are used, and he tests multiple configurations. And this is why this is important. So this is large file creates using a RAID file system. Red is EXT3, green is EXT4, DEV, this is back in October. He has newer results, but I didn't have time to update these particular charts. Blue is XFS, red or hot pink is JFS, and then the last three are different versions of btrfs. And this is a very early version of btrfs. And you can see with this one that EXT3 in red is kind of low, EXT4 is a whole lot better, almost as good as XFS, but not quite. JFS is a little bit lower. And this one says, ooh, okay, that's pretty good. We're almost as good as XFS. This is with 16 threads. And with 16 threads, now you see that EXT4 is still a whole lot better than EXT3, but it's nowhere near where XFS is with 16 threads. And btrfs is down there. Here's with 128 threads. 128 threads, now XFS is way down there, EXT4 is way up there. So if I'm going to sell EXT4 as the best file system ever, which chart do you think I'm going to use? And this is just simply what large file creates. If we do large file random reads, this is with one thread. That's 16 threads. There's 128 threads. So large file random reads, you can see that in some cases EXT3 is actually better than EXT4. I don't know why. I suspect it has to do with changes in the layout algorithms that we can still fix. So there's still some tuning work we may need to do. Large file random writes, you can see we're way better than EXT3. 16 threads, 128 threads. Here's sequential reads. And the main thing I want to get across here is these bars are fluctuating loudly. This is why benchmarks can be highly misleading. If someone only shows you one chart, they're trying to sell you something. For some reason, the mail server simulation workload, which is a mixed read write workload that tries to simulate a mail server simulation, EXT4 does really well. I can't tell you why, but it just happens to be really well. Except on 128 threads where the machine apparently crashed. And I can't tell you why either. This was also last October. This is now with a single disk. And one of the interesting things with single disk is BTRFS is now way better than a number of the file systems as we go through the various benchmarks. And you can see here that on some of these benchmarks, BTRFS is actually doing very, very well on a single disk. Not doing so well on RAID. Again, this is last October. BTRFS's file format has not been finalized yet. It certainly wasn't finalized as of October and they were still tuning it. So, again, these results are a little bit unfair. You can see here. And then here's the mail server simulation where EXT4 apparently walks all over the competition. But again, workloads matter, right? So I'm not going to tell you that EXT4 is better than all other file systems. On some workloads it does pretty well. We still need to do some tuning work. But it's always useful to know that. Okay, this is actually something kind of interesting because we didn't actually plan for it. But it turned out that a lot of the improvements that we did to improve general RAID write performance also made a huge difference for EXT4. And I think, looking at it, a lot of it has to do with the fact that we're doing much fewer indirect block reads compared to extent reads. And the ununishlized block groups means that you don't have to scan the entire I-Node table if the I-Node table blocks aren't in use. So this is results from my 128-meg file system on the laptop that was stolen back in September. And they were actually identical copies. I'd been using EXT4 in production use for about two or three months at that point. And I just simply made a copy of everything on my file system onto a fresh EXT3 file system. So EXT3 actually had a benefit over EXT4 because it was a fresh copy, you know, it was totally defragged. Whereas EXT4, I'd been using it for two or three months. And you can see that past one of FSCK on EXT4 was 17 seconds. On EXT3 it was 382 seconds. And take a look at the number of megabytes read. We went from over 2,300 megabytes read down to 233. And that's where a lot of speed up comes from. We're just simply needing to read fewer blocks on disk and we're having to do a lot less seeking. And we saved most of the time on past one and past two. Again, there's not that much difference in the directory reads. But the directories, and in fact on this one here, EXT3 took less time to read the directories because the directories were contiguous because we'd done a fresh copy. But there were fewer reads for EXT4 because there were no indirect blocks. So you can see there the net is you go from 424 seconds down to 63 seconds. The general rule of thumb that I found is EXT4, if you use a freshly formatted EXT4 file system, saves you somewhere between six to eight times faster. So take your EXT3 fsck time, divide it by seven, and that's roughly what it will be under EXT4. So if you want to use EXT4, you need e2fsprogs1.41. I really recommend that you go to e2fsprogs1.41.4 because we fixed a whole bunch of EXT4 related bugs. You need at least a 267 kernel or newer. I strongly recommend 2628 and the For Stable branch. That stuff will hit the stable kernels fairly soon. It just hasn't yet. That was one of the things I was going to work on before my laptop got stolen, but that's okay. And there is a 267 For Stable kernel. Again, both of these will be sent off to the stable kernels maintainers soon. And of course you'll need a file system to mount. You can just simply use a completely unconverted EXT3 file system, and the delayed allocation will help you. So you will get somewhat better performance just simply taking a completely unconverted file system from EXT3. You can enable features such as extents, the huge files features, directory end link, directory eye size, sorry, that should be dur index actually, on a particular file system. If you enable uninit bg or dur index, you will have to force an fsek after you actually enable those feature flags. That will get you some of the performance of EXT4, but you will only use extents for the newly created files. The old files on the file system will still use the old indirect blocks. Or you can create a completely fresh EXT4 file system and then do a dump restore, and you'll get the best performance from that. But it's up to you how you want to do things.  One warning is, at the moment, once you start converting to EXT4, we don't have a good way of going back in time and unconverting. So if you want to get involved, there's an EXT4 mailing list. The latest EXT4 patch series. I have a git tree, and I also have a patch directory. At this point, the git tree is probably the most up to date. We do have an EXT4 wiki, which is at ext4.wiki.kernel.org. It still needs a lot of work. If someone would like to jump in, I would love some help.  KernelNewbies.org's EXT4 article is actually better than what we have on the wiki. So if somebody wants to help me improve the EXT4 wiki, I'd really appreciate it. We do have a weekly conference call. If there's someone who's really interested in diving in deep, contact me about that. And we have an IRC channel. And this is the EXT4 development team. And I'm probably missing a couple of people, but these are people who've been working on it for the last couple of years, and they do a lot of hard work. I'm the guy who basically does QA and all the integration work, and then a lot of the user space utilities. So with that, I know I ran a bit over time, so I don't know, maybe I have time for maybe one or two questions, and then I'll be happy to stick around and ask some more questions. Yeah, in the middle there? Thank you. I was interested to know if there are any good solutions for the sinking problem that you mentioned. I'm involved in laptop-mode things, and the default is actually not two minutes, but 10 minutes. And we spend a lot of time getting applications to drop all their F-sync calls, just because any one of those will spin up your disk, and there's no way to get rid of them. I think the short version is F-data-sync seems to be a good compromise for now. We are looking into ways of solving the F-sync problem, but it's in really tricky code. So we know about it. It's one of those things we'd love to fix, and it's on our hit list. So yeah, that's one of those little embarrassing bits that we really want to try to fix. Thank you. Any other? Maybe I'll take one more. In sort of a related question, for databases and also, presumably, for a lot of those other applications doing F-sync, they don't necessarily need the sync to happen immediately. They just have to know that it... They have to know that it hasn't happened yet, so they can avoid sending a commit confirmation or telling some other application. So is there any sort of non-blocking F-sync that... No. Why don't we talk? We're from database people on that one, but we should probably take that one offline. And I know I'm really running over, so maybe I'll be happy to stand in the hallway and take questions for people who are interested, but I don't want to get people late for their next talk. So thank you very much for your attention.


The following is a presentation of TFNN The Trader's Edge with Steve Rhodes Toll-free at 1-877-927-6648 or internationally at<PHONE_NUMBER> The Trader's Edge now Steve Rhodes Good morning folks welcome to the September 21st that terrific Thursday edition of today's Trader's Edge show I'm your host Stevie Perseverance Rhodes who absolutely knows that each of us should always be Pioneers of our future versus prisoners of our past Hope everyone out there is having a great day and let's make sure we have an extraordinary one Now the easiest way to do that is to always remember that life is happening for us not to us That's right. When you and I make that one little two-by-four shift It means we can find the gift in every set of circumstances that life is going to toss at us Now today you and I we're going to go check on the circumstance of these markets We'll go figure out what those bulls and bears what those buyers and sellers are communicating to you and I at just past 11 o'clock in the morning. I want you to know I'm absolutely grateful for your presence here But even more important than that and that's this during this next 53 minutes. I am here to serve you So feel free to pick up that phone dial on in eight seven seven nine two seven six six four eight Now if you've got a question, but you can't call in you can send me an email Send that off to Steve at tfnn.com and inside the subject heading, please put radio show question Of course, if you're inside our Tigers then well then any and every ping will do so let's go ahead and get this Show started on terrific Thursday. Of course, this is Tiger financial news network. I've Steve Rhodes. Welcome to the show Right now we got all US indices all sectors in the S&P 500 pretty much most things trading to the downside Microsoft's up three bucks Netflix up 13 cents in US dollar. That's the little booger up there It's about to 287 pips right now train at 105 07 or they're about so you got the Dow down 161 the S&P of 41 Nasdaq 157 Russell's down 21 goals off 26 silver 22 pennies the downside Natural gas off two cents and the 30 your Treasury's down two points and five ticks trade out at 116 13 lead the charge Dollar wise the upside you got Splunk as a result of a buyout of 25 bucks facts at research $15 humanity's up 12 FedEx is up 11 United Health Group is up 11 to the downside Mercado Libre off 26 bucks Eli Lilly down 21 Broadcom off 21 HubSpot 17 and Adobe's down 15 points Let's begin by taking a look at the equity future contracts out here. What are you going to be watching for today? Well first They've got the yes many upper left-hand side Testing its swing point now. This is a swing point from August 18 that level that key level to be watching is 43 97 75 I think we were one point below that are above that today 43 98 75 yeah one full point above that now a price close below 43 97 75 volume or not That would trigger an A to B equal CD to the downside the one-to-one price projection of 43 10 the end queue It's just trading inside its swing point This is a swing point from August the 18th August 18th, and so the range there is from 14 792 75 to 14 98 2 Price would need to close 14 792 75 to trigger an A to B equal CD to downside Initial price projection 14 384 the Dow equity future contract is trading into its swing point It's swing point that is dealing with is from August the 25th, and that would require a close below 34 399 to trigger an A to B equal CD to downside the Russell 2000 its daily time frame already has an A to B equal CD pattern It's one one price projection 1766 we're trading 1804 right now. That's what's going on in the daily basis I will be unable to host the show tomorrow So let me give you the most important thing for you to be watching and that's going to be the bottom of its weekly profile It being the ES mini and that's really the only thing that you need to focus on tomorrow to understand whether there's going to be a Change in trend as of the close tomorrow We're looking at the future contract here. Why is that? Well, if you take a look at the blue and the red arrows That I've got on my screen first the level is going to be the bottom of that profile 44 26 Well, you know what that's because it's on this chart here Um Give me a moment here. Give me a moment. Give me a moment. Would you give me a moment? Now the level that I want you watching for is 44 24 50 44 24 50 Your price close below that and really actually on this futures contract here It's okay to use this too because it's we're gonna use them both 44 26 82 So those are the two numbers to be watching. Why? Because a price close above it all this was was a test of support if price closed below it It tells us about a change in trend if we take a look at coming off the lows out here from March of 2020 And you take a look at all of the times price got down to the bottom of the weekly profile So that's why I say it's going to be okay to use my synthetic version of this contract as well Each time price got down there that was the buy the dip area But once price cracks when I mean cracks I mean closes below the bottom of a weekly profile that tends to signal a change in trend That doesn't mean there's not bounces. It tells us that the trend has shifted to the downside So watch those areas right now what we've seen coming off the lows out here off this move from October of 2022 We've seen a couple of tests and rejections of those areas bottoms of profiles. So watch that like a hawk again those numbers are going to be 44 26 and 44 25 so we'll just use 44 25 as the number out there to be watching for at tomorrow's close Again, I won't be able to be with you So that's what's going on inside the daily and really some weekly equity future contracts out here now Let's shift over and do a deep dive into the ESP by the way We're market breadth negative for all time frames out there So we've just got that as we go take a look at these ES mini charts now When I say I was really referring to the daily the weekly the 240 in the 60 I'll take a quick peek here on my other screen see where we're at with regard to a 30-minute time frame and a 30-minute time frame We are also very bearish so we're bearish with regard to market breadth across the board as we take a look at the ES mini charts out here So on a weekly basis, we've really already covered for you What to be watching of course it would trigger an a to b equal cd to the downside of price closing below its swing point So that level out there again is going to be 43 97 75. So that's a level that price must close below In order to really trigger the a to b equal cd now if it does that we know we had a one-to-one price projection of around 43 10 But we can see at 41 94 75 is the TD 9 count breakout area Those would be the price target zone that would be the price target zone from a weekly standpoint Peter Peter's looking at the long term in the short term prognostication on the daily time frame We've really already covered that because we've got again that same swing point that was a bullish morning start candle So you close below that again it being 43 97 75 that triggers an a to b equal cd to the downside 30 minute chart What do we have out here? Not much It needs a bullish reversal candle to confirm A arrangement to mitigate her bottom and that's going to need to close about 44 19 to suggest a further rally That further rally would take us to 44 38 50 44 38 50 if price were to get up there That's where the counter trend move should end if price gets above it says this could be more than a counter trend If we take a look at the 60 minute time frame chart is in bar number eight right now bar number eight completes a 12 noon Bar number nine completes at one in the final bar at 2 p.m. It says that between basically 12 noon And uh 2 p.m. You could get a TD 9 count bottom However the 120 minute chart says, I don't know what you guys are talking about It negated his TD 9 count right out of the shoot out there It says it wants lower price at 240 wants lower price the five hour chart wants lower price So looking for signals here peter on an interday basis I'd be watching the 30 minute because that does have the potential for roads meant to mitigate her bottom And then the 60 minute because it's got the potential to form a TD 9 count But not really until about 12 1 2 o'clock today See roads with tfn. We'll be right back. We'll take a look at the xle the iwm amgo and sgb x be right back Adding stock options to your portfolio can be a major game changer But the full complexities of these instruments can oftentimes allude even the most experienced traders Whether you're a seasoned trader looking to sharpen your knowledge on options or you're completely new to the market Teddy kextat is here to help on wednesday september 27th from 4 p.m. To 5 p.m. Eastern time Teddy is hosting a live stream that will teach you how to capitalize on time with calendar stock option spreads Teddy will also go over how to trade stocks and other market movements without large capital allocation How to expand portfolio diversification? How to maximize potential returns? Basic entry and exit techniques and more if that wasn't enough of a reason to attend Teddy will also be answering all questions live If you're serious about making money in this market head over to the front page of tfnn.com today to sign up for Teddy's live stream tfnn educating investors You might think that if you want to be successful at trading in the stock market You're going to need a crystal ball after all it's impossible to predict the future right Like any endeavor in life before you decide it's impossible get some advice from the experts You might find that it's not so impossible after all for daily market overviews that give you direction on the key indices Selective stocks and commodities Subscribe to the opening call newsletter at tfnn.com The opening call newsletter is written by basil Chapman creator of the trading methodology known as the Chapman wave The Chapman wave up down sequence gives you an edge in identifying price turns finding the peaks and valleys in stock prices Get the opening call newsletter by basil Chapman in your inbox every day First time subscribers also get a 30 day money back guarantee If you're not satisfied, let us know and you'll get a full refund within 30 days of signing up tfnn.com educating investors Steve Rhodes started his trading career as a student almost 20 years ago And the student has now become the master Steve won the prestigious timer of the year award in 2018 and barely missed that mark again in 2019 Finishing at number two for the year an amazing accomplishment Steve Rhodes is committed to sharing his techniques and knowledge with anyone who wants to learn And he shares his vast amount of trading knowledge every day in his mastering probability newsletter Steve's award-winning newsletter mastering probability is delivered every trading day with updates throughout the afternoon Sign up for steve's market newsletter Mastering probability and you'll receive access to seven of steve's educational webinars Absolutely free at tfnn all our newsletters come with a 30 day money back guarantee So you have absolutely nothing to worry about visit tfnn.com and try mastering probability 30 days risk-free today tfnn educating investors free at 1<PHONE_NUMBER> internationally at<PHONE_NUMBER> Back folks say before we get to some of those instruments requests out there from hector david and dan and elo I want to come back to the to the general markets here Just so I just just so I give you guys a real clear picture of what what we're looking at Now this chart that you're looking on your screen here The top portion is the es many center portions us dollar index and the bottom portion Is the directional correlation over a 10 day average between the two bars to the downside tell you about an inverse Relationship bars the upside tell you about a direct relationship So over a 10 day average right now we can see it's primarily an inverse relationship why is that important because if the If the s and p 500 the equity markets are going to continue to move lower The us dollar index likely needs to continue to move higher At least that would be the path of least resistance out there. So we've got that out here So now that means let's go take like what's going on the side the major currency pairs when I say major currency pairs It's the three major currency pairs. It's the euro the yen and the pound the three of those combined represent 83 of the total index Now in the case of the euro right now It is tested and it is held It's by the d-point pattern and as long as price remains about 1.063 to that pattern is in effect now Even though it's got to buy the d-point pattern conditions are neutral and they're neutral because that red oscillator and change line at 1.066 Continues to act as resistance. However, if that fails and price closes above that We should see a further rally inside the euro. That would mean we would see the us dollar index move lower So you'll want to keep an eye on 1.0632 and 1.0667 Let's call it. We take a look at the japanese yen the japanese yen right now. It's got a key reversal bar It's also got a bearish engulfing candle Why is that important because there's a road's been dominicator signal It's been triggered and if we get that bearish reversal candle days in This says that the japanese yen should move lower That means it would get stronger and then the us dollar index would get weaker So right now the first two currency pairs are represent 57.6 and 13 6 13.6 of the weighting are saying hey Hold on a second here. We may just getting back to support inside those equity markets and getting ready to turn back around And continue the consolidation Lastly, we'll take a look at the great british pound the great british pound represents about 12 percent Now it isn't wave number seven. That's letter g. There's no other bottom signal Now it does have an a to b equal c d to the downside So bullish reversal candle would confirm a bottom there But what's really key for the pound is price must close above the red oslater and changeline currently printed at 1.2388 So it's got a potential of bottoming signal there But the yen and the euro are the ones to really be keeping an eye on now We don't have to just stop there in the daily time frame We can try to get a feel for what's going on on the interday time period to do that We're going to stick with our 30 minute charts out here and here on a 30 minute basis You can see a nice td9 count bottom inside the euro that formed this morning And now what we've seen here is price has was that yes, uh, was that yesterday? That would might have been yesterday or last night Yeah, 2300 that was uh last night at 11 o'clock So you've got a nice td9 count bottom and what's transpired here is prices tried to break out to break out It needs to close the web breakdown level that's at 1.066 Then we use a 1.066 level on the daily time frame We did that was a red oslater and changeline So we know that that is real key area if that area fails that Signaling something to us It's certainly signaling that we should see the us dollar index move lower Now that would be good or presumably good for equity markets and metals out there If we take a look at the us dollar Japanese yen no bottom in sight here In fact if anything and negated a td9 count bottom It's got an a to b equal cd to the downside It should continue to strengthen meaning go lower that would weaken the us dollar index And finally when we take a look at the great british pound it too like the euro formed a td9 count bottom It did that i believe that was also That wasn't at 11 that was at 730 this morning So you've got a td9 count bottom there But price is going to deal with the real key area to be watching on the pound If it's going to make any kind of really real rally up to the 1.23 level Well, it turns out at 1.23 we've also got a td9 count breakdown level So it's very easy with regard to understanding what the year the message for the euro or the yen is They're likely going to go target those resistance levels Can they take them out if they take them out on a short term basis 30 minutes It's giving a signal to you and I that we may see more of a rally In those currencies and we may see us dollar weakness So I suddenly wanted to cover that that's a portion of really what peter was asking About with regard to taking a look at the e s meaning out there All right, so now let's go move on and let's get over to some of our requests out here The first one coming in from hector and patty And uh, they're having a wonderful day out in california and the question was about the xle Specifically, so let me change panels here. Actually, I'm not going to change. No, I've got to change panels no matter what Let me let me do this here Let me cover the white background charts We're going to shift to the black background charts in a moment out there because we're talking about our a to b Equal cd patterns and so on so I want to be able to To take a look at that. Where did I put that stuff though? Um That's not where Wow, well stevie. Okay. I actually don't even need to so with regard at least with regard to the xle So with regard to the xle what we have here is a rose meant to mean We've got a rose meant to mitigate or top a wave seven top out there But more importantly, we've got price below profile now Well, we don't have out here at this moment in time hector and patty is any kind of a to b equal cd to the downside If I read your email correctly Then I think that's what you were asking about So instead what we have here is we've got a top in place with price below Profile support what that brings into play is its breakout level. That's at 87 54 So odds favorite That's where the xle is headed to on a weekly basis. We covered this yesterday a td nine count top Price is now inside of its profile Don't know where it will close tomorrow But if it does close inside his profile tells us that price should go target 88 63 That's its oscillator and changeline the top of that profile is 90 bucks even steven If we take the monthly time frame chart, we've got a td nine count that is still in effect out here We've seen Three times price trying to break through this 93 31 level has not been able to do that Maybe price is going to pull back to 88 11 So overall the areas I'd be watching are 88 11 88 63 and if those areas fail odds favor We're getting down to 87 54 So no a to b equal cd pattern hector and patty when it comes to the xle at least to the downside And I hope that that answered your question. I know that you had a question about the i wm Which we sort of covered but let me switch over to the black background charts for that Actually, let me switch. Let me stay here for just a moment Let's take a quick peek see if there's any patterns out here that we need to be aware of when it comes to the i wm And on daily basis the answer is no bar number five on a weekly basis No, nothing for us to pay attention on a monthly basis a consolidation and price may be targeted It's both structured support level hector and that's between 170 64 and 173 82 But you are specifically asking about the a to b equal cd patterns out here So we'll switch over to those black background charts and here we'll see the a to b the daily a to b equal cd for the i wm Price closed below 181 94 yesterday the day before It has done it with lighter volume. Does it matter? You're now down below that swing point of 181 94 It's price target or initial price target is 175 05 the retracement along that b to c leg was very close to 0.618. It was 59.01 So odd's favor that maybe this just does a one to one a to b equal cd If you get a bullish reversal candle that would generate a gartly buy pattern So 175 05 is the price target area for the i wm. So hector and patty Congratulations and helping your daughter do what she's doing out there. Enjoy your time And uh, hopefully that covers your a to b equal cd patterns We get back from this break where take a look at avgo for david He wants to know if the gap from may 25th will get filled Sgb extra dan and then for elo. We're going to go take a look at elie lily Steve roach with tfnn would love to hear from you<PHONE_NUMBER> or steve at tfnn.com the gold report As a precious metal gold is still king It continues to hold the most effective safe haven and hedging properties across the global major trading hubs of the london otc market The us futures market and the shanghai gold exchange the gold report tom obrien publishes his weekly gold report every monday morning for subscribers Consisting of coverage of the xau hui gdx the dollar bonds the south african rand As well as 25 different mining equities with specific buy sell recommendations The gold report New subscribers get a 30 day money back guarantee. So you have nothing to risk subscribe to tom obrien's gold report newsletter now at tfnn.com Sharpening your skills as an investor is like getting better at playing a musical instrument You have to practice sure, but you also need excellent instruction from experts at tfnn You'll get advice and guidance from the authority and technical market analysis And it's not just dry tedious text either tfnn airs live financial content streamed live on tfnn.com and tfnn's youtube channel with tiger tv Live every market day from 8 30 a.m. To 4 p.m. Eastern for free Each host is an experienced trader and gives their take on the market while taking calls and questions live from around the world From the moment the market opens until the closing bell sounds tiger tv has eight different shows with expert hosts To help you make the right moves with your money Watch online at tfnn.com or on tfnn's youtube channel and become the investor You were born to be tfnn educating investors Adding stock options to your portfolio can be a major game changer But the full complexities of these instruments can oftentimes allude even the most experienced traders Whether you're a seasoned trader looking to sharpen your knowledge on options or you're completely new to the market Teddy Kextat is here to help on wednesday september 27th from 4 p.m. To 5 p.m. Eastern time Teddy is hosting a live stream that will teach you how to capitalize on time with calendar stock option spreads Teddy will also go over how to trade stocks and other market movements without large capital allocation How to expand portfolio diversification how to maximize potential returns Basic entry and exit techniques and more if that wasn't enough of a reason to attend Teddy will also be answering all questions live If you're serious about making money in this market head over to the front page of tfnn.com today to sign up for teddy's live stream tfnn educating investors Don't forget you can listen to tfnn live on your mobile device 24 hours per day Go to tfnn.com and hit watch tiger tv dance tfnn.com then hit watch tiger tv Folks we got the 30 year treasury down almost two and a half points. It's trading out a 160 and 05 We're gonna discuss this with john mr. Z inside the tigers den. Hey john. Thanks for calling. Thanks for holding. How are you today? Steve i'm doing very well and thank you for taking the call and my pleasure again on your Friday Even though i'll be back on monday. I will i'll be back on monday. Just again get house to show tomorrow Got to go to a wedding. So what nice to have so with the bond futures Uh Declined acceleration mode Yeah making new lows for the past couple years Please kindly pull up your weekly or your monthly charts And with your projection tools just share with us what you know what the um, what the calculations Show as lower levels in which abcd's are met and all that sort of jazz. I just like to see that Uh, and this will be of no consequence to any of us on trade decision making right this minutes But just kind of looking ahead having that information. I'd be uh, I'd be grateful And I will uh listen off air. Thank you. Okay sounds that sounds great john Thanks for calling and happy to help you out here So the bare first thing that uh, we're gonna take a look at on a weekly time frame Now I have the continuous contract up on my screen folks And that's because I need to be able to access Enough data to be able to provide john with any kind of a to b equal cd patents and so forth out here But before I do that What I want to do is I want to come back and I want to take a look at since the high on a weekly basis that formed out Let me get my cursor. This is the high that formed the weekend in april 7th Since that time period if you use part of the Chapman wave out here What you'll see is we are in wave number seven now this week And so that needs a higher low what john knows Um, courtesy of saratoga bob used to be a inside the den out there who always traded those seventh wave moves john You are now in wave number seven out there. So you may have known that maybe you didn't but you certainly know it now We's a td nine count pattern. It's also in play out here right now That td nine count would get negated with the close below that low and that low out there is at 117 18 out there So if tomorrow we get a close below that that pattern gets negated, but we still have a wave number seven Now the question is always do wave number sevens have an impact inside of the 30 year treasury Turns out the last bottom that formed out here. That was in october october 28 to be exact That was a wave number seven pattern now that could not have been confirmed until the following week Because the lower low just continues that pattern out there. So on a weekly base That's the first thing that sticks out to stevo with regard to a to b equal cd patterns I've drawn in the a to b for at least the first patterns out there. We move that over to the C point out there We'll see we had that first a to b equal cd pattern that was also confirmed back here on november the 18th So you had a td nine count that was confirmed on a weekly basis back on october 21st Then the following week was wave number seven Well, that was really confirmed on november fourth and then you had a bullish a golf a bull sash candle to confirm the buy The d-point pattern said all kinds of patterns out there now The question is how do you draw in the a to b equal cd to the downside here for a price projection? I would use more of a conservative approach here that conservative approach We here we had the uh and that conservative approach would really start but you can do however you want to I'm just using a conservative method for that a to b equal cd pattern I'd start with the high from august the fifth out there So we're just simply going to draw the line from that high Down to the low that wave seven low and i'm just simply going to move this over To then the high that took place after that lowest low back on october 28th Well, the one to one price target there john is going to get us into the 107 ish area out there Hope i'm yeah, i'm showing that on my screen So that's where the a to b equal cd patterns come in whether we look at a daily or a weekly or a monthly time frame Knowledge is simply take a look at the daily time frame and on a daily basis one of any kind of a bottom signal out here We are in bar number five right now bar number six right now We're price moving lower to a less relative energy price looks like it's going to take out its td nine count bottom from august 22nd So this needs a bullish reversal candidate to confirm its next bottom Odds favor it continues to move lower to sideways would have him maybe it forms a td nine count pattern But that would not be until sometime next week out there So that's what i see when i take a look at the 30 year You've got a potential bottom on the weekly daily looks like it's going to continue to move lower out here I don't see on the intraday basis. What else do i have i have only Two things to share with you watch the 30 minute time frame chart It will go ahead or it should go ahead and complete Now i don't know if it will or not It price closes below so let's make sure i give you the accurate data It price closed below 1609 as we come into 12 noon You will then have a td nine count bottom with the pattern completing at 12 30 That should then take price up to its oscillator and change so we can see that's active as resistance And if you can get above there then you're looking to move to about the 116 Um about the 117 level is where I would call it on a 60 minute time frame You're going to form bar number eight or should form bar number eight as we come into 12 noon close This says you could get a bottom between 12 noon and 2 p.m On a 120 minute time frame chart you already have a td nine count bottom now the current candle that we're in here closes at 12 noon So if price closes below 1608 that pattern gets negated suggests lower price out there So again intraday all we can do is really just kind of watch these signals I focus mostly I guess on the uh the 30 minute time frame chart To try to understand any type of counter trend moves if you're our short bonds out there That's about as best as I can come up with so john I hope that that Provided you with the information you were looking for And I'm just gonna assume that that is yes, but if not, let me know and I'll be happy to get back to it So that's a 30 year treasury. Let's now go on to uh request coming in from a david in panama city And david wanted to take a look at ab go out here ab go broad come His question is and let me get back to it actually on this set of charts here. Let me go avg o avg Oh And uh, we're going to Let me close down these uh Currency charts are hogging up some of my resources. That's for sure So give me a moment to do just that and then now we're going to get to ab go Give me a moment. We're going to switch charts here as well Switch screens. I should say so we'll get to the black background screen out here The question was very specific and that very specific question was and I was on the daily time frame And uh david is short and his question is will price get back to this gap that formed back on may 25th May 26 out there and the price point level he's looking at would be between 732 39 and let me give you the uh the entire gap And I know his question was really will fill that entire gap and that would be a 732 39 but it is a sign of strength as well. So 747 42 is another area Here's what I can really share with you and that is this You have a a to b equal seed to the downside that formed yesterday That formed with lighter volume yesterday's volume was 1.3 million shares the b point at 2.7 million shares Now today, you're at 2.3. You're going to have volume today But what you've done is or what this has done is achieved the one to one price target area Oh, you were not seeing it now. You're seeing it here This is the daily time frame chart for ab go as you can see the one to one a to b equal seeding with a price projection of 793 52 price so far the low 790 509 Watch for a bullish reversal candle if you do not get one that's signaling to you and I that price should make its way down Towards that gap what we need to do is take a look at my other charts Just see if there's any other signals here that you need to be aware of when it comes to broad come So now let's go switch over to those white background charts See if there's anything there and there's not you're in bar number three on a daily basis of a teeny nine count Your below profile on the weekly basis 780 106 is a likely price target. That is the monthly oscillator and change line Steve roge with tfnn will be right You might think that if you want to be successful at trading in the stock market You're going to need a crystal ball after all it's impossible to predict the future, right? Like any endeavor in life before you decide it's impossible get some advice from the experts You might find that it's not so impossible after all for daily market overviews that give you direction on the key Indices selective stocks and commodities subscribe to the opening call newsletter at tfnn.com The opening call newsletter is written by basal chapman creator of the trading methodology known as the chapman wave The chapman wave up down sequence gives you an edge in identifying price turns finding the peaks and valleys and stock prices Get the opening call newsletter by basal chapman in your inbox every day First time subscribers also get a 30 day money back guarantee if you're not satisfied Let us know and you'll get a full refund within 30 days of signing up tfnn.com educating investors Everything in the universe is governed by the fibonacci sequence This mathematical principle is responsible for everything from the most aesthetically pleasing artwork to patterns in the stock market To stay on top of stock patterns You can take advantage of sign up for the fibonacci 24 7 newsletter at tfnn.com When you subscribe you'll get a weekly report from veteran day trader larry pesavento on stocks You need to pay attention to and you can trust larry's analysis after all He's got 45 years experience as a day trader larry will also provide daily charts videos and data on the key markets that he's tracking Expect notifications from larry on market movement You need to act on at any time first time subscribers also get a 30 day money back guarantee If you're not satisfied let us know and you'll get a full refund within 30 days of signing up Subscribe to the fibonacci 24 7 newsletter today tfnn.com educating investors Are china a shares hot or not? If you trade china a shares now may be time to take a closer look trade Or chad directions daily csi 300 china a share bull and bear etfs china a shares in either direction Visit direction investments.com today an investor should consider the investment objectives risks charges and expenses of the direction shares carefully before investing The prospectus and summary prospectus contain this and other information about direction shares To obtain a prospectus or summary prospectus. Please contact direction shares at<PHONE_NUMBER> The prospectus or summary prospectus should be read carefully before investing an investment in the funds is subject to risk Including the possible loss of principal the fund are designed to be utilized only by sophisticated investors such as traders and active investors distributor four side fund services LLC This program is brought to you by vista gold traded on the nyse american and tsx under the symbol vgz One last thing on ab go here this for david and david What i have up on my screen right now are the consecutive days higher and closer Higher higher or lower out there higher and closer All right higher and lower you can see we're in bar number five today of consecutive moves to the downside Now this chart takes us back one full year The largest number of consecutive moves lower out here have been seven days that took us into loads of june 26 And they saw a nice little rally out there So you are in a date bar number five that says that you know tomorrow or monday Should be some type of bottom where there's some type of rally and that's going to impact your Options positions out there. That's about the best that i can do for you um with regard to trying to prognosticate Where uh prices going with regard to ab go by next week out there So i hope that that helps you out And best of luck to you whatever decision is that you make let's get on to our next instrument This is from dan inside the tiger's den. He wants to take a look at s g b x s g b x It's trading at about let me find out exactly what it's trading at That's trading right now on my other screen at about 94 and this is safe and green holdings out here now safe and green holdings Having a stellar day out there. You've got a big volume behind it 5.2 million shares today. You know how many volumes out so many shares traded yesterday 38 000 That's what we call a sign of strength now that sign of strength has taken us up above the top of its daily profile 165 So this looks pretty good now. It's triggered arrogement to indicator signal that requires a bearish reversal candle to confirm A cell that a uh arrogement to indicator top There's also an a to b equal cd pattern that is in play out here The one to one is going to take us up towards give me a second here. We'll move this over To the c point That would be right there We are above now the one to one a to b equal cd So just simply be on a lookout for any kind of bearish reversal candle short of that price should continue to move higher out there a cgl wow Okay, we'll definitely take a look at that but uh as we take a look at uh So just watch for a bearish reversal candle that would be bad news on a weekly basis Price right now is trying to take out its td9 count breakdown resistance This is telling us first at a nice td9 count bottom back in march Of this year now you're if it can close the month of the week tomorrow above 169 Tells you you really have a change in trend now I'd say it's given us that signal anyways because it's td9 count top was taken out a couple of weeks ago But closing them up 169 would uh really be a positive again You still have the a to b equal cd pattern out there So you got to watch for that daily bearish reversal candle and the monthly chart There's no information there to worry about on a 30 minute basis with regard to sgbx out here I don't see any kind of a top as we speak right now. Uh, you're in bar number seven. That is for while I take that back And no, I don't take that back I don't really see any kind of a top just yet But you are going to get to wave number seven candle a to b equal cd here Watch for bearish reversal candle on the intraday charts just to look for some type of short term pull back out there So dano I hope that provided you with the information you were looking for if not Let me know and we'll be happy to get back to it out last thing out here You are in bar number three of consecutive days higher This has had seven consecutive the most recent one was a seven consecutive bar move That led to a high on september the eighth out there. So nice sign of strength in this and uh, best of luck to you in that trade Uh, elo inside the tigers that wanted to take a look at elai loli elai loli Struggling today lly is a ticker symbol out there It is down and where's it going to go target? Well should target 543 at 543 in your 544 58 right now At 543 that's the td 9 count breakout level if price in fact closes below that that's going to suggest We have a change in trend now. We had a wave number seven. We had a td 9 count top out here So, um, you've got the tops now 543 fails. Where is price headed to excellent question? Hmm We're going to have to go with the next level that I see out here is 464 86 So watch 543 that's going to be more important now on a short term basis And when I say short term, I'm referring to 30 minute charts out here This has triggered arrogement to indicator signal that requires a bullish reversal candle to confirm a bottom We can also see that we are in bar number 8 of a td 9 count So this could form. Let me just make sure we made a lower lower looks visually looks like we did Let me just make sure that low 545 67 545 yeah So you have formed bar or you're forming bar number 8 right now. It completes in 13 minutes You could get a td 9 count bottom between 12 noon and And 1 p.m. And that would then suggest that Eli Lilly should bounce up into the 557 22 type area out there. So that's what I see when I take a look at the charts for Eli Lilly Nicholas writes in and Nicholas is in these trading one of those volatile instruments. That's the uv x y He's made some good money here and his question is should he sell Buy or hold basically and that's a tough thing when it comes to the uv x y the uv x y I think at one time. Let me check on my black background charts Um here. I think I had a I've got a uvx trading plan That is on a two or three minute basis and it uses taz market profile. So let me see if I can Find that That's very weird. Everything is really out of order. What the heck. All right. So that must have been sorted by date um Please bear with me and give me a moment to to find that so I don't have to rebuild it Uv x y trading page. Okay. I do have one. So let's switch over Here's the only way that I've been able to identify how to possibly trade this little bugger out here And that is where you get to the black background screens. Yeah, it was a three minute time frame now You know, you'd want to you want to have access to the profile levels out here But it's just simply something as simple as making sure that price does not break through support And here if we take a look at it, we've got price that broke through support at 11 45 again We're looking at a three minute chart out there. So that's the first signal of potential waning momentum to the upside It's not the best of systems, but it's a pretty darn good system when it comes to trading these volatile Positions these fall, you know uv x y which is one of those if I put it on a five minute time frame out here You'll see right now that price is back at support and that's the bottom of its profile So let's go with that as your signal out there And that says if you see a close on uv x y below 1503 Certainly two consecutive closes odds favor that this is going to continue to move lower out there So that's about the best that I could do. There's no reason really for us to look at those charts out there On a daily basis or anything You've got to find some type of intraday time period out here to assist you with that trade So the other thing, you know that you can do is you're also paying attention What's going on inside the s and p 500 the e s mini we've talked about our equity futures are testing that key swing point level 43 97 75 if that area holds that would also have me exit that position and take those nice profits that you have Your price closed below it. Well, then that would be suggesting We could see lower price inside the s and p 500 the e s mini and then maybe you want to only take a portion of that trade Off and hold on to it. You've also got the nq testing a key level Let's see yes, maybe that's going to have more of an impact But if the nq holds 14 982 Then that's a signal that we could see a bounce to the upside out there and presumably that would send uv x y to the downside So those are the types of things Nicholas and I would be looking at to assist you with that trade So right now we got the dow down 139 the s p l 42 nasdaq down 172 the russles down 19 points Some eyes off 29 us dollar index still up 267 ticks lights recruit up 28 pennies And we will be back in just a few moments Adding stock options to your portfolio can be a major game changer But the full complexities of these instruments can oftentimes allude even the most experienced traders Whether you're a season trader looking to sharpen your knowledge on options or you're completely new to the market Teddy Kextat is here to help on wednesday september 27th from 4 p.m. To 5 p.m. Eastern time Teddy is hosting a live stream that will teach you how to capitalize on time with calendar stock options spreads Teddy will also go over how to trade stocks and other market movements without large capital allocation How to expand portfolio diversification how to maximize potential returns Basic entry and exit techniques and more if that wasn't enough of a reason to attend Teddy will also be answering all questions live If you're serious about making money in this market head over to the front page of tfnn.com today to sign up for teddy's live stream tfnn educating investors You might think that if you want to be successful at trading in the stock market You're going to need a crystal ball. After all it's impossible to predict the future, right? Like any endeavor in life before you decide it's impossible get some advice from the experts You might find that it's not so impossible after all for daily market overviews that give you direction on the key indices Selective stocks and commodities Subscribe to the opening call newsletter at tfnn.com The opening call newsletter is written by basil Chapman creator of the trading methodology known as the Chapman wave The Chapman wave up down sequence gives you an edge in identifying price turns Finding the peaks and valleys in stock prices get the opening call newsletter by basil Chapman and your inbox every day First time subscribers also get a 30 day money back guarantee If you're not satisfied, let us know and you'll get a full refund within 30 days of signing up tfnn.com educating investors Everything in the universe is governed by the Fibonacci sequence This mathematical principle is responsible for everything from the most aesthetically pleasing artwork to patterns in the stock market To stay on top of stock patterns You can take advantage of sign up for the Fibonacci 24 7 newsletter at tfnn.com When you subscribe you'll get a weekly report from veteran day trader Larry Pezzavento on stocks You need to pay attention to and you can trust Larry's analysis After all, he's got 45 years experience as a day trader Larry will also provide daily charts videos and data on the key markets that he's tracking Expect notifications from Larry on market movement You need to act on at any time first time subscribers also get a 30 day money back guarantee If you're not satisfied, let us know and you'll get a full refund within 30 days of signing up Subscribe to the Fibonacci 24 7 newsletter today tfnn.com educating investors Tfnn has launched the Tiger's Den hosted at discord Tfnn has been educating traders for more than 20 years with live programming hosted by a variety of professional traders during market hours The Tiger's Den available to all tigers and tygruses for just one dollar for the year There's no catch or added costs when you join our community of traders Sign up today and become a part of this educational community of traders. Just visit the front page of tfnn.com Look at our last request out here. This is from Joe who wants to take a look at gdx's specific question is Has this bottom now? You'll see that yesterday was bar number eight of a td9 count This would only form a td9 count if price were to close today above Uh 29 72 So we're not going to have a td9 count top out here likely and what price has done It has pulled back and has tested a key level of support that key level support is that red oscillator and change line That is currently printed out Joe right now at 28 89 This can be the sign of a bottom But of course all going to depend upon what that us dollar index is doing We took a look at that in the beginning of the show if you didn't catch that go back and watch the replay of this So it isn't a potential bottom now price closes below that level We're going to see the gdx make a run for 27 53 out there So I hope that that helps you out so to finish off the last minute here Let's just go into one of my japan stories out there. So one of my favorite sake's. It's called kakunko It's made by the oldest. I didn't know this at the time. It's made by the oldest sake distillery in japan It's been around for over a thousand years 1140 I believe was the first year produced sake. So that's my favorite sake Um, I've not been able to get this into us But I was able to get my hotel concierge to get in touch with the president company They sent four bottles to my hotel We drank three of them. We were over there to sell my celebrate my birthday. We went to this place called sushi iwa sushi iwa He turns out that it is one of steve jobs when he was alive his favorite place to go to in kiyoto The owner of the shop came over to tell me that I didn't know that at the time and I said his name is toshia I said toshia. Let me show you my contact list. I went to my contact list I pulled up steve jobs direct phone number obviously when he was alive I had done business with steve over about the last three or four decades out here So it was pretty cool That is where I ended up going to celebrate my birthday and what I did on my birthday and he knew it was my birthday I brought him a bottle of kakuko as a nice gift. What did he have for me? He had a bottle of kakuko that he gave to me as a gift. He and I are brothers. That's toshi I folks have a terrific thursday. I'll see you on monday. Have a great weekend. Take care