[lkml]   [2003]   [Mar]   [30]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
    SubjectRe: 64-bit kdev_t - just for playing
    Followup to:  <>
    By author:
    In newsgroup:
    > >> Maybe I should send another patch tonight, just for playing.
    > > Please, I'd like that.
    > Below a random version of kdev_t.h.
    > (The file is smaller than the patch.)
    > kdev_t is the kernel-internal representation
    > dev_t is the kernel idea of the user space representation
    > (of course glibc uses 64 bits, split up as 8+8 :-)
    > kdev_t can be equal to dev_t.
    > The file below completely randomly makes kdev_t
    > 64 bits, split up 32+32, and dev_t 32 bits, split up 12+20.

    I have a few brief questions:

    a) Along all of these you have assumed that it's more efficient to
    have a separate type (kdev_t) for kernel-internal "decoded" device number
    handling, as opposed to "encoded" device number handling. At some
    point, however, it ends up being a struct char_dev * or struct
    block_dev *. How big is this gap and does it really make sense
    introducing a special type for it?

    b) If we do have such a type, would it make more sense to have cdev_t
    and bdev_t, and have per-type distinction of block- versus charness?

    c) If we do have such a type, any reason to have it be a "unsigned
    long long" (really should be u64), instead of "u32 major; u32 minor;"?

    <> at work, <> in private!
    "Unix gives you enough rope to shoot yourself in the foot."
    Architectures needed: ia64 m68k mips64 ppc ppc64 s390 s390x sh v850 x86-64
    To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
    the body of a message to
    More majordomo info at
    Please read the FAQ at

     \ /
      Last update: 2005-03-22 13:34    [W:0.023 / U:4.020 seconds]
    ©2003-2017 Jasper Spaans. hosted at Digital OceanAdvertise on this site