Re: [PATCH 2/3] Sysfs: Allow directories to be populated dynamically

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Matthew Wilcox wrote:
> On Thu, Oct 29, 2009 at 05:20:00PM +0100, Tejun Heo wrote:
>> This will increase the size of struct sysfs_dirent by three pointers
>> which is considerable.  Bloating the size of sysfs_dirent can waste
>> large amount of memory on machines with a lot of disks.
> 
> No it won't.  It's in a union with sysfs_inode_attrs which contains a
> struct iattr, which is at least 52 bytes.

 struct sysfs_dirent {
	 atomic_t		s_count;
	 atomic_t		s_active;
	 struct sysfs_dirent	*s_parent;
	 struct sysfs_dirent	*s_sibling;
	 const char		*s_name;

	 union {
		 struct sysfs_elem_dir		s_dir;
		 struct sysfs_elem_symlink	s_symlink;
		 struct sysfs_elem_attr		s_attr;
		 struct sysfs_elem_bin_attr	s_bin_attr;
	 };

	 unsigned int		s_flags;
	 ino_t			s_ino;
	 umode_t			s_mode;
	 struct sysfs_inode_attrs *s_iattr;
	                          ^^
 };

>> The implementation looks quite scary to me.  Is this the only way to
>> do this?  It it because trying to create individual entries for msix
>> will end up creating too many sysfs entries?  If so, how many are we
>> talking about?
> 
> While that's the original motivation, shrinking the amount of memory
> taken by sysfs overall is a worthwhile achievement, don't you think?

It feels a bit too convoluted to me.  sysfs is already pretty
convoluted and adding yet more convolution would require pretty good
justification, so I'm curious about the numbers.

Thanks.

-- 
tejun
--
To unsubscribe from this list: send the line "unsubscribe linux-pci" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [DMA Engine]     [Linux Coverity]     [Linux USB]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Greybus]

  Powered by Linux