*** tpb <[email protected]> has joined #litex | 00:00 | |
*** TMM_ <[email protected]> has quit IRC (Quit: https://quassel-irc.org - Chat comfortably. Anywhere.) | 00:48 | |
*** TMM_ <[email protected]> has joined #litex | 00:48 | |
*** Flea86 <Flea86!~maomao@user/Flea86> has quit IRC (Read error: Connection reset by peer) | 01:00 | |
*** Flea86 <Flea86!~maomao@user/Flea86> has joined #litex | 01:01 | |
*** pbsds <[email protected]> has quit IRC (Quit: The Lounge - https://thelounge.chat) | 02:59 | |
*** pbsds <[email protected]> has joined #litex | 02:59 | |
*** Degi <[email protected]> has quit IRC (Ping timeout: 240 seconds) | 03:39 | |
*** Degi <[email protected]> has joined #litex | 03:40 | |
*** so-offish <so-offish!~so-offish@2610:148:610:2b11::a> has quit IRC (Ping timeout: 260 seconds) | 06:14 | |
*** FabM <[email protected]> has joined #litex | 06:27 | |
geertu | somlo: nsectors? | 06:40 |
---|---|---|
*** Foxyloxy <Foxyloxy!~foxyloxy@cpc151593-shef16-2-0-cust343.17-1.cable.virginm.net> has quit IRC (Ping timeout: 258 seconds) | 07:32 | |
somlo | geertu: thanks! I was about to give up and go with sector_count (underscore proliferation be damned :) but I'm seriously warming up to nsectors... | 12:08 |
geertu | somlo: There are almost as many users of nsectors as sector_count in the Linux kernel sources | 12:10 |
somlo | geertu: I should have thought of grep-ing through the Linux kernel sources :) | 13:08 |
somlo | geertu: on a somewhat related topic: now that I have multi-sector DMA working in "bare metal" mode, I'm getting weird lock-ups when trying to umount an ext4 partition in linux with the litesata driver, and I'm wondering: the `submit_bio` method of a `block_device_operations` -- do I need to worry about multiple invocations of it interleaving (i.e., adding locking so that only one DMA transfer can take place, atomically, at any given time)? | 13:11 |
somlo | It feels like that's the most likely reason things get messed up (given how the bare-metal "single-thread" tests seem solid) | 13:11 |
geertu | somlo: Documentation/filesystems/locking.rst does not seem to document all block_device_operations methods | 13:34 |
somlo | I'll run some tests, try to "catch" it in the act if multiple requests are interleaved | 13:35 |
somlo | of course I may still have a bug in the gateware -- guess I need to keep testing a bit longer | 13:36 |
geertu | somlo: ps3vram_submit_bio() suggests it can be called while a bio is in progress | 13:38 |
geertu | somlo: BTW, why is litesata a block device driver, and not an ata driver? | 13:44 |
geertu | I know ps3disk is also a block device driver, but there was a good reason for that (which I forgot ;-) | 13:46 |
somlo | geertu: it's a block device driver (its "sata-ness" is encapsulated mostly in the gateware layer) | 13:54 |
*** Foxyloxy <Foxyloxy!~foxyloxy@cpc151593-shef16-2-0-cust343.17-1.cable.virginm.net> has joined #litex | 13:57 | |
*** so-offish <[email protected]> has joined #litex | 14:05 | |
*** Flea86 <Flea86!~maomao@user/Flea86> has quit IRC (Quit: Leaving) | 14:16 | |
*** Flea86 <Flea86!~maomao@user/Flea86> has joined #litex | 14:21 | |
somlo | added a `dev_info` before starting a DMA operation and right after the irq handler woke up the `wait_for_completion` at the end of the transfer | 14:46 |
somlo | start: s:4212416 c:8 a:810c5000 | 14:47 |
somlo | done: s:4212416 c:8 a:810c5000 | 14:47 |
somlo | 14:47 | |
somlo | start: s:4212424 c:8 a:810c5000 | 14:47 |
somlo | start: s:243533824 c:8 a:82bae000 | 14:47 |
somlo | done: s:243533824 c:8 a:82bae000 | 14:47 |
somlo | 14:47 | |
somlo | start: s:4270576 c:8 a:820a9000 | 14:47 |
somlo | done: s:4270576 c:8 a:820a9000 | 14:47 |
somlo | 14:47 | |
somlo | done: s:4212424 c:8 a:810c5000 | 14:47 |
somlo | 14:47 | |
somlo | start: s:4212432 c:8 a:810c5000 | 14:47 |
somlo | start: s:4204912 c:8 a:820ac000 | 14:47 |
somlo | done: s:4212432 c:8 a:810c5000 | 14:47 |
somlo | 14:47 | |
somlo | done: s:4204912 c:8 a:820ac000 | 14:47 |
somlo | 14:47 | |
somlo | start: s:4212440 c:8 a:810c5000 | 14:47 |
somlo | done: s:4212440 c:8 a:810c5000 | 14:47 |
somlo | doesn't happen often, but it does happen, so yes, I think I need a mutex around each multi-block DMA xfer... | 14:47 |
somlo | I'm a bit surprised I'm not getting errors from the gateware when this happens, though... | 14:48 |
*** so-offishul <so-offishul!~so-offish@2610:148:610:2b11::a> has joined #litex | 14:55 | |
*** so-offish <[email protected]> has quit IRC (Ping timeout: 246 seconds) | 14:58 | |
geertu | somlo: Just keep a list of bios, and queue a new request when still busy, cfr. ps3vram_submit_bio()? | 15:18 |
*** FabM <FabM!~FabM@armadeus/team/FabM> has quit IRC (Quit: Leaving) | 15:27 | |
*** so-offishul <so-offishul!~so-offish@2610:148:610:2b11::a> has quit IRC (Quit: Leaving) | 15:35 | |
*** Finde_ <[email protected]> has joined #litex | 16:14 | |
*** Finde <[email protected]> has quit IRC (Read error: Connection reset by peer) | 16:15 | |
*** so-offish <so-offish!~so-offish@2610:148:610:2b11::a> has joined #litex | 16:31 | |
*** Finde <[email protected]> has joined #litex | 16:36 | |
*** Finde_ <[email protected]> has quit IRC (Read error: Connection reset by peer) | 16:36 | |
*** so-offishul <so-offishul!~so-offish@2610:148:610:2b11::a> has joined #litex | 16:38 | |
*** so-offish <so-offish!~so-offish@2610:148:610:2b11::a> has quit IRC (Ping timeout: 246 seconds) | 16:41 | |
*** Finde <[email protected]> has quit IRC (Read error: Connection reset by peer) | 16:51 | |
*** Finde_ <[email protected]> has joined #litex | 16:52 | |
*** TMM_ <[email protected]> has quit IRC (Quit: https://quassel-irc.org - Chat comfortably. Anywhere.) | 17:03 | |
*** TMM_ <[email protected]> has joined #litex | 17:03 | |
somlo | geertu: I just put a mutex around the function handling an individual DMA transaction for now, which seems to have fixed the problem from a *functional* standpoint | 17:13 |
somlo | I'm going to look into enqueueing requests the way ps3vram does it, maybe that's going to improve performance a bit more | 17:14 |
*** so-offishul <so-offishul!~so-offish@2610:148:610:2b11::a> has quit IRC (Quit: Leaving) | 17:15 |
Generated by irclog2html.py 2.17.2 by Marius Gedminas - find it at https://mg.pov.lt/irclog2html/!