Re: IO errors after "block: remove bio_get_nr_vecs()"

2015-12-22 Thread Jens Axboe
On 12/21/2015 10:26 PM, Junichi Nomura wrote: On 12/22/15 12:59, Kent Overstreet wrote: reproduced it with 32 bit pae: 1. Exclude memory above 4G line with boot param "max_addr=4G". doesn't work - max_addr=1G doesn't work either 2. Disable highmem with "highmem=0". works! 3. Try

Re: IO errors after "block: remove bio_get_nr_vecs()"

2015-12-22 Thread Jens Axboe
On 12/21/2015 10:26 PM, Junichi Nomura wrote: On 12/22/15 12:59, Kent Overstreet wrote: reproduced it with 32 bit pae: 1. Exclude memory above 4G line with boot param "max_addr=4G". doesn't work - max_addr=1G doesn't work either 2. Disable highmem with "highmem=0". works! 3. Try

Re: IO errors after "block: remove bio_get_nr_vecs()"

2015-12-21 Thread Kent Overstreet
On Tue, Dec 22, 2015 at 10:59:09AM +0500, Artem S. Tashkinov wrote: > On 2015-12-22 10:55, Kent Overstreet wrote: > >On Tue, Dec 22, 2015 at 10:52:37AM +0500, Artem S. Tashkinov wrote: > >>On 2015-12-22 10:38, Kent Overstreet wrote: > >>>On Tue, Dec 22, 2015 at 05:26:12AM +, Junichi Nomura

Re: IO errors after "block: remove bio_get_nr_vecs()"

2015-12-21 Thread Artem S. Tashkinov
On 2015-12-22 10:55, Kent Overstreet wrote: On Tue, Dec 22, 2015 at 10:52:37AM +0500, Artem S. Tashkinov wrote: On 2015-12-22 10:38, Kent Overstreet wrote: >On Tue, Dec 22, 2015 at 05:26:12AM +, Junichi Nomura wrote: >>On 12/22/15 12:59, Kent Overstreet wrote: >>> reproduced it with 32 bit

Re: IO errors after "block: remove bio_get_nr_vecs()"

2015-12-21 Thread Kent Overstreet
On Tue, Dec 22, 2015 at 10:52:37AM +0500, Artem S. Tashkinov wrote: > On 2015-12-22 10:38, Kent Overstreet wrote: > >On Tue, Dec 22, 2015 at 05:26:12AM +, Junichi Nomura wrote: > >>On 12/22/15 12:59, Kent Overstreet wrote: > >>> reproduced it with 32 bit pae: > >>> > 1. Exclude memory

Re: IO errors after "block: remove bio_get_nr_vecs()"

2015-12-21 Thread Artem S. Tashkinov
On 2015-12-22 10:38, Kent Overstreet wrote: On Tue, Dec 22, 2015 at 05:26:12AM +, Junichi Nomura wrote: On 12/22/15 12:59, Kent Overstreet wrote: > reproduced it with 32 bit pae: > >> 1. Exclude memory above 4G line with boot param "max_addr=4G". > > doesn't work - max_addr=1G doesn't work

Re: IO errors after "block: remove bio_get_nr_vecs()"

2015-12-21 Thread Kent Overstreet
On Tue, Dec 22, 2015 at 05:26:12AM +, Junichi Nomura wrote: > On 12/22/15 12:59, Kent Overstreet wrote: > > reproduced it with 32 bit pae: > > > >> 1. Exclude memory above 4G line with boot param "max_addr=4G". > > > > doesn't work - max_addr=1G doesn't work either > > > >> 2. Disable

Re: IO errors after "block: remove bio_get_nr_vecs()"

2015-12-21 Thread Kent Overstreet
On Tue, Dec 22, 2015 at 05:26:12AM +, Junichi Nomura wrote: > On 12/22/15 12:59, Kent Overstreet wrote: > > reproduced it with 32 bit pae: > > > >> 1. Exclude memory above 4G line with boot param "max_addr=4G". > > > > doesn't work - max_addr=1G doesn't work either > > > >> 2. Disable

Re: IO errors after "block: remove bio_get_nr_vecs()"

2015-12-21 Thread Junichi Nomura
On 12/22/15 12:59, Kent Overstreet wrote: > reproduced it with 32 bit pae: > >> 1. Exclude memory above 4G line with boot param "max_addr=4G". > > doesn't work - max_addr=1G doesn't work either > >> 2. Disable highmem with "highmem=0". > > works! > >> 3. Try booting 64bit kernel. > > works

Re: IO errors after "block: remove bio_get_nr_vecs()"

2015-12-21 Thread Artem S. Tashkinov
On 2015-12-22 01:07, Tejun Heo wrote: Hello, Artem. Can you please apply the following patch on top and see whether anything changes? If it does make the issue go away, can you please revert the ".can_queue" part and test again? Thanks. --- drivers/ata/ahci.h|2 +-

Re: IO errors after "block: remove bio_get_nr_vecs()"

2015-12-21 Thread Artem S. Tashkinov
On 2015-12-22 01:07, Tejun Heo wrote: Hello, Artem. Can you please apply the following patch on top and see whether anything changes? If it does make the issue go away, can you please revert the ".can_queue" part and test again? Thanks. --- drivers/ata/ahci.h|2 +-

Re: IO errors after "block: remove bio_get_nr_vecs()"

2015-12-21 Thread Kent Overstreet
So what I _really_ want to know is - how the fuck is the actual ATA command itself malformed? You told me at one point that the error code indicated the controller was claiming it overran the end of the sglist - well, if that's the case we ought to be able to prove it with an assertion (I already

Re: IO errors after "block: remove bio_get_nr_vecs()"

2015-12-21 Thread Artem S. Tashkinov
On 2015-12-21 10:23, Linus Torvalds wrote: On Sun, Dec 20, 2015 at 8:47 PM, Linus Torvalds wrote: That said, we obviously need to figure out this current problem regardless first.. ... although maybe it *would* be interesting to hear what happens if you just compile a 64-bit kernel instead?

Re: IO errors after "block: remove bio_get_nr_vecs()"

2015-12-21 Thread Kent Overstreet
On Mon, Dec 21, 2015 at 04:08:11PM -0500, Tejun Heo wrote: reproduced it with 32 bit pae: > 1. Exclude memory above 4G line with boot param "max_addr=4G". doesn't work - max_addr=1G doesn't work either > 2. Disable highmem with "highmem=0". works! > 3. Try booting 64bit kernel. works Ok,

Re: IO errors after "block: remove bio_get_nr_vecs()"

2015-12-21 Thread Kent Overstreet
I just reproduced it - Artem, I'll let you know when we have a possible fix but hopefully there won't be any need for you to beat up your hardware any more :) On Mon, Dec 21, 2015 at 04:08:11PM -0500, Tejun Heo wrote: > Hello, again. > > On Mon, Dec 21, 2015 at 03:07:21PM -0500, Tejun Heo wrote:

Re: IO errors after "block: remove bio_get_nr_vecs()"

2015-12-21 Thread Ming Lei
On Tue, Dec 22, 2015 at 3:35 AM, Tejun Heo wrote: > >> [ 74.367632] XXX cmd=ee9e0260 cmd_tbl=ee9ed600 ahci_sg=ee9ed680 >> [ 74.367634] XXX opts=140005 st=0 addr=2e9ed600 addr_hi=0 rsvd=0:0:0:0 >> [ 74.367637] XXX fis=00608027:40218900:0704:0898 >>

Re: IO errors after "block: remove bio_get_nr_vecs()"

2015-12-21 Thread Tejun Heo
Hello, again. On Mon, Dec 21, 2015 at 03:07:21PM -0500, Tejun Heo wrote: > Hello, Artem. > > Can you please apply the following patch on top and see whether > anything changes? If it does make the issue go away, can you please > revert the ".can_queue" part and test again? If the patch doesn't

Re: IO errors after "block: remove bio_get_nr_vecs()"

2015-12-21 Thread Tejun Heo
Hello, Artem. Can you please apply the following patch on top and see whether anything changes? If it does make the issue go away, can you please revert the ".can_queue" part and test again? Thanks. --- drivers/ata/ahci.h|2 +- drivers/ata/libahci.c |2 +- 2 files changed, 2

Re: IO errors after "block: remove bio_get_nr_vecs()"

2015-12-21 Thread Tejun Heo
Hello, Artem. On Mon, Dec 21, 2015 at 12:25:06PM +0500, Artem S. Tashkinov wrote: > I've applied this patch on top of vanilla 4.3.3 kernel (without Linus'es > revert). Hopefully it's how you intended it to be. > > Here's the result (I skipped the beginning of dmesg - it's the same as > always -

Re: IO errors after "block: remove bio_get_nr_vecs()"

2015-12-21 Thread Dan Aloni
On Sun, Dec 20, 2015 at 10:41:44AM -0800, Linus Torvalds wrote: >[..] > Sadly, without CONFIG_LOCALVERSION_AUTO, there's no way to match up > the dmesg files (in the same bisection tar-file as the bisection log) > with the actual versions. Perhaps we can print the Git revision in a manner

Re: IO errors after "block: remove bio_get_nr_vecs()"

2015-12-21 Thread Tejun Heo
Hello, Artem. On Mon, Dec 21, 2015 at 12:25:06PM +0500, Artem S. Tashkinov wrote: > I've applied this patch on top of vanilla 4.3.3 kernel (without Linus'es > revert). Hopefully it's how you intended it to be. > > Here's the result (I skipped the beginning of dmesg - it's the same as > always -

Re: IO errors after "block: remove bio_get_nr_vecs()"

2015-12-21 Thread Tejun Heo
Hello, again. On Mon, Dec 21, 2015 at 03:07:21PM -0500, Tejun Heo wrote: > Hello, Artem. > > Can you please apply the following patch on top and see whether > anything changes? If it does make the issue go away, can you please > revert the ".can_queue" part and test again? If the patch doesn't

Re: IO errors after "block: remove bio_get_nr_vecs()"

2015-12-21 Thread Tejun Heo
Hello, Artem. Can you please apply the following patch on top and see whether anything changes? If it does make the issue go away, can you please revert the ".can_queue" part and test again? Thanks. --- drivers/ata/ahci.h|2 +- drivers/ata/libahci.c |2 +- 2 files changed, 2

Re: IO errors after "block: remove bio_get_nr_vecs()"

2015-12-21 Thread Ming Lei
On Tue, Dec 22, 2015 at 3:35 AM, Tejun Heo wrote: > >> [ 74.367632] XXX cmd=ee9e0260 cmd_tbl=ee9ed600 ahci_sg=ee9ed680 >> [ 74.367634] XXX opts=140005 st=0 addr=2e9ed600 addr_hi=0 rsvd=0:0:0:0 >> [ 74.367637] XXX fis=00608027:40218900:0704:0898 >>

Re: IO errors after "block: remove bio_get_nr_vecs()"

2015-12-21 Thread Kent Overstreet
I just reproduced it - Artem, I'll let you know when we have a possible fix but hopefully there won't be any need for you to beat up your hardware any more :) On Mon, Dec 21, 2015 at 04:08:11PM -0500, Tejun Heo wrote: > Hello, again. > > On Mon, Dec 21, 2015 at 03:07:21PM -0500, Tejun Heo wrote:

Re: IO errors after "block: remove bio_get_nr_vecs()"

2015-12-21 Thread Kent Overstreet
On Mon, Dec 21, 2015 at 04:08:11PM -0500, Tejun Heo wrote: reproduced it with 32 bit pae: > 1. Exclude memory above 4G line with boot param "max_addr=4G". doesn't work - max_addr=1G doesn't work either > 2. Disable highmem with "highmem=0". works! > 3. Try booting 64bit kernel. works Ok,

Re: IO errors after "block: remove bio_get_nr_vecs()"

2015-12-21 Thread Kent Overstreet
So what I _really_ want to know is - how the fuck is the actual ATA command itself malformed? You told me at one point that the error code indicated the controller was claiming it overran the end of the sglist - well, if that's the case we ought to be able to prove it with an assertion (I already

Re: IO errors after "block: remove bio_get_nr_vecs()"

2015-12-21 Thread Artem S. Tashkinov
On 2015-12-22 01:07, Tejun Heo wrote: Hello, Artem. Can you please apply the following patch on top and see whether anything changes? If it does make the issue go away, can you please revert the ".can_queue" part and test again? Thanks. --- drivers/ata/ahci.h|2 +-

Re: IO errors after "block: remove bio_get_nr_vecs()"

2015-12-21 Thread Kent Overstreet
On Tue, Dec 22, 2015 at 05:26:12AM +, Junichi Nomura wrote: > On 12/22/15 12:59, Kent Overstreet wrote: > > reproduced it with 32 bit pae: > > > >> 1. Exclude memory above 4G line with boot param "max_addr=4G". > > > > doesn't work - max_addr=1G doesn't work either > > > >> 2. Disable

Re: IO errors after "block: remove bio_get_nr_vecs()"

2015-12-21 Thread Artem S. Tashkinov
On 2015-12-21 10:23, Linus Torvalds wrote: On Sun, Dec 20, 2015 at 8:47 PM, Linus Torvalds wrote: That said, we obviously need to figure out this current problem regardless first.. ... although maybe it *would* be interesting to hear what happens if you just

Re: IO errors after "block: remove bio_get_nr_vecs()"

2015-12-21 Thread Kent Overstreet
On Tue, Dec 22, 2015 at 05:26:12AM +, Junichi Nomura wrote: > On 12/22/15 12:59, Kent Overstreet wrote: > > reproduced it with 32 bit pae: > > > >> 1. Exclude memory above 4G line with boot param "max_addr=4G". > > > > doesn't work - max_addr=1G doesn't work either > > > >> 2. Disable

Re: IO errors after "block: remove bio_get_nr_vecs()"

2015-12-21 Thread Kent Overstreet
On Tue, Dec 22, 2015 at 10:59:09AM +0500, Artem S. Tashkinov wrote: > On 2015-12-22 10:55, Kent Overstreet wrote: > >On Tue, Dec 22, 2015 at 10:52:37AM +0500, Artem S. Tashkinov wrote: > >>On 2015-12-22 10:38, Kent Overstreet wrote: > >>>On Tue, Dec 22, 2015 at 05:26:12AM +, Junichi Nomura

Re: IO errors after "block: remove bio_get_nr_vecs()"

2015-12-21 Thread Junichi Nomura
On 12/22/15 12:59, Kent Overstreet wrote: > reproduced it with 32 bit pae: > >> 1. Exclude memory above 4G line with boot param "max_addr=4G". > > doesn't work - max_addr=1G doesn't work either > >> 2. Disable highmem with "highmem=0". > > works! > >> 3. Try booting 64bit kernel. > > works

Re: IO errors after "block: remove bio_get_nr_vecs()"

2015-12-21 Thread Artem S. Tashkinov
On 2015-12-22 10:55, Kent Overstreet wrote: On Tue, Dec 22, 2015 at 10:52:37AM +0500, Artem S. Tashkinov wrote: On 2015-12-22 10:38, Kent Overstreet wrote: >On Tue, Dec 22, 2015 at 05:26:12AM +, Junichi Nomura wrote: >>On 12/22/15 12:59, Kent Overstreet wrote: >>> reproduced it with 32 bit

Re: IO errors after "block: remove bio_get_nr_vecs()"

2015-12-21 Thread Artem S. Tashkinov
On 2015-12-22 10:38, Kent Overstreet wrote: On Tue, Dec 22, 2015 at 05:26:12AM +, Junichi Nomura wrote: On 12/22/15 12:59, Kent Overstreet wrote: > reproduced it with 32 bit pae: > >> 1. Exclude memory above 4G line with boot param "max_addr=4G". > > doesn't work - max_addr=1G doesn't work

Re: IO errors after "block: remove bio_get_nr_vecs()"

2015-12-21 Thread Kent Overstreet
On Tue, Dec 22, 2015 at 10:52:37AM +0500, Artem S. Tashkinov wrote: > On 2015-12-22 10:38, Kent Overstreet wrote: > >On Tue, Dec 22, 2015 at 05:26:12AM +, Junichi Nomura wrote: > >>On 12/22/15 12:59, Kent Overstreet wrote: > >>> reproduced it with 32 bit pae: > >>> > 1. Exclude memory

Re: IO errors after "block: remove bio_get_nr_vecs()"

2015-12-21 Thread Dan Aloni
On Sun, Dec 20, 2015 at 10:41:44AM -0800, Linus Torvalds wrote: >[..] > Sadly, without CONFIG_LOCALVERSION_AUTO, there's no way to match up > the dmesg files (in the same bisection tar-file as the bisection log) > with the actual versions. Perhaps we can print the Git revision in a manner

Re: IO errors after "block: remove bio_get_nr_vecs()"

2015-12-21 Thread Artem S. Tashkinov
On 2015-12-22 01:07, Tejun Heo wrote: Hello, Artem. Can you please apply the following patch on top and see whether anything changes? If it does make the issue go away, can you please revert the ".can_queue" part and test again? Thanks. --- drivers/ata/ahci.h|2 +-

Re: IO errors after "block: remove bio_get_nr_vecs()"

2015-12-20 Thread Artem S. Tashkinov
On 2015-12-21 10:23, Linus Torvalds wrote: On Sun, Dec 20, 2015 at 8:47 PM, Linus Torvalds wrote: That said, we obviously need to figure out this current problem regardless first.. ... although maybe it *would* be interesting to hear what happens if you just compile a 64-bit kernel instead?

Re: IO errors after "block: remove bio_get_nr_vecs()"

2015-12-20 Thread Artem S. Tashkinov
On 2015-12-21 11:55, Tejun Heo wrote: Artem, can you please reproduce the issue with the following patch applied and attach the kernel log? Thanks. I've applied this patch on top of vanilla 4.3.3 kernel (without Linus'es revert). Hopefully it's how you intended it to be. Here's the result

Re: IO errors after "block: remove bio_get_nr_vecs()"

2015-12-20 Thread Tejun Heo
Artem, can you please reproduce the issue with the following patch applied and attach the kernel log? Thanks. --- drivers/ata/libahci.c | 40 ++-- drivers/ata/libata-eh.c |4 drivers/ata/libata-scsi.c |1 + 3 files changed, 43

Re: IO errors after "block: remove bio_get_nr_vecs()"

2015-12-20 Thread Linus Torvalds
On Sun, Dec 20, 2015 at 8:47 PM, Linus Torvalds wrote: > > That said, we obviously need to figure out this current problem > regardless first.. ... although maybe it *would* be interesting to hear what happens if you just compile a 64-bit kernel instead? Do you still see the problem? Because if

Re: IO errors after "block: remove bio_get_nr_vecs()"

2015-12-20 Thread Linus Torvalds
On Sun, Dec 20, 2015 at 8:26 PM, Tejun Heo wrote: > > I wonder whether ahci is screwing up command / sg table setup in a way > that e.g. if there are too many segments the sg table overflows into > the neighboring one which is now being exposed by upper layer being > fixed to send down larger

Re: IO errors after "block: remove bio_get_nr_vecs()"

2015-12-20 Thread Linus Torvalds
On Sun, Dec 20, 2015 at 8:43 PM, Artem S. Tashkinov wrote: > > In the past I happily ran an x86_64 bit kernel together with 32bit userland > for quite some time but then I hit a wall: VirtualBox expects its kernel > modules to have the same bitness as the application itself so I had to > revert

Re: IO errors after "block: remove bio_get_nr_vecs()"

2015-12-20 Thread Artem S. Tashkinov
On 2015-12-21 09:32, Linus Torvalds wrote: On Sun, Dec 20, 2015 at 5:50 PM, Artem S. Tashkinov wrote: P.S. I know Linus doesn't condone PAE but I still find it more preferrable than running a mixed environment with almost zero benefit in regard to performance and quite obvious performance

Re: IO errors after "block: remove bio_get_nr_vecs()"

2015-12-20 Thread Linus Torvalds
On Sun, Dec 20, 2015 at 5:50 PM, Artem S. Tashkinov wrote: > > P.S. I know Linus doesn't condone PAE but I still find it more preferrable > than running a mixed environment with almost zero benefit in regard to > performance and quite obvious performance regressions related to an > increased

Re: IO errors after "block: remove bio_get_nr_vecs()"

2015-12-20 Thread Tejun Heo
Hello, Linus. On Sun, Dec 20, 2015 at 09:51:14AM -0800, Linus Torvalds wrote: ... > (Also Tejun - maybe you can see what's up - maybe that error message > tells you something) Hmmm... all it says is that something went wrong on the PCI side. > I'm not sure what's up with his machine, the disk

Re: IO errors after "block: remove bio_get_nr_vecs()"

2015-12-20 Thread Artem S. Tashkinov
On 2015-12-21 08:21, Ming Lei wrote: On Mon, Dec 21, 2015 at 10:25 AM, Artem S. Tashkinov wrote: # cat /sys/block/sda/queue/{max_hw_sectors_kb,max_sectors_kb,max_segments,max_segment_size} 32767 32767 168 65536 Looks it is fine, then maybe it is related with BIOVEC_PHYS_MERGEABLE(),

Re: IO errors after "block: remove bio_get_nr_vecs()"

2015-12-20 Thread Ming Lei
On Mon, Dec 21, 2015 at 10:25 AM, Artem S. Tashkinov wrote: > # cat > /sys/block/sda/queue/{max_hw_sectors_kb,max_sectors_kb,max_segments,max_segment_size} > 32767 > 32767 > 168 > 65536 Looks it is fine, then maybe it is related with BIOVEC_PHYS_MERGEABLE(), BIOVEC_SEG_BOUNDARY() or sort of

Re: IO errors after "block: remove bio_get_nr_vecs()"

2015-12-20 Thread Kent Overstreet
On Mon, Dec 21, 2015 at 06:50:21AM +0500, Artem S. Tashkinov wrote: > On 2015-12-21 06:38, Ming Lei wrote: > >On Mon, Dec 21, 2015 at 1:51 AM, Linus Torvalds wrote: > >>Kent, Jens, Christoph et al, > >> please see this bugzilla: > >> > >> https://bugzilla.kernel.org/show_bug.cgi?id=109661 > >> >

Re: IO errors after "block: remove bio_get_nr_vecs()"

2015-12-20 Thread Artem S. Tashkinov
On 2015-12-21 07:18, Ming Lei wrote: On Mon, Dec 21, 2015 at 9:50 AM, Artem S. Tashkinov wrote: BTW, I have posted very similar issue in the link: http://marc.info/?l=linux-ide=145066119623811=2 Artem, I noticed from bugzillar that the hardware is i386, just wondering if PAE is enabled? If

Re: IO errors after "block: remove bio_get_nr_vecs()"

2015-12-20 Thread Ming Lei
On Mon, Dec 21, 2015 at 9:50 AM, Artem S. Tashkinov wrote: >> BTW, I have posted very similar issue in the link: >> >> http://marc.info/?l=linux-ide=145066119623811=2 >> >> Artem, I noticed from bugzillar that the hardware is i386, just >> wondering if PAE is enabled? If yes, I am more confident

Re: IO errors after "block: remove bio_get_nr_vecs()"

2015-12-20 Thread Artem S. Tashkinov
On 2015-12-21 06:38, Ming Lei wrote: On Mon, Dec 21, 2015 at 1:51 AM, Linus Torvalds wrote: Kent, Jens, Christoph et al, please see this bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=109661 where Artem Tashkinov bisected his problems with 4.3 down to commit b54ffb73cadc ("block:

Re: IO errors after "block: remove bio_get_nr_vecs()"

2015-12-20 Thread Ming Lei
On Mon, Dec 21, 2015 at 1:51 AM, Linus Torvalds wrote: > Kent, Jens, Christoph et al, > please see this bugzilla: > > https://bugzilla.kernel.org/show_bug.cgi?id=109661 > > where Artem Tashkinov bisected his problems with 4.3 down to commit > b54ffb73cadc ("block: remove bio_get_nr_vecs()")

Re: IO errors after "block: remove bio_get_nr_vecs()"

2015-12-20 Thread Artem S. Tashkinov
On 2015-12-21 04:42, Kent Overstreet wrote: On Mon, Dec 21, 2015 at 04:25:12AM +0500, Artem S. Tashkinov wrote: On 2015-12-20 23:18, Christoph Hellwig wrote: >On Sun, Dec 20, 2015 at 09:51:14AM -0800, Linus Torvalds wrote: >>Kent, Jens, Christoph et al, >> please see this bugzilla: >> >>

Re: IO errors after "block: remove bio_get_nr_vecs()"

2015-12-20 Thread Kent Overstreet
On Mon, Dec 21, 2015 at 04:25:12AM +0500, Artem S. Tashkinov wrote: > On 2015-12-20 23:18, Christoph Hellwig wrote: > >On Sun, Dec 20, 2015 at 09:51:14AM -0800, Linus Torvalds wrote: > >>Kent, Jens, Christoph et al, > >> please see this bugzilla: > >> > >>

Re: IO errors after "block: remove bio_get_nr_vecs()"

2015-12-20 Thread Artem S. Tashkinov
On 2015-12-20 23:44, Kent Overstreet wrote: On Sun, Dec 20, 2015 at 07:18:01PM +0100, Christoph Hellwig wrote: On Sun, Dec 20, 2015 at 09:51:14AM -0800, Linus Torvalds wrote: > Kent, Jens, Christoph et al, ie please see this bugzilla: >o > httpps://bugzilla.kernel.org/show_bug.cgi?id=109661

Re: IO errors after "block: remove bio_get_nr_vecs()"

2015-12-20 Thread Artem S. Tashkinov
On 2015-12-20 23:41, Linus Torvalds wrote: On Sun, Dec 20, 2015 at 10:18 AM, Christoph Hellwig wrote: Artem, can you re-check the commits around this series again? I would be extremtly surprised if it's really this particular commit and not one just before it causing the problem - it just

Re: IO errors after "block: remove bio_get_nr_vecs()"

2015-12-20 Thread Artem S. Tashkinov
On 2015-12-20 23:18, Christoph Hellwig wrote: On Sun, Dec 20, 2015 at 09:51:14AM -0800, Linus Torvalds wrote: Kent, Jens, Christoph et al, please see this bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=109661 where Artem Tashkinov bisected his problems with 4.3 down to commit

Re: IO errors after "block: remove bio_get_nr_vecs()"

2015-12-20 Thread Artem S. Tashkinov
On 2015-12-20 22:51, Linus Torvalds wrote: Kent, Jens, Christoph et al, please see this bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=109661 where Artem Tashkinov bisected his problems with 4.3 down to commit b54ffb73cadc ("block: remove bio_get_nr_vecs()") that you've all signed

Re: IO errors after "block: remove bio_get_nr_vecs()"

2015-12-20 Thread Kent Overstreet
On Sun, Dec 20, 2015 at 07:18:01PM +0100, Christoph Hellwig wrote: > On Sun, Dec 20, 2015 at 09:51:14AM -0800, Linus Torvalds wrote: > > Kent, Jens, Christoph et al, > ie please see this bugzilla: > >o > > httpps://bugzilla.kernel.org/show_bug.cgi?id=109661 > > > > where Artem Tashkinov

Re: IO errors after "block: remove bio_get_nr_vecs()"

2015-12-20 Thread Linus Torvalds
On Sun, Dec 20, 2015 at 10:18 AM, Christoph Hellwig wrote: > > Artem, > > can you re-check the commits around this series again? I would be > extremtly surprised if it's really this particular commit and not > one just before it causing the problem - it just allocates bios > to the biggest

Re: IO errors after "block: remove bio_get_nr_vecs()"

2015-12-20 Thread Christoph Hellwig
On Sun, Dec 20, 2015 at 09:51:14AM -0800, Linus Torvalds wrote: > Kent, Jens, Christoph et al, > please see this bugzilla: > > https://bugzilla.kernel.org/show_bug.cgi?id=109661 > > where Artem Tashkinov bisected his problems with 4.3 down to commit > b54ffb73cadc ("block: remove

IO errors after "block: remove bio_get_nr_vecs()"

2015-12-20 Thread Linus Torvalds
Kent, Jens, Christoph et al, please see this bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=109661 where Artem Tashkinov bisected his problems with 4.3 down to commit b54ffb73cadc ("block: remove bio_get_nr_vecs()") that you've all signed off on. (Also Tejun - maybe you can see what's

Re: IO errors after "block: remove bio_get_nr_vecs()"

2015-12-20 Thread Artem S. Tashkinov
On 2015-12-21 04:42, Kent Overstreet wrote: On Mon, Dec 21, 2015 at 04:25:12AM +0500, Artem S. Tashkinov wrote: On 2015-12-20 23:18, Christoph Hellwig wrote: >On Sun, Dec 20, 2015 at 09:51:14AM -0800, Linus Torvalds wrote: >>Kent, Jens, Christoph et al, >> please see this bugzilla: >> >>

Re: IO errors after "block: remove bio_get_nr_vecs()"

2015-12-20 Thread Linus Torvalds
On Sun, Dec 20, 2015 at 5:50 PM, Artem S. Tashkinov wrote: > > P.S. I know Linus doesn't condone PAE but I still find it more preferrable > than running a mixed environment with almost zero benefit in regard to > performance and quite obvious performance regressions related to

Re: IO errors after "block: remove bio_get_nr_vecs()"

2015-12-20 Thread Artem S. Tashkinov
On 2015-12-20 23:41, Linus Torvalds wrote: On Sun, Dec 20, 2015 at 10:18 AM, Christoph Hellwig wrote: Artem, can you re-check the commits around this series again? I would be extremtly surprised if it's really this particular commit and not one just before it causing the problem - it just

Re: IO errors after "block: remove bio_get_nr_vecs()"

2015-12-20 Thread Ming Lei
On Mon, Dec 21, 2015 at 9:50 AM, Artem S. Tashkinov wrote: >> BTW, I have posted very similar issue in the link: >> >> http://marc.info/?l=linux-ide=145066119623811=2 >> >> Artem, I noticed from bugzillar that the hardware is i386, just >> wondering if PAE is enabled? If yes,

Re: IO errors after "block: remove bio_get_nr_vecs()"

2015-12-20 Thread Artem S. Tashkinov
On 2015-12-21 08:21, Ming Lei wrote: On Mon, Dec 21, 2015 at 10:25 AM, Artem S. Tashkinov wrote: # cat /sys/block/sda/queue/{max_hw_sectors_kb,max_sectors_kb,max_segments,max_segment_size} 32767 32767 168 65536 Looks it is fine, then maybe it is related with BIOVEC_PHYS_MERGEABLE(),

Re: IO errors after "block: remove bio_get_nr_vecs()"

2015-12-20 Thread Linus Torvalds
On Sun, Dec 20, 2015 at 8:26 PM, Tejun Heo wrote: > > I wonder whether ahci is screwing up command / sg table setup in a way > that e.g. if there are too many segments the sg table overflows into > the neighboring one which is now being exposed by upper layer being > fixed to

Re: IO errors after "block: remove bio_get_nr_vecs()"

2015-12-20 Thread Tejun Heo
Artem, can you please reproduce the issue with the following patch applied and attach the kernel log? Thanks. --- drivers/ata/libahci.c | 40 ++-- drivers/ata/libata-eh.c |4 drivers/ata/libata-scsi.c |1 + 3 files changed, 43

Re: IO errors after "block: remove bio_get_nr_vecs()"

2015-12-20 Thread Artem S. Tashkinov
On 2015-12-21 09:32, Linus Torvalds wrote: On Sun, Dec 20, 2015 at 5:50 PM, Artem S. Tashkinov wrote: P.S. I know Linus doesn't condone PAE but I still find it more preferrable than running a mixed environment with almost zero benefit in regard to performance and quite obvious performance

Re: IO errors after "block: remove bio_get_nr_vecs()"

2015-12-20 Thread Artem S. Tashkinov
On 2015-12-20 23:44, Kent Overstreet wrote: On Sun, Dec 20, 2015 at 07:18:01PM +0100, Christoph Hellwig wrote: On Sun, Dec 20, 2015 at 09:51:14AM -0800, Linus Torvalds wrote: > Kent, Jens, Christoph et al, ie please see this bugzilla: >o > httpps://bugzilla.kernel.org/show_bug.cgi?id=109661

Re: IO errors after "block: remove bio_get_nr_vecs()"

2015-12-20 Thread Kent Overstreet
On Mon, Dec 21, 2015 at 04:25:12AM +0500, Artem S. Tashkinov wrote: > On 2015-12-20 23:18, Christoph Hellwig wrote: > >On Sun, Dec 20, 2015 at 09:51:14AM -0800, Linus Torvalds wrote: > >>Kent, Jens, Christoph et al, > >> please see this bugzilla: > >> > >>

Re: IO errors after "block: remove bio_get_nr_vecs()"

2015-12-20 Thread Ming Lei
On Mon, Dec 21, 2015 at 10:25 AM, Artem S. Tashkinov wrote: > # cat > /sys/block/sda/queue/{max_hw_sectors_kb,max_sectors_kb,max_segments,max_segment_size} > 32767 > 32767 > 168 > 65536 Looks it is fine, then maybe it is related with BIOVEC_PHYS_MERGEABLE(),

Re: IO errors after "block: remove bio_get_nr_vecs()"

2015-12-20 Thread Linus Torvalds
On Sun, Dec 20, 2015 at 8:43 PM, Artem S. Tashkinov wrote: > > In the past I happily ran an x86_64 bit kernel together with 32bit userland > for quite some time but then I hit a wall: VirtualBox expects its kernel > modules to have the same bitness as the application itself so

Re: IO errors after "block: remove bio_get_nr_vecs()"

2015-12-20 Thread Ming Lei
On Mon, Dec 21, 2015 at 1:51 AM, Linus Torvalds wrote: > Kent, Jens, Christoph et al, > please see this bugzilla: > > https://bugzilla.kernel.org/show_bug.cgi?id=109661 > > where Artem Tashkinov bisected his problems with 4.3 down to commit > b54ffb73cadc

Re: IO errors after "block: remove bio_get_nr_vecs()"

2015-12-20 Thread Artem S. Tashkinov
On 2015-12-20 22:51, Linus Torvalds wrote: Kent, Jens, Christoph et al, please see this bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=109661 where Artem Tashkinov bisected his problems with 4.3 down to commit b54ffb73cadc ("block: remove bio_get_nr_vecs()") that you've all signed

Re: IO errors after "block: remove bio_get_nr_vecs()"

2015-12-20 Thread Artem S. Tashkinov
On 2015-12-20 23:18, Christoph Hellwig wrote: On Sun, Dec 20, 2015 at 09:51:14AM -0800, Linus Torvalds wrote: Kent, Jens, Christoph et al, please see this bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=109661 where Artem Tashkinov bisected his problems with 4.3 down to commit

Re: IO errors after "block: remove bio_get_nr_vecs()"

2015-12-20 Thread Artem S. Tashkinov
On 2015-12-21 06:38, Ming Lei wrote: On Mon, Dec 21, 2015 at 1:51 AM, Linus Torvalds wrote: Kent, Jens, Christoph et al, please see this bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=109661 where Artem Tashkinov bisected his problems with 4.3 down to commit b54ffb73cadc ("block:

Re: IO errors after "block: remove bio_get_nr_vecs()"

2015-12-20 Thread Artem S. Tashkinov
On 2015-12-21 07:18, Ming Lei wrote: On Mon, Dec 21, 2015 at 9:50 AM, Artem S. Tashkinov wrote: BTW, I have posted very similar issue in the link: http://marc.info/?l=linux-ide=145066119623811=2 Artem, I noticed from bugzillar that the hardware is i386, just wondering if PAE is enabled? If

Re: IO errors after "block: remove bio_get_nr_vecs()"

2015-12-20 Thread Kent Overstreet
On Mon, Dec 21, 2015 at 06:50:21AM +0500, Artem S. Tashkinov wrote: > On 2015-12-21 06:38, Ming Lei wrote: > >On Mon, Dec 21, 2015 at 1:51 AM, Linus Torvalds wrote: > >>Kent, Jens, Christoph et al, > >> please see this bugzilla: > >> > >> https://bugzilla.kernel.org/show_bug.cgi?id=109661 > >> >

Re: IO errors after "block: remove bio_get_nr_vecs()"

2015-12-20 Thread Tejun Heo
Hello, Linus. On Sun, Dec 20, 2015 at 09:51:14AM -0800, Linus Torvalds wrote: ... > (Also Tejun - maybe you can see what's up - maybe that error message > tells you something) Hmmm... all it says is that something went wrong on the PCI side. > I'm not sure what's up with his machine, the disk

Re: IO errors after "block: remove bio_get_nr_vecs()"

2015-12-20 Thread Linus Torvalds
On Sun, Dec 20, 2015 at 8:47 PM, Linus Torvalds wrote: > > That said, we obviously need to figure out this current problem > regardless first.. ... although maybe it *would* be interesting to hear what happens if you just compile a 64-bit kernel instead? Do you

Re: IO errors after "block: remove bio_get_nr_vecs()"

2015-12-20 Thread Christoph Hellwig
On Sun, Dec 20, 2015 at 09:51:14AM -0800, Linus Torvalds wrote: > Kent, Jens, Christoph et al, > please see this bugzilla: > > https://bugzilla.kernel.org/show_bug.cgi?id=109661 > > where Artem Tashkinov bisected his problems with 4.3 down to commit > b54ffb73cadc ("block: remove

Re: IO errors after "block: remove bio_get_nr_vecs()"

2015-12-20 Thread Linus Torvalds
On Sun, Dec 20, 2015 at 10:18 AM, Christoph Hellwig wrote: > > Artem, > > can you re-check the commits around this series again? I would be > extremtly surprised if it's really this particular commit and not > one just before it causing the problem - it just allocates bios > to the

Re: IO errors after "block: remove bio_get_nr_vecs()"

2015-12-20 Thread Kent Overstreet
On Sun, Dec 20, 2015 at 07:18:01PM +0100, Christoph Hellwig wrote: > On Sun, Dec 20, 2015 at 09:51:14AM -0800, Linus Torvalds wrote: > > Kent, Jens, Christoph et al, > ie please see this bugzilla: > >o > > httpps://bugzilla.kernel.org/show_bug.cgi?id=109661 > > > > where Artem Tashkinov

Re: IO errors after "block: remove bio_get_nr_vecs()"

2015-12-20 Thread Artem S. Tashkinov
On 2015-12-21 11:55, Tejun Heo wrote: Artem, can you please reproduce the issue with the following patch applied and attach the kernel log? Thanks. I've applied this patch on top of vanilla 4.3.3 kernel (without Linus'es revert). Hopefully it's how you intended it to be. Here's the result

Re: IO errors after "block: remove bio_get_nr_vecs()"

2015-12-20 Thread Artem S. Tashkinov
On 2015-12-21 10:23, Linus Torvalds wrote: On Sun, Dec 20, 2015 at 8:47 PM, Linus Torvalds wrote: That said, we obviously need to figure out this current problem regardless first.. ... although maybe it *would* be interesting to hear what happens if you just

IO errors after "block: remove bio_get_nr_vecs()"

2015-12-20 Thread Linus Torvalds
Kent, Jens, Christoph et al, please see this bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=109661 where Artem Tashkinov bisected his problems with 4.3 down to commit b54ffb73cadc ("block: remove bio_get_nr_vecs()") that you've all signed off on. (Also Tejun - maybe you can see what's