iSCSI in 7.0

Danny Braniss danny at cs.huji.ac.il
Sat Nov 10 04:59:35 PST 2007


> Ivan Voras wrote:
> > James Mansion wrote:
> > 
> >> So I guess the question really is - are you saying that in this case
> >> all kernel memory is non-pageable - or that you know that for the
> >> IP stack and iSCSI initiator, all the memory is non-pageable?
> > 
> > If you don't get a definite answer here, you might want to ask that
> > particular questions on hackers @ freebsd.org or architecture @
> > freebsd.org to get a wider audience of people who deal with low-level
> > systems like the VM.
> > 
> 
> Kernel text (executable code) and kernel data (malloc, zone, and module
> data segment memory) are non-pageable.  Kernel stacks used to be
> pageable, but there was discussion some time ago about removing that
> feature and I don't recall the outcome.
> 
> The real danger to memory deadlocks is mallocing in the I/O path.  Even
> though kernel memory isn't pageable, the VM may need to page out some
> userland pages to satisfy a malloc.  If that page-out goes through an
> I/O path that also needs to do a malloc, you get a deadlock.
> 
> The CAM layer is free of these deadlocks, as are most storage drivers.
> I don't know if the iscsi-initiator driver is or not, I haven't
> inspected it closely for this. 

the iscsi-initiator does some malloc's but very early in the initialization
process.

>				 Unfortunately, the GEOM block layer is
> not free of this deadlock, so this whole discussion is mostly academic
> (the GEOM problem is small and very hard to trigger since it uses the
> zone allocator, but problems have been observed in real-world
> situations, which is a shame).
> 
> Scott
> _______________________________________________
> freebsd-scsi at freebsd.org mailing list
> http://lists.freebsd.org/mailman/listinfo/freebsd-scsi
> To unsubscribe, send any mail to "freebsd-scsi-unsubscribe at freebsd.org"
> 




More information about the freebsd-scsi mailing list