Nishanth Aravamudan wrote: > Hi, > > At the recommendation of Pat Mansfield, I'm posting this issue to > linux-scsi. I have run into a big problem with the scsi_debug driver > which is causing my machine to hang. > > I was finally able to get a large number (10000) of scsi_debug disks via > modprobe (no partitioning, no mounting, no fs), so I decided to go ahead > and try to continue the experiment. I found that I was not able to ls in > a mounted directory from one of the scsi_debug disks. In the chance that > it was somehow due to the high number of disks present, I tried just > > modprobe scsi_debug > > so that I would only get one disk. I then ran these commands [0]. I did > not set the SCSI logging on until the last moment, after I synced the > existent SCSI disks in the machine (there are two actual SCSI disks) > [1]. I found that the ls command never fails to hang (although sometimes > it will not hang immediately, I have to > > cd lost+found > > first. Interestingly, if the machine does not have highmem (i.e. less > than 896 MB of RAM) or the kernel is booted with mem=800 (or some other > number less than 896), the problem dissappears. I had to put the check > in my patch in for the NULL dereference, as it would cause a > segmentation fault otherwise. I'm guessing that is where the problem may > be, as the NULL-check was not there before (an assumption that it > (scatg2virt) would always work?). Nishanth, So this problem seems related to highmem. The attachment is against the current scsi_debug driver (at least in lk 2.6.9-rc4). It uses dma_map_sg() and friends together with phys_to_virt() which comes highly recommended: "in almost all conceivable cases a device driver should not be using this function" :-) Could you try the patch. Perhaps others my be able to answer this: is setting scsi_host_template::dma_boundary (to some figure other than 0xffffffff) going to help in this case? Doug Gilbert