Re: [PATCH] remove sysfs attr_list
On 02/29/2016 10:58 PM, Bart Van Assche wrote: > On 02/28/16 23:59, Hannes Reinecke wrote: >> libudev has a _massive_ static memory footprint >> (Kay doesn't believe in memory allocation). >> So when using libudev you might end up having a really large memory >> footprint due to all the on-stack allocations in there. >> Be especially careful when attempting to use pthreads; debugging stack >> overflow in pthreads is no fun whatsoever. > > That's exactly the reason why I never allocate large data structures on > the stack in applications I write myself and why I use dynamic memory > allocation for large data structures. To make sure that such large stack > allocations get detected I set the stack size to a low value: > > pthread_attr_t attr; > pthread_attr_init(&attr); > pthread_attr_setstacksize(&attr, PTHREAD_STACK_MIN); > pthread_create(..., &attr, ..., ...); > Oh, I don't need to detect them. I know exactly where they are. But precisely that is a design goal of the libudev code, so any patches trying to fix that up will be discarded out-of-hand :-( Cheers, Hannes -- Dr. Hannes Reinecke zSeries & Storage h...@suse.de +49 911 74053 688 SUSE LINUX Products GmbH, Maxfeldstr. 5, 90409 Nürnberg GF: J. Hawn, J. Guild, F. Imendörffer, HRB 16746 (AG Nürnberg) -- You received this message because you are subscribed to the Google Groups "open-iscsi" group. To unsubscribe from this group and stop receiving emails from it, send an email to open-iscsi+unsubscr...@googlegroups.com. To post to this group, send email to open-iscsi@googlegroups.com. Visit this group at https://groups.google.com/group/open-iscsi. For more options, visit https://groups.google.com/d/optout.
Re: [PATCH] remove sysfs attr_list
On Wed, Feb 17, 2016 at 03:01:36PM -0800, Chris Leech wrote: > The global cache is not well designed, it quickly can grow to the point > where lookups take much longer than just doing the sysfs read in the > first place. This patch has problems, the sysfs_attr_get_value changes are wrong when attempting to read an attribute that doesn't exist. It returns the result of calling strdup on random stack data, I'm not sure what I was thinking. Better version soon. - Chris -- You received this message because you are subscribed to the Google Groups "open-iscsi" group. To unsubscribe from this group and stop receiving emails from it, send an email to open-iscsi+unsubscr...@googlegroups.com. To post to this group, send email to open-iscsi@googlegroups.com. Visit this group at https://groups.google.com/group/open-iscsi. For more options, visit https://groups.google.com/d/optout.
Re: [PATCH] remove sysfs attr_list
On 02/28/16 23:59, Hannes Reinecke wrote: libudev has a _massive_ static memory footprint (Kay doesn't believe in memory allocation). So when using libudev you might end up having a really large memory footprint due to all the on-stack allocations in there. Be especially careful when attempting to use pthreads; debugging stack overflow in pthreads is no fun whatsoever. That's exactly the reason why I never allocate large data structures on the stack in applications I write myself and why I use dynamic memory allocation for large data structures. To make sure that such large stack allocations get detected I set the stack size to a low value: pthread_attr_t attr; pthread_attr_init(&attr); pthread_attr_setstacksize(&attr, PTHREAD_STACK_MIN); pthread_create(..., &attr, ..., ...); Bart. -- You received this message because you are subscribed to the Google Groups "open-iscsi" group. To unsubscribe from this group and stop receiving emails from it, send an email to open-iscsi+unsubscr...@googlegroups.com. To post to this group, send email to open-iscsi@googlegroups.com. Visit this group at https://groups.google.com/group/open-iscsi. For more options, visit https://groups.google.com/d/optout.
Re: [PATCH] remove sysfs attr_list
On 02/20/2016 03:41 AM, Chris Leech wrote: > On Thu, Feb 18, 2016 at 06:18:07PM -0600, Mike Christie wrote: >> On 02/17/2016 05:01 PM, Chris Leech wrote: >>> The global cache is not well designed, it quickly can grow to the point >>> where lookups take much longer than just doing the sysfs read in the >>> first place. >> >> Patch looks good. Thanks for working on this. >> >> Is the device cache not as a issue because there are a lot fewer >> devices/cache entries, or because we just to not go down that code path >> as often? > > More of the second I think. It doesn't pop up in a CPU profile, as > session login seems to be dominated by dominated by a mix of VFS > syscalls (mostly stat, lstat and open) now. > > There's a bit of a memory footprint hit for it, more significant to > iscsiadm than iscsid which has much bigger memory costs. With a bit of > testing to ensure it doesn't degrade anything it can probably be removed > as well. > Aah. That triggers bad memories. libudev has a _massive_ static memory footprint (Kay doesn't believe in memory allocation). So when using libudev you might end up having a really large memory footprint due to all the on-stack allocations in there. Be especially careful when attempting to use pthreads; debugging stack overflow in pthreads is no fun whatsoever. Cheers, Hannes -- Dr. Hannes Reinecke zSeries & Storage h...@suse.de +49 911 74053 688 SUSE LINUX Products GmbH, Maxfeldstr. 5, 90409 Nürnberg GF: J. Hawn, J. Guild, F. Imendörffer, HRB 16746 (AG Nürnberg) -- You received this message because you are subscribed to the Google Groups "open-iscsi" group. To unsubscribe from this group and stop receiving emails from it, send an email to open-iscsi+unsubscr...@googlegroups.com. To post to this group, send email to open-iscsi@googlegroups.com. Visit this group at https://groups.google.com/group/open-iscsi. For more options, visit https://groups.google.com/d/optout.