On Fri, 2005-09-09 at 14:15 +0300, Pekka J Enberg wrote: > On Fri, 9 Sep 2005, Anton Altaparmakov wrote: > > Also note I only use the ntfs_malloc_nofs() wrapper if I have to. If I > > know how much I am allocating or at least know that the maximum is quite > > small, I use kmalloc() directly. It is pretty much only for the runlist > > allocations that I use the wrapper as the runlist is typically small but > > for fragmented files it can grow huge. I have seen runlists consuming > > over 256kiB of ram, without vmalloc that would be a real problem... > > So things like > > rl = ntfs_malloc_nofs(rlsize = PAGE_SIZE); > > should be changed to kmalloc(), right?
They could be but I would rather not. What if one day I decide to change how ntfs_malloc_nofs() works? Then it would be needed to carefully go through the whole driver looking for places where kmalloc is used and change those, too. >From a software design point of view you should never mix interfaces when accessing an object if you want clean and maintainable code. And using kmalloc() sometimes and ntfs_malloc_nofs() at other times for the same object would violate that. The wrapper is a static inline so I would assume gcc can optimize away everything when a constant size is passed in like in the example you point out above. Best regards, Anton -- Anton Altaparmakov <aia21 at cam.ac.uk> (replace at with @) Unix Support, Computing Service, University of Cambridge, CB2 3QH, UK Linux NTFS maintainer / IRC: #ntfs on irc.freenode.net WWW: http://linux-ntfs.sf.net/ & http://www-stu.christs.cam.ac.uk/~aia21/ - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/