Re: Physbio changes final call for tests and reviews

2013-02-11 Thread Marius Strobl
On Sat, Feb 02, 2013 at 10:47:09PM +0100, Marius Strobl wrote:
 On Sat, Feb 02, 2013 at 06:33:22PM +0200, Konstantin Belousov wrote:
  Hi,
  I finished the last (insignificant) missed bits in the Jeff' physbio
  work. Now I am asking for the last round of testing and review, esp. for
  the !x86 architectures. Another testing focus are the SCSI HBAs and RAID
  controllers which drivers are changed by the patchset. Please do test
  this before the patchset is committed into HEAD !
  
  The plan is to commit the patch somewhere in two weeks from this moment.
  The patch is required for the finalizing of the unmapped I/O work for UFS
  I did in parallel, which I hope to finish shortly after the commit.
  
  Patch is available at http://people.freebsd.org/~kib/misc/physbio.5.diff
  
 
 First tests on sparc64 with ata(4), mpt(4) and sym(4) look good (to
 be sure I still need to test with a machine using a streaming buffer
 in addition to the IOMMU, though).

FYI, the latter case is also fine.

Marius

___
freebsd-current@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-current
To unsubscribe, send any mail to freebsd-current-unsubscr...@freebsd.org


Re: Physbio changes final call for tests and reviews

2013-02-09 Thread Fabian Keil
Konstantin Belousov kostik...@gmail.com wrote:

 I finished the last (insignificant) missed bits in the Jeff' physbio
 work. Now I am asking for the last round of testing and review, esp. for
 the !x86 architectures. Another testing focus are the SCSI HBAs and RAID
 controllers which drivers are changed by the patchset. Please do test
 this before the patchset is committed into HEAD !

I could only test on amd64 without fancy SCSI controllers,
but it works for me.

Fabian


signature.asc
Description: PGP signature


Re: Physbio changes final call for tests and reviews

2013-02-03 Thread Marius Strobl
On Sat, Feb 02, 2013 at 06:33:22PM +0200, Konstantin Belousov wrote:
 Hi,
 I finished the last (insignificant) missed bits in the Jeff' physbio
 work. Now I am asking for the last round of testing and review, esp. for
 the !x86 architectures. Another testing focus are the SCSI HBAs and RAID
 controllers which drivers are changed by the patchset. Please do test
 this before the patchset is committed into HEAD !
 
 The plan is to commit the patch somewhere in two weeks from this moment.
 The patch is required for the finalizing of the unmapped I/O work for UFS
 I did in parallel, which I hope to finish shortly after the commit.
 
 Patch is available at http://people.freebsd.org/~kib/misc/physbio.5.diff
 

Once you bring in said UFS changes, will the use of bus_dmamap_load_ccb(9)
be a requirement for disk controller drivers?

Marius

___
freebsd-current@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-current
To unsubscribe, send any mail to freebsd-current-unsubscr...@freebsd.org


Re: Physbio changes final call for tests and reviews

2013-02-03 Thread Konstantin Belousov
On Sun, Feb 03, 2013 at 04:57:18PM +0100, Marius Strobl wrote:
 On Sat, Feb 02, 2013 at 06:33:22PM +0200, Konstantin Belousov wrote:
  Hi,
  I finished the last (insignificant) missed bits in the Jeff' physbio
  work. Now I am asking for the last round of testing and review, esp. for
  the !x86 architectures. Another testing focus are the SCSI HBAs and RAID
  controllers which drivers are changed by the patchset. Please do test
  this before the patchset is committed into HEAD !
  
  The plan is to commit the patch somewhere in two weeks from this moment.
  The patch is required for the finalizing of the unmapped I/O work for UFS
  I did in parallel, which I hope to finish shortly after the commit.
  
  Patch is available at http://people.freebsd.org/~kib/misc/physbio.5.diff
  
 
 Once you bring in said UFS changes, will the use of bus_dmamap_load_ccb(9)
 be a requirement for disk controller drivers?

Generally speaking, no. I plan to do the gradual migration of the drivers,
definitely not forcing the unmapped bios down to the drivers which are
not tested yet. In the patch, driver indicates the support for unmapped
bios by a DISKFLAG. If flag is set, driver could receive both mapped
and unmapped bios, and use of the bus_dmamap_load_ccb(), while formally
is only convenience, is essentially the requirement.

If driver does not set the flag, it receives the same i/o requests as
it does now. Geom performs transient compat mapping for the unmapped
requests on its own for such drivers. As result, driver does not need
a change.

My plan is to convert ahci(4) and then some often used high-profile drivers
like mfi(4) and mps(4). I can also hope for isci(4) help.

Everything else, IMO, could be done on the best efforts basis, when both
developers time and testing facilities are available. Jeff wanted to do
all driver conversion in one pass, but IMO this is unrealistic. Still, I
started write some helpers which should provide the transient one-page
mappings for PIO modes.

You can look at some previous version of the unmapped patch at
http://people.freebsd.org/~kib/misc/unmapped.8.patch. It only contain a
hack for ahci(4), which should be fixed properly after physbio is committed.


pgpEAa6mdhodq.pgp
Description: PGP signature


Re: Physbio changes final call for tests and reviews

2013-02-03 Thread Marius Strobl
On Sun, Feb 03, 2013 at 06:11:45PM +0200, Konstantin Belousov wrote:
 On Sun, Feb 03, 2013 at 04:57:18PM +0100, Marius Strobl wrote:
  On Sat, Feb 02, 2013 at 06:33:22PM +0200, Konstantin Belousov wrote:
   Hi,
   I finished the last (insignificant) missed bits in the Jeff' physbio
   work. Now I am asking for the last round of testing and review, esp. for
   the !x86 architectures. Another testing focus are the SCSI HBAs and RAID
   controllers which drivers are changed by the patchset. Please do test
   this before the patchset is committed into HEAD !
   
   The plan is to commit the patch somewhere in two weeks from this moment.
   The patch is required for the finalizing of the unmapped I/O work for UFS
   I did in parallel, which I hope to finish shortly after the commit.
   
   Patch is available at http://people.freebsd.org/~kib/misc/physbio.5.diff
   
  
  Once you bring in said UFS changes, will the use of bus_dmamap_load_ccb(9)
  be a requirement for disk controller drivers?
 
 Generally speaking, no. I plan to do the gradual migration of the drivers,
 definitely not forcing the unmapped bios down to the drivers which are
 not tested yet. In the patch, driver indicates the support for unmapped
 bios by a DISKFLAG. If flag is set, driver could receive both mapped
 and unmapped bios, and use of the bus_dmamap_load_ccb(), while formally
 is only convenience, is essentially the requirement.
 
 If driver does not set the flag, it receives the same i/o requests as
 it does now. Geom performs transient compat mapping for the unmapped
 requests on its own for such drivers. As result, driver does not need
 a change.
 
 My plan is to convert ahci(4) and then some often used high-profile drivers
 like mfi(4) and mps(4). I can also hope for isci(4) help.
 
 Everything else, IMO, could be done on the best efforts basis, when both
 developers time and testing facilities are available. Jeff wanted to do
 all driver conversion in one pass, but IMO this is unrealistic. Still, I
 started write some helpers which should provide the transient one-page
 mappings for PIO modes.

Okay

 
 You can look at some previous version of the unmapped patch at
 http://people.freebsd.org/~kib/misc/unmapped.8.patch. It only contain a
 hack for ahci(4), which should be fixed properly after physbio is committed.

Hrm, the changes to the sparc64 pmap code in the latter patch might
need some more attention as some of the functions used for copying
pages there IIRC have constraints on the aligment of source and
destination as well as on the count. Can you say something about
these properties when pmap_copy_page_offs() is called via
pmap_copy_pages()?

Marius

___
freebsd-current@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-current
To unsubscribe, send any mail to freebsd-current-unsubscr...@freebsd.org


Re: Physbio changes final call for tests and reviews

2013-02-03 Thread Konstantin Belousov
On Sun, Feb 03, 2013 at 05:46:24PM +0100, Marius Strobl wrote:
 On Sun, Feb 03, 2013 at 06:11:45PM +0200, Konstantin Belousov wrote:
  On Sun, Feb 03, 2013 at 04:57:18PM +0100, Marius Strobl wrote:
   On Sat, Feb 02, 2013 at 06:33:22PM +0200, Konstantin Belousov wrote:
Hi,
I finished the last (insignificant) missed bits in the Jeff' physbio
work. Now I am asking for the last round of testing and review, esp. for
the !x86 architectures. Another testing focus are the SCSI HBAs and RAID
controllers which drivers are changed by the patchset. Please do test
this before the patchset is committed into HEAD !

The plan is to commit the patch somewhere in two weeks from this moment.
The patch is required for the finalizing of the unmapped I/O work for 
UFS
I did in parallel, which I hope to finish shortly after the commit.

Patch is available at http://people.freebsd.org/~kib/misc/physbio.5.diff

   
   Once you bring in said UFS changes, will the use of bus_dmamap_load_ccb(9)
   be a requirement for disk controller drivers?
  
  Generally speaking, no. I plan to do the gradual migration of the drivers,
  definitely not forcing the unmapped bios down to the drivers which are
  not tested yet. In the patch, driver indicates the support for unmapped
  bios by a DISKFLAG. If flag is set, driver could receive both mapped
  and unmapped bios, and use of the bus_dmamap_load_ccb(), while formally
  is only convenience, is essentially the requirement.
  
  If driver does not set the flag, it receives the same i/o requests as
  it does now. Geom performs transient compat mapping for the unmapped
  requests on its own for such drivers. As result, driver does not need
  a change.
  
  My plan is to convert ahci(4) and then some often used high-profile drivers
  like mfi(4) and mps(4). I can also hope for isci(4) help.
  
  Everything else, IMO, could be done on the best efforts basis, when both
  developers time and testing facilities are available. Jeff wanted to do
  all driver conversion in one pass, but IMO this is unrealistic. Still, I
  started write some helpers which should provide the transient one-page
  mappings for PIO modes.
 
 Okay
 
  
  You can look at some previous version of the unmapped patch at
  http://people.freebsd.org/~kib/misc/unmapped.8.patch. It only contain a
  hack for ahci(4), which should be fixed properly after physbio is committed.
 
 Hrm, the changes to the sparc64 pmap code in the latter patch might
 need some more attention as some of the functions used for copying
 pages there IIRC have constraints on the aligment of source and
 destination as well as on the count. Can you say something about
 these properties when pmap_copy_page_offs() is called via
 pmap_copy_pages()?

There is no constraints on the offsets or length for the
pmap_copy_pages() itself. As a consequence, the only (obvious)
constraint is that cnt = PAGE_SIZE for sparc64 pmap_copy_page_offs(). I
will be glad to obtain the help, both as advise and patch, for any !x86
architecture. For x86 too.

Yes, pmap_copy_pages() is the corner-stone of the data moves needed
when operating on the unmapped buffers. Our current i/o path already
converts user buffers into the page list, but it was enough to use
uiomove_fromphys() so far, because buffers were always mapped. Now,
unmapped buffers provide the other side of the copy with the page list,
so I need operation like pmap_copy_pages().


pgp8ph1NGmjfc.pgp
Description: PGP signature


Physbio changes final call for tests and reviews

2013-02-02 Thread Konstantin Belousov
Hi,
I finished the last (insignificant) missed bits in the Jeff' physbio
work. Now I am asking for the last round of testing and review, esp. for
the !x86 architectures. Another testing focus are the SCSI HBAs and RAID
controllers which drivers are changed by the patchset. Please do test
this before the patchset is committed into HEAD !

The plan is to commit the patch somewhere in two weeks from this moment.
The patch is required for the finalizing of the unmapped I/O work for UFS
I did in parallel, which I hope to finish shortly after the commit.

Patch is available at http://people.freebsd.org/~kib/misc/physbio.5.diff

Thank you in advance.


pgpLMY3ajuk5x.pgp
Description: PGP signature


Re: Physbio changes final call for tests and reviews

2013-02-02 Thread Marius Strobl
On Sat, Feb 02, 2013 at 06:33:22PM +0200, Konstantin Belousov wrote:
 Hi,
 I finished the last (insignificant) missed bits in the Jeff' physbio
 work. Now I am asking for the last round of testing and review, esp. for
 the !x86 architectures. Another testing focus are the SCSI HBAs and RAID
 controllers which drivers are changed by the patchset. Please do test
 this before the patchset is committed into HEAD !
 
 The plan is to commit the patch somewhere in two weeks from this moment.
 The patch is required for the finalizing of the unmapped I/O work for UFS
 I did in parallel, which I hope to finish shortly after the commit.
 
 Patch is available at http://people.freebsd.org/~kib/misc/physbio.5.diff
 

First tests on sparc64 with ata(4), mpt(4) and sym(4) look good (to
be sure I still need to test with a machine using a streaming buffer
in addition to the IOMMU, though).
However, by accident I noticed that your patch (i.e. stock head is
fine) somehow breaks smartd of smartmontools with ata(4):
root@b1k2:/root # smartd
ata3: timeout waiting for write DRQ
The machine just hangs at this point (it's also strange that the above
message is from the PIO rather than from the DMA path).

One note: mjacob@ probably will be annoyed if you don't wrap the
changes to isp(4) in __FreeBSD_version so the same source still
compiles on older ones.

Marius

___
freebsd-current@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-current
To unsubscribe, send any mail to freebsd-current-unsubscr...@freebsd.org